Linux clustered server: Configure the portal to use DB2
View the steps to manually transfer data to the DB2 database you have installed and set up. Follow these steps to transfer WebSphere Portal, and Java Content Repository databases to DB2. As an alternative to the manual database transfer procedure that this topic describes, we can use the configuration wizard to complete the database transfer task. However, we cannot specify all settings through the configuration wizard.For example, regardless of the method used to transfer data, you must run a configuration task to create JMS resources as described in this topic. For this reason, specify the required settings in the appropriate property files before transferring the database with the configuration wizard.
Before beginning:
Ensure that the following prerequisites are met:
- Supported database software is installed.
- Databases and users are set up.
- Prerequisites
- Linux clustered server: Install DB2
- Linux clustered server: Modify DB2 database properties
- Linux clustered server: Create groups and assign users
- Linux clustered server: Create DB2 databases
- Linux clustered server: Set up DB2 automatically or manually
Tips:
- To run these tasks as a non-root user, first run the task...
chown -R non-root_user WebSphereDir
- By default, open_cursors is set to 1500. You may need to increase this value based on the table count in the Java Content Repository schema.
- For JDBC Type 2 drivers, perform additional steps.
See the Type 2 configuration section for more instructions.
- cd WP_PROFILE/ConfigEngine
- Validate configuration properties...
./ConfigEngine.sh validate-database -DWasPassword=foo
Add -DTransferDomainList to the validating task to specify the domains to validate; for example...
-DTransferDomainList=jcr
To validate all domains, do not specify this parameter.
- cd WP_PROFILE/bin
- Stop the WebSphere_Portal server:
./stopServer.sh WebSphere_Portal -username wpadmin -password foo
- Transfer the database:
Important: Do not execute the database-transfer task as a background process. This might cause the task to stall.
- cd WP_PROFILE/ConfigEngine
./ConfigEngine.sh database-transfer -DWasPassword=foo
- Set -DTransferDomainList to include only the domains to transfer.
For example, to transfer only the JCR domain...
./ConfigEngine.sh database-transfer -DTransferDomainList=jcr -DWasPassword=foo
- If you have been storing data in Apache Derby for a long time, database transfer could fail with OutOfMemory exceptions. To fix:
ConfigEngine.bat database-transfer -DDbtJavaMaxMemory=1536M -DWasPassword=foo
- Log output is written to:
WP_PROFILE/ConfigEngine/log/ConfigTrace.log
If the configuration fails, verify the values in the wkplc.properties, wkplc_dbdomain.properties, and wkplc_dbtype.properties files and then repeat this step.
- If dbdomain.DbRuntimeUser is set that user must have sufficient database user privileges:
- To manually grant database user privileges:
- Copy the appropriate template files to a work directory:
- createRuntimeRoleForDifferentSchema.sql
If the name of the database user and the schema name are not the same.
- createRuntimeRoleForSameSchema.sql
If the name of the database user and the schema name are the same.
Files are in the following directories, where dbms is the database management system, and domain represents the database domains we are configuring (release, customization, community, jcr, feedback, and likeminds):
- PORTAL_HOME/base/wp.db.impl/config/templates/setupdb/dbms/domain
- PORTAL_HOME/pzn/prereq.pzn/config/templates/setupdb/dbms/domain
JCR database domain: For the JCR database domain, copy grantPermissionsToRuntimeRoleStatic.sql from the following directory:
PORTAL_HOME/jcr/wp.content.repository.install/config/templates/setupdb/dbms/jcr/grantPermissionsToRuntimeRoleStatic.sql .
- Replace all placeholder values with the values as defined in wkplc_dbdomain.properties. Placeholder values are surrounded by the character @.
- Execute the SQL statements.
- Grant database user privileges:
- Ensure the database administrator user ID is specified for domain.DBA.DbUser in...
WP_PROFILE/ConfigEngine/properties/wkplc_dbdomain.properties
For example, domain.DBA.DbUser=dbadmin.
./ConfigEngine.sh grant-runtime-db-user-privileges -DTransferDomainList=release,customization,community,etc...
You only need to add -DTransferDomainList when granting privileges across specific domains.
- Perform a reorg check to improve performance. Perform this step for each database in the property file.
- Connect to a database:
db2 connect to dbName user db2wpadmin using password
Additional options might be required if additional security has been installed. Refer to DB2 Universal Databaseā¢ commands by example .
- Run the following commands from the DB2 prompt:
db2 reorgchk update statistics on table all > xyz.out
- Look in the reorg column for entries marked with a star or asterisk * in the file xyz.out.
- For each line with *, note the tablename and run the following command for each tablename:
db2 reorg table tablename
- After you have run the reorg command for each tablenames:
db2 terminate
db2rbind database_name -l db2rbind.out -u db2_admin -p password
- The file db2rbind.out is created when there is an error.
- cd WP_PROFILE/bin
- Start the WebSphere Portal server.
If you have additional nodes already configured, compare the following file on all nodes with the file from the primary node. Ensure all instances of the file are identical:
WP_PROFILE/PortalServer/jcr/lib/com/ibm/icm/icm.properties
If the files are not identical, copy icm.properties from the primary node on which you ran the database-transfer task to the node.
- Stop the portal server on the secondary nodes.
- Copy
WP_PROFILE/PortalServer/jcr/lib/com/ibm/icm/icm.properties
from the primary node and replace icm.properties on the secondary nodes.
- Start the portal server on the secondary nodes.
Parent: Linux clustered server: Set up a remote DB2 database
Previous: Linux clustered server: Collecting JCR collation support
Next: Linux clustered server: Enable DB2 pureScale load balancing feature