Set Up the Distributed Processing Server

The Distributed Processing (DP) Server is the mechanism Oracle LSH uses to communicate with the external processing engines that run some Oracle LSH jobs.

Install the DP Server on each computer where you have installed an external processing engine (such as SAS) and where you have installed XML Publisher. If you install multiple external processing engines on the same computer, you can install the DP Server once on that computer.

For information about the DP Server, see "Setting Up Services" in the Oracle Life Sciences Data Hub System Administrator's Guide. For information on integrating particular external systems with Oracle LSH, see Integrating Other Systems.

Note:

For Oracle DMW, the DP Server is required for File Watcher, for loading SAS and text data files. SAS files require the SAS processing engine and text files require the SQL*Loader, which is installed with Oracle Database.

Setting up the DP Server includes the following steps. You must do them in the following order:

Create the Distributed Processing Server User Account

You must run a script to create the Distributed Processing (DP) Server database account cdr_dpserver and set its password. Use this account to start the DP Server.

Note:

When you start the DP Server on each service location, you need this password. You should change the default password for use within your company.

To change a password:

  1. Log in to SQL*Plus.

  2. Enter the following:

    alter user old_password identified by new_password

To run the script:

  1. Go to $CDR_TOP/patch/115/sql

  2. Log in to SQL*Plus as apps

  3. Run the script:

    cdrcreatedpserveruser.sql

    At the prompt, enter the password you want to use for the cdr_dpserver account.

  4. Exit from SQL*Plus.

Install the Distributed Processing Server

On each computer where you have installed one or more processing engines for use with Oracle LSH, do the following to install the Oracle LSH Distributed Processing (DP) Server:

  1. Create a home directory for the DP Server. It can be located anywhere on the computer where the DP Server resides. Oracle recommends naming it DPServer_Home.
  2. In the DP Server Home directory, create two subdirectories: lib and log.

    The lib directory will hold the jar files the DP Server uses. The log directory will hold DP Server log files. Each time you start the DP Server it creates one log file. The DP Server adds log information to that log file each time it runs a job.

  3. Change to the lib directory.
  4. Copy DPServer.zip from $CDR_TOP/jar to the lib directory.
  5. Using GNU zip or another utility, unzip DPServer.zip into the lib directory. The DPServer.zip file contains the following files:
    • DPServer.jar

    • fileWatcherServer.jar

    • xmlparserv2.zip

    • xmlparserv2-904.zip

  6. Using SFTP, copy the following files from the $ORACLE_HOME/rdbms/jlib directory on the database server computer to the lib directory.
    • jmscommon.jar

    • aqapi.jar

  7. Using SFTP, copy the following files from the $ORACLE_HOME/jlib directory on the database server computer to the lib directory:
    • jta.jar

    • orai18n-mapping.jar

  8. Using SFTP, copy ojdbc5.jar from $ORACLE_HOME/jdbc/lib directory on the database server computer to the lib directory.
  9. Using SFTP, copy ucp.jar from $ORACLE_HOME/ucp/lib directory on the database server computer to the lib directory.
  10. Change directories to the DP Server Home directory.
  11. Create a working directory with a meaningful name for each service that will run on this machine. For example, if you will run SAS jobs on this computer, create a directory such as SASWORK. If you will also run Oracle Reports jobs on this computer, create another directory with a name like REPWORK.

    Each time one of these engines runs a job, the DP Server creates a directory containing the files required for the job and gives the directory the job ID as a name. When you define services in the Oracle LSH user interface, specify that you want the DP Server to create these job directories in the working directories you have created. For more details, see Define Service Locations and Services.

  12. Set the TNS alias in the tnsnames.ora file to the global_name of the database server. This is required because the DP server runs jobs, such as SAS programs, that connect to the database server using the global_name.
  13. On the DP Server machine,  create a symbolic link from the location where SAS is installed to user home:
    ln -s  SAS_executalble_path/sas_u8 DP_Server_Home_path/sas

