Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Using Oracle Wallet® for JobScheduler Master and JOC Cockpit

Delimitation

Consider that you cannot use Oracle Wallet® when installing JobScheduler Master and JOC Cockpit, you can use it at run-time.

  • For installation a user/password has to be used.
  • Apply below changes after installation to the respective hibernate files.
  • Future releases will improve this behavior. However, the current behavior fits to a situation where you want to use a different DBMS accounts for installation and at run-time with different privileges.

Usage

JobScheduler Master and JOC Cockpit connect to the Oracle database without specifying a database account and password, instead the run-time account of the components component is used.

  • Consider to use hibernate files when running the installer instead of specifying the account/password with the installer response files jobscheduler_install.xml and joc_install.xml.update the hibernate files for Master and JOC Cockpit: 
    • Master
      • $SCHEDULER_DATA/config/hibernate.cfg.xml
      • $SCHEDULER_DATA/config/reporting.hibernate.cfg.xml
    • JOC Cockpit
      • $JETTY_BASE/resources/joc/jobscheduler.hibernate.cfg.xml
      • $JETTY_BASE/resources/joc/reporting.hibernate.cfg.xml
    • The hibernate configuration should look like this:
      • <?xml version="1.0" encoding="UTF-8" standalone="no"?>
        <hibernate-configuration>
        <session-factory>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.password"></property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:/@jobscheduler</property>
        <property name="hibernate.connection.username"></property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <property name="hibernate.show_sql">false</property>
        <property name="hibernate.connection.autocommit">false</property>
        <property name="hibernate.format_sql">true</property>
        <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
        </session-factory>
        </hibernate-configuration>
    • Consider that empty elements are used for the account and password. Do not delete the respective elements from the hibernate configuration file.
    • The above example specifies the URL jdbc:oracle:thin:/@jobscheduler that indicates that the database alias name jobscheduler is configured with your tnsnames.ora file.
    • Alternatively the database connect string can be specified directly with the URL like this:
      • jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=minos.sos)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=jobscheduler)))
      • The above connect string specifies the database host minos.sos listening on port 1521 running a database jobscheduler.
      • When using the above URL syntax then no tnsnames.ora file is used.
  • Configure the location of the Oracle Wallet® by use of a Java define like this: 
    -Doracle.net.wallet_location=/home/jobscheduler/wallet. This setting should point to the directory where the wallet files of the JobScheduler's run-time account are stored.
    • For JobScheduler Master
      • specify the Java define with the environment variable JAVA_OPTIONS before running the installer, e.g.
        JAVA_OPTIONS="-Doracle.net.wallet_location=/home/jobscheduler/wallet"
      • alternatively activate/modify the options setting in the [java] section of the ./config/factory.ini file like this:
        [java]
        options = ... -Doracle.net.wallet_location=/home/jobscheduler/wallet
    • For JOC Cockpit
      • specify the Java define with the jettyOptions setting of the installer response file joc_install_xml like this:
        <entry key="jettyOptions" value="-Doracle.net.wallet_location=/home/jobscheduler/wallet"/>
      • alternatively create/modify the /etc/default/joc file to include the JAVA_OPTIONS environment variable like this:
        JAVA_OPTIONS="-Doracle.net.wallet_location=/home/jobscheduler/wallet"

...

  1. Oracle client installed
  2. Environment variables being set: ORACLE_HOME, LD_LIBRARY_PATH=$ORACLE_HOME/lib, TNS_ADMIN

Prerequisites to execute shell scripts from JobScheduler Master that call SQL*Plus with Oracle Wallet®:

...