3 Upgrade Oracle Database Server Code and Databases

This chapter includes:

3.1 Stop Processes

Before you start to upgrade your system to Oracle Clinical 5.2, complete the preliminary tasks described in this section:

3.1.1 Stop PSUB

Stop PSUB on the database.

To stop PSUB on UNIX:

The preferred way to stop the PSUB service is with a utility, from the opapps account, after setting the correct environment. The TNS_ADMIN environment variable must be set to the location of the sqlnet.ora file. The Installer puts sqlnet.ora in the opapps Home directory; see "Setting TNS_ADMIN on UNIX" in the Oracle Clinical Administrator's Guide.

If you are upgrading from a release lower than 5.0 

  1. Log in to the operating system of the local computer with the rxcprod account.

  2. Set the environment variables for the database and code environment.

  3. Enter the following command:

    stop_psub database_name code_environment rxcprod_password
    

If you are upgrading from Release 5.0.x 

Use the echo command to check the setting, then stop PSUB.

  1. Log in to the operating system of the local computer in the opapps account.

  2. Set the environment variables for the database and code environment.

  3. Enter the following command:

    echo $TNS_ADMIN
    setenv TNS_ADMIN $OPA_HOME
    stop_psub database_name code_environment Wallet_alias
    

To stop PSUB on Windows:

  1. Navigate to the Services control panel.

  2. Highlight the PSUB service.

  3. Click Stop.

3.1.2 Prevent Access to Oracle Clinical Databases

You must ensure that no data entry is performed, and no jobs that update data (such as batch validation) run during the upgrade process.

To prevent users from accessing the data:

  1. Place the database in restricted mode.

  2. Provide restricted session access to the following accounts:

    • OPA

    • RXC

    • RXA_DES

    • RXC_SERVLETST

    • SYSTEM

  3. After you complete the upgrade, remove the restricted access from the databases and user accounts.

3.1.3 Stop Replication (If Applicable)

If you have a distributed environment in which you replicate data and metadata among multiple databases using one of Oracle Clinical's replication features, stop all replication before continuing the upgrade.

Tip:

You must upgrade all databases in your Oracle Clinical installation to Oracle Clinical 5.2 before setting up, or resuming, replication in any of them.

3.1.3.1 Prepare All Replication Environments

When upgrading a database, you must either ensure that all incremental replications are up-to-date or perform full definition replications for each study and Global Library after you complete the upgrade. New Mandatory columns do not have values in the journal tables the system uses for both incremental replication and auditing. It would violate the audit trail to back-populate the journal tables with values for the new Mandatory fields, which are left null. An incremental replication that draws upon journal records created prior to the upgrade fails with the following error:

Mandatory column is null. Use caution when applying the percent symbol (%) wildcard to specify which studies to bring across when doing a full study replication. The % wildcard pulls over all studies that are available for replication from all owning locations. (A study is available for replication if its Ready to Repl check box is selected.) If your company has many studies at multiple locations, consider specifying studies uniquely.

3.1.3.2 Stop Standard Replication

To stop standard replication activities in your installation:

  • Cease the initiation of any new standard replication activities.

  • Ensure that no replication commands are issued, and no replication batch jobs are executed, until all database upgrades are complete.

In a distributed environment:

  1. Perform either an incremental or a full replication so that all sites are consistent.

  2. Suspend replication.

  3. Upgrade all databases in a replicated set. Do not restart replication until you finish upgrading all databases in a replicated set.

If you follow these instructions, you need only perform incremental replication after the upgrade. If you do not make all sites consistent before the upgrade, you must perform full replication after the upgrade.

3.1.3.3 Stop Symmetric Replication

Because symmetric replication operates independently of Oracle Clinical, you must stop the database activities that control the symmetric replication activities. In addition, you must stop the symmetric replication activities for each database in your installation.