Note:

If you need to set up the DP Server outside the firewall, make sure the computer outside the firewall can connect to the database server inside the firewall. To do this, change a firewall setting to allow external access to the TNS listener port on the database server.

Secure Distributed Processing Server Files

The DP Server log files in the log directory may contain information that is sensitive to your organization. Oracle recommends granting full access to this directory only to the Oracle database user running the DP Server process and any other external processing engine user.

Set NLS_LANG to UTF8

On each Server where you install the DP Server, set the computer's NLS_LANG environment variable to UTF8.

Windows

Check and set your NLS_LANG environment variable:

  1. Right-click the My Computer icon on your desktop, then click Properties.

  2. Click the Advanced tab, then click Environment Variables.

  3. In User Variables and System Variables, check if there is a variable named NLS_LANG.

  4. If there is an NLS_LANG variable, highlight it and click Edit.

  5. Set the variable value to UTF8; for example: AMERICAN_AMERICA.UTF8

If you do not have the NLS_LANG environment variable, change your registry settings:

  1. Click Start, then Run.
  2. In the Run window, enter regedit and click OK.
  3. Locate one of the following registry key entries:
    • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

    • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEx

      where x is the unique number identifying the Oracle home

  4. Add a new key named NLS_LANG with a value including UTF8; for example:
    NLS_LANG=AMERICAN_AMERICA.UTF8

UNIX

Do the following:

  1. Check the environment variable NLS_LANG:
    echo $NLS_LANG
    
  2. Set the environment variable NLS_LANG to UTF8; for example:
    % setenv NLS_LANG American_America.UTF8

Copy and Edit Files

This section contains the following topics:

Copy DP Server Files

  1. Go to the DP Server home directory you created when you installed the DP Server code.
  2. Copy the following files from $CDR_TOP/admin/template to the DP Server home directory:
    • cdr_apps_dpserver.sh (or cdr_apps_dpserver.cmd for running Windows services such as OBIEE)

    • checkJSapps.sh

    • stopJSapps.sh

    • killproc.sh

      Note:

      Do not copy killproc.sh if the DP server is running on a Windows computer, for example, running the OBIEE server.

Edit the DP Server Start Script

You must add local values to cdr_apps_dpserver.sh (or cdr_apps_dpserver.cmd on Windows) before you can start the DP Server.

  1. Log in as the owner of the DP Server Home Directory.
  2. Go to the DP Server home directory.
  3. Edit cdr_apps_dpserver.sh (or cdr_apps_dpserver.cmd). Enter the actual value for each of the following:
    • $DPSERVER_HOME. Enter the full path for the DP Server home on this computer.

    • SVC. Enter the Service Location Name (not a Service name) that you defined or will define in the Service Location subtab for the Service Location that corresponds to this computer. (For more details, see Define Service Locations and Services.) The name is case-sensitive. For example:

      SVC=SERVICE_LOCATION_NAME
      

      Note:

      On Windows you must enter this value at runtime.

    • JDK Location (JDK_LOC). Enter the full path to the JDK executable.

      For example:

      JDK_LOC=/app/oracle/product/11.2.0/jdk/bin
      
    • JVM Arguments. Add the following line immediately after the Java command (COMMANDLINE=java), which follows the RAC flag setting:

      -DFile.encoding=UTF8 -Duser.language=en -Duser.country=US
      

    You can accept the default values for all other variables. Some values must be set at runtime. See Start the DP Server for details.

Make Scripts Executable

Make all the scripts executable with the following command:

chmod 755 *.sh

Copy RTF Template Files for XML Publisher

The following steps are required only on the computer where you are running XML Publisher:

  1. In the DP Server home directory, create a directory called cdrtemplates.
  2. Copy the following files from $CDR_TOP/patch/115/publisher/templates to the new cdrtemplates directory:
    • cdr_output_summ_cs.rtf

    • lsh-title-page.rtf

    • lsh-toc-template.rtf

    • lsh-pagenum.rtf

    • lsh-template.rtf

    • lsh-blank-page.pdf

