Linux clustered server: Configure the portal to use Oracle or Oracle RAC
you have installed and set up. Follow these steps to transfer Portal, and Java Content Repository databases to Oracle. As an alternative to the manual database transfer procedure described here, we can use the configuration wizard to complete the database transfer task.
Ensure that the following prerequisites are met:
- Supported database software is installed.
- Databases and users are set up.
- Property files are modified.
- Your databases are UTF compliant. Verify compliance before transferring the databases using the SQL statements in Technote 1317981.
- Prerequisites
- Linux clustered server: Install Oracle or Oracle RAC
- Linux clustered server: Modify Oracle or Oracle RAC database properties
- Linux clustered server: Create Oracle or Oracle RAC databases
- Linux clustered server: Set up Oracle or Oracle RAC automatically or manually
- Technote 1317981
Tips:
- 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 Oracle RAC only:
- The WebSphere Portal server must explicitly connect to one RAC node during database transfer. Specify the information of one Oracle RAC node as if it is the only database server.
For example, the Oracle database URL should look like the following:
jdbc:oracle:thin:@primary_node_host:1521:primary_node_instance
When database transfer is completed, the WebSphere Portal server will be configured to use this single database server.
- When doing a single database, single user, and multi schema database transfer, there can be only one user for each domain (release, community, customization, JCR, Feedback, and LikeMinds), and the schema for each database must be different. The user must be a superuser or DBA and must have authority over all other schemas for the transfer to work.
When doing a single database, single user, and multi schema database transfer, there can be only one user for each domain (release, community, customization, JCR, Feedback, and LikeMinds), and the schema for each database must be different. The user must be a superuser or DBA and must have authority over all other schemas for the transfer to work.
- 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
We can include only the domains to transfer.
For example, to transfer only the JCR domain...
./ConfigEngine.sh database-transfer -DTransferDomainList=jcr -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.
- After transferring the database tables, to avoid slow database response:
Start sqlplus and log in to the jcr.DbName database as the jcr.DbUser SQL> execute dbms_stats.gather_schema_stats(ownname=> 'jcr.DbUser', cascade=> TRUE); SQL > commit; Exit sqlplusReference wkplc_dbdomain.properties for jcrDbName and jcr.DbUser values.
- cd WP_PROFILE/bin
- Start the WebSphere Portal server.
- (Oracle RAC only) Manually specify an RAC datasource URL in the WAS console. The URL should look like the following:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=primary_node_host)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=secondary_node_host)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=database_servicename))).
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 Oracle or Oracle RAC database
Previous: Linux clustered server: Set up Oracle or Oracle RAC automatically or manually
Next: Linux clustered server: Change Oracle or Oracle RAC driver types