To stop symmetric replication for one database in your installation:

  1. Log in as the REPSYS user.

  2. Check the replication queue for all pending jobs.

    1. List the pending jobs in the queue:

      select * from DEFTRAN;

    2. Push these pending transactions:

      dbms_defer_sys.execute(destination=>'other sites.WORLD',
      execute-as-user=>TRUE);

  3. Disable the replication queues until the upgrade is complete.

    1. List the jobs in the queue:

      select * from USER_JOBS;

    2. Locate all the job ID numbers for all push transactions (dbms_defer_sys.execute transactions)

    3. Stop each of these jobs by running:

      dbms_jobs.broken(job_id,TRUE);

      Note:

      This command halts all symmetric replication operations in and out of the affected database, including non-Oracle Clinical replication.
  4. Stop all modifications to the database.

    As much as possible, avoid making changes to programs, projects, organization units, regions, planned studies, factors, strata, active substances, drugs, or treatment regimens.

  5. Quiesce the databases by executing this command against the master database:

    execute dbms_repcat.suspend_master_activity ('RXA_DES');

  6. Drop the replication group from both databases:

    execute dbms_repcat.drop_master_repgroup ('RXA_DES');

3.2 Back Up Your Database(s)

  1. Back up your database(s).

3.3 Upgrade the Database to Oracle Database 12c Release 2 (12.1.0.2)

Note:

Perform steps in this section only if you are upgrading from an Oracle Clinical version other than Oracle Clinical 5.1.

Do one of the following:

Note:

Choose to configure the database to accept connections as a service instead of a SID. Service name requirements for Oracle Clinical include:
  • The service name must be less than 15 characters long.

  • It must not include the domain.

  • It must be all lowercase.

The Oracle Clinical Installer no longer works if you set up connections using the SID.

Note:

If you are installing the Oracle Clinical database on a pluggable Oracle 12.1.0.2 database (PDB), see My Oracle Support article ID 1910177.1, How To Configure TNS / SQLNET using the local_listener parameter for Pluggable Database In Oracle 12c, Allowing a SQLNET Connection to the PDB.

Note:

If you are upgrading a the Oracle Database Server on Windows, be sure there is only one Oracle Home, and that the path points to the 12.1.0.2 home. Otherwise, you will not be able to start PSUB.

3.3.1 Upgrade in Place

  1. Create an Oracle Database Container Database (CDB) to use one or more pluggable databases. (If you are upgrading multiple databases, you still need only one CDB.) OR create one non-CDB (11g-style) database.

    Update the listener and tnsnames.ora either before or after the next step.

  2. Upgrade your database to Oracle Database 12.1.0.2 using the Database Upgrade Assistant (DBUA) following Method 1 described in "Upgrading to Oracle Database 12c (12.1.0.2)" at http://www.oracle.com/technetwork/database/upgrade/upgrading-oracle-database-wp-12c-1896123.pdf.

3.3.2 Clone Your Database

  1. Create an Oracle Database Container Database (CDB) to use one or more pluggable databases. (If you are upgrading multiple databases, you still need only one CDB.) OR create one non-CDB (11g-style) database.

    Update the listener and tnsnames.ora either before or after the next step.

  2. Clone your database. See Oracle White Paper Cloning Oracle Clinical and TMS Databases, article ID 883213.1 on My Oracle Support.

3.4 Set Initialization Parameters

After the upgrade completes:

  1. Set the init.ora parameters. See Table 3-1 for parameter values.

  2. Stop and then start the database to activate the modified init.ora parameters.

Notes:

Do NOT SET the DB_DOMAIN parameter. In Release 5.1 onward, this causes problems with the Patient Data Report generation.

If you set up the EVENT parameter in the init.ora file to trace unique key constraints before upgrading, you should set the event parameter back to its required value. See Table 3-1 for details.

If your init.ora file includes the REMOTE_OS_AUTHENT parameter, make sure that it is not set to TRUE. It can be set to FALSE or be absent.

Table 3-1 Required and Recommended Initialization Values in the init.ora File

Parameter Value Comments

COMPATIBLE

12.0.0.0

Specifies the release with which the Oracle server must maintain compatibility.

DB_BLOCK_SIZE

16384 bytes

You cannot change this value after you create the database.

DB_CACHE_SIZE

150 MB

Recommended value for 50 to 60 concurrent users. Adjust this value according to your organization's needs.

DB_DOMAIN

null

DO NOT set this value. In Release 5.1 onward, setting this value causes problems with the Patient Data Report generation.