Copy, Edit, and Grant Permissions to Execution Command Files for Processing Engines

Do the following on each computer where you have installed a processing engine:

  1. From $CDR_TOP/admin/template, copy the sample execution command script for each processing engine installed on the computer. You can copy the scripts directly into the DP Server Home directory or create a subdirectory for them.

    Note:

    Keep a record of the absolute location of these scripts. You will need it when you define a service location for the computer. See Define Service Locations and Services for details.

    The scripts include:

    • cdrzip.sh and cdrunzip.shfor Text Data Marts
    • sasNormal.sh for SAS Programs
    • oraexp.sh for Oracle Export Data Marts
    • orareprunner.sh for Oracle Reports Programs
    • txtNormal.sh for Text Load Sets
    • xmlprunner.sh for post-processing Report Sets
    • xmlpreprunner.sh for the Oracle LSH system reports and for cover sheets for outputs
    • obieeinstall.cmd for Oracle Business Intelligence Business Areas—required only on the BI Server
    • obieedeploy.cmd for Oracle Business Intelligence Business Areas— required only on the BI Server
    • obieepsrestart.cmd for Oracle Business Intelligence Business Areas—required only on Windows computers where a Presentation Service instance is installed but the BI Server is not installed
    • obieepsrestart.sh for Oracle Business Intelligence Business Areas—required only on Unix computers where a Presentation Service instance is installed but the BI Server is not installed.
  2. Edit each script with information specific to the computer, for example:
    • Oracle SID
    • Location of the technology server
    • Location of Oracle setup script coraenv
    • Paths

    Ensure that environment variables are accessible to the DP server. For example, if the script refers to the variable $ORACLE_HOME, either define the variable or provide the full path in the script.

    Note:

    If you run SAS programs, add instructions to sasNormal.sh to start SAS in UTF8 mode. (See Start SAS in UTF8 Mode for details.) In addition, include the DP Server Home path  in the environment variable as shown:

    PATH=$ORACLE_HOME/bin:$ORACLE_HOME/lib32: DP_Server_Home_Path:$PATH export PATH
  3. Make all the scripts executable on the UNIX system with the following command:

    chmod 755 *.sh

Define Service Locations and Services

You must define Service Locations and Services in the Oracle LSH user interface for each computer where the Oracle LSH Distributed Processing (DP) Server will run. You define one service location for each computer, and at least one service for each engine or development environment that you want to run on that computer.

To define service locations and services you must have a user account with the LSH System Admin role assigned to it. See Create System Administrator and Security Administrator Users for details.

To log into Oracle LSH, do the following:

  1. Open your web browser.
  2. Enter the eBusiness Suite SSWA (Self-Service Web Application) URL as follows:

    http://<host name>.<domain name>:<HTTP port>/oa_servlets/AppsLogin

    For example:

    http://appshost.your_company.com:8000/oa_servlets/AppsLogin

    The Applications Login screen appears.

  3. Enter the username and password associated with the LSH System Admin responsibility and click Login.
  4. Under Navigator, click Life Sciences Data Hub. The system displays the list of Oracle LSH user interface locations to which you have access.
  5. Click Service Location. The Service Location screen opens.

To define service locations and services in the Oracle LSH user interface, follow the instructions in "Setting Up Services" in the Oracle Life Sciences Data Hub System Administrator's Guide.

Note:

For Oracle DMW, you need one or two Service Locations. You need two services; Text for SQL*Loader and SAS. The two services can be on the same Service Location if it has access to both SQL*Loader and the SAS processing engine as well as the folders you will create to put data files into for loading into Oracle DMW. You can put text and SAS files in different locations.

Start the DP Server

To start the DP Server, do the following:

  1. Log on as the owner of the DP Server Home Directory.
  2. Run the script by entering the following command for UNIX. Information on the parameters is given below.
    ./cdr_apps_dpserver.sh ORACLE_SID DB_HOST DB_PORT RAC_TNS RAC_FLAG FW_ENABLED FW_FREQ FW_POLL
    

    or for Windows:

    c:> cdr_apps_dpserver.cmd ORACLE_SID DB_HOST DB_PORT RAC_TNS RAC_FLAG FW_ENABLED FW_FREQ FW_POLL
    

    where:

    • ORACLE_SID is the Oracle SID of the database

      Note:

      The Oracle SID is case-sensitive.

    • DB_HOST is the name of the computer where the Oracle_SID resides.

    • DB_PORT is the SQL*Net Listener port for the Oracle_SID.

    • RAC_TNS is the JDBC connection string of the database server.

    • RAC_FLAG indicates whether you are using an Oracle RAC (Real Application Cluster) database installation. Set to RAC if you have a RAC installation. Set to NO-RAC if you do not.

      The RAC_FLAG setting determines which input parameter values the script uses when starting the DP Server.

      Note:

      At the time of publication, Release 2.5 is not certified with RAC.

      • If RAC_FLAG is set to RAC, the script uses only the value for RAC_TNS.

      • If RAC_FLAG is set to NO-RAC, the script uses the values for ORACLE_SID, DB_HOST, and DB_PORT.

      In either case, it does not matter what value you enter for the unused parameters.

    • FW_ENABLED Set to Yes to start the File Watcher service or No if you are not using Oracle DMW.

    • FW_FREQ (Applies only to Oracle DMW customers.) Refresh frequency in seconds. This value specifies the minimum interval between requests to the database to check if there is a new set of Watcher Configurations. This value cannot be set lower than 60 seconds. A high setting will result in a delay between the user's addition or adjustment of a Watcher Configuration in Oracle DMW and the changes' taking effect in file detection behavior.

    • FW_POLL (Applies only to Oracle DMW customers.) Polling frequency in seconds. The polling frequency represents the minimum interval at which a File Watcher Service may run to detect if there are any files in the watched location that should be loaded into Oracle DMW. The minimum value permitted is 60 seconds.

    NO-RAC Example when RAC_FLAG is set to NO-RAC:

    ./cdr_apps_dpserver.sh LSHDB adxxxsdb.example.com 20502 NA NO-RAC NO 0 0
    

    where:

    • LSHDB is the Oracle SID

    • adxxxsdb.example.com is the host

    • 20502 is the port

    • You may enter NA (Not Applicable) or any other value for RAC_TNS.

    • NO-RAC is the setting for RAC_FLAG

    • NO indicates that File Watcher is not enabled; Oracle DMW is not being used.

    • 0 FileWatcher Refresh Frequency, since File Watcher is not enabled

    • 0 FileWatcher Polling Frequency, since File Watcher is not enabled

    RAC Example when RAC_FLAG is set to RAC:

    ./cdr_apps_dpserver.sh NA NA NA 'jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=AP1RAC.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=AP2RAC.example.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=CDRXXX)))'  RAC NO 0 0
    

    where:

    • You may enter NA (Not Applicable) or any other value for ORACLE_SID.

    • You may enter NA (Not Applicable) or any other value for DB_PORT.

    • You may enter NA (Not Applicable) or any other value for DB_HOST.

    • 'jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=YES)(FAILOVER=YES)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=AP1RAC.example.com)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=AP3RAC.example.com)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=CDRXXX)))is the JDBC connection string of the database server

    • RAC is the setting for RAC_FLAG

    • NO indicates that File Watcher is not enabled; Oracle DMW is not being used.

    • 0 FileWatcher Refresh Frequency, since File Watcher is not enabled

    • 0 FileWatcher Polling Frequency, since File Watcher is not enabled

  3. The script prompts you for a password. Enter the password for the cdr_dpserver user.

Note:

Do not change the value of DB_USER.