DB_FILES

200

Oracle adds needed space to the control files up to the number specified in the DB_FILES parameter.

EVENT

31151 trace name context forever, level 0x100

Required for HTML generation.

NOTE: Do not include the EVENT parameter when you create the database. Once the database is created, you can add the EVENT parameter to the init.ora file.

JAVA_POOL_SIZE

50 MB

Recommended value for 50 to 60 concurrent users. You can change the value of this parameter after installation. (Set greater than 150 MB with Oracle AERS, minimum.)

JOB_QUEUE_PROCESSES

10

Developer-specific parameter. You can change the value of this parameter after installation.

LARGE_POOL_SIZE

50 MB

Recommended value for 50 to 60 concurrent users.

MEMORY_MAX_TARGET

1000 MB (minimum)

Adjust this value according to your organization's needs.

MEMORY_TARGET

1000 MB (minimum)

Adjust this value according to your organization's needs.

NLS_DATE_FORMAT

DD-MON-RRRR (default value)

Determines the format in which client applications running on the Windows server transfer date information to and from the database. The format must specify the year as RRRR.

NLS_LENGTH_SEMANTICS

BYTE

The CHAR value for this parameter is not supported.

OPEN_CURSORS

800 or greater

You can change the value of this parameter after installation.

OPTIMIZER_DYNAMIC_SAMPLING

2 or greater

The default setting is 2. Oracle recommends using dynamic sampling for Batch Data Load temporary tables; see the Oracle Clinical Administrator's Guide.

OPTIMIZER_FEATURES_ENABLE

12.1.0.2

Acts as an umbrella for enabling a series of optimizer features based on an Oracle release number.

NOTE: Oracle Clinical 5.2 is certified on the Oracle Database 12c (12.1.0.2) optimizer features; see Section 4.2.5.4, "Run Scripts to Gather Schema Statistics for the Oracle Database Optimizer".

OPTIMIZER_MODE

CHOOSE

If you run Oracle Clinical's statistics gathering scripts, the CHOOSE value sets Oracle Optimizer to apply the execution plan that best minimizes response time. See the Oracle Database documentation for more information. (CHOOSE is the default value when you specify 11.2.0.4 as the value of OPTIMIZER_FEATURES_ENABLE.)

PGA_AGGREGATE_TARGET

200 MB

Recommended value for 50 to 60 concurrent users. You can change the value of this parameter after installation.

REMOTE_LOGIN_PASSWORDFILE

EXCLUSIVE

The database must be set up to use password file authentication.

SEC_CASE_SENSITIVE_LOGON

FALSE

Lets you enter passwords without case sensitivity.

SESSIONS

500 or greater

You can change the value of this parameter after installation.

SGA_MAX_SIZE

600 MB (minimum)

Recommended value for 50 to 60 concurrent users. Adjust this value according to your organization's needs.

SGA_TARGET

600 MB (minimum)

Recommended value for 50 to 60 concurrent users. Adjust this value according to your organization's needs.

SHARED_POOL_SIZE

150 MB (minimum)

Recommended value for 50 to 60 concurrent users. You can change the value of this parameter after installation.

UNDO_MANAGEMENT

AUTO

Specifies which undo space management mode the system uses. When set to AUTO, the instance starts in Automatic Undo Management (AUM) mode.

UTL_FILE_DIR

opa_home\xmltemp

Specifies each directory you access.

Required to support Oracle Clinical PDF layout generation and Oracle AERS.

For Windows environments, samples of the valid syntax are as follows:

UTL_FILE_DIR=c:\e2b\import

UTL_FILE_DIR=c:\opapps\xmltemp

In a UNIX environment, UTL_FILE_DIR requires an entry with two specified paths: one with and one without a trailing slash. Add these lines before any other UTL_FILE_DIR entries:

UTL_FILE_DIR=/usr/opapps/oc/xmltemp/

UTL_FILE_DIR=/usr/opapps/oc/xmltemp


3.5 Create a Secret Store Directory

  1. Create a directory that is accessible to the opapps user and different from the Oracle Wallet location.

    Example location: opa_home/sec_store/db_name

The Installer fails if this directory is not created before running the Installer.