Skip to main content
Hitachi VantaraPentaho Documentation
Pentaho Documentation

Configure Repository

Overview

Indicates how to configure the DI Respository.

Image of the DI installation steps.

Before you configure the DI Repository, complete the tasks in Initialize Repository.

Tasks performed during this step include configuring Audit, Quartz, and Hibernate properties. Tasks are grouped by the DI Repository database you have.

Configure PostgreSQL DI Repository Database

These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security for use with the PostgreSQL database. By default, the files edited in this section are configured for a PostgreSQL database that runs on port 5432. The default password is also in these files. If you have a different port, different password, or if had the system configured using a different database and now you want to change it back to PostgreSQL, complete all of the instructions in these steps.

Configure Quartz on PostgreSQL DI Repository Database

When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file.
  1. Open the pentaho/server/data-integration-server/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice.
  2. Make sure that in the #_replace_jobstore_properties section of the file, the org.quartz.jobStore.driverDelegateClass is set to org.quartz.impl.jdbcjobstore.PostgreSQLDelegate.
  3. In the # Configure Datasources section of the file, set the org.quartz.dataSource.myDS.jndiURL equal to Quartz.
    org.quartz.dataSource.myDS.jndiURL = Quartz
  4. Save the file and close the text editor.

Configure Hibernate Settings for PostgreSQL DI Repository Database

Modify the hibernate settings file to specify where Pentaho will find the DI Repository’s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts.

  1. Open pentaho/server/data-integration-server/pentaho-solutions/system/hibernate/hibernate-settings.xml in a text editor.
  2. Verify that the location of the PostgreSQL hibernate configuration file appears. Make changes if necessary.
    <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
  3. Save the file if you had to make changes, then close it. Otherwise, just close it.
  4. Open pentaho/server/data-integration-server/pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml in a text editor.
  5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file.

Modify Jackrabbit DI Repository Information for PostgreSQL

Indicate which database houses the DI Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle DI Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your DI Repository, you will need to make sure that the sections that refer to your DI Repository database are not commented out, and the sections refer to other DI Repository databases are commented out.

When code is commented out, it appears between the <!-- and --> tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”> is commented out.

<!-- 
<FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”>
-->

To make sure that the Jackrabbit repository is set so that PostgreSQL is the default database, do this.

  1. Use a text editor to open the pentaho/server/data-integration-server/pentaho-solutions/system/jackrabbit/repository.xml file.
  2. In the Repository part of the code, make sure that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this.
    <!--
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
      <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
        <param name="tablespace" value="di_jackrabbit"/>
      </FileSystem>
    -->
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="schema" value="postgresql"/>
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  3. In the DataStore section of the code, verify that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this.
    <!--
      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
       ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
       ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
      -->
      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="databaseType" value="postgresql"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="3"/>
        <param name="copyWhenReading" value="true"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  4. In the Workspaces section of the code, make sure that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. This code should look like this.
    <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
         ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
          <param name="tablespace" value="jcr_user"/>
        </FileSystem>
    -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  5. In the Persistence Manager section of the code, verify that the PostgreSQL lines of code are not commented out, but the Oracle and MySQL lines are. The code should look like this.
    <!--
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager>
       -->
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  6. In the Versioning section of the code, verify that the PostgreSQL lines of code are not commented out, but the MySQL and Oracle lines are. The code should look like this.
    <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
         ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
         ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </FileSystem>
        -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  7. In the Persistence Manager section of the code that is near the end of the file, verify that PostgreSQL lines of code are not commented out, but the MySQL and Oracle lines are. The codes should look like this.
    <!--
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>
    
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
         ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager>
        -->
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="postgresql"/>
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>

    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.

  8. Close and save the file.

Prepare MySQL DI Repository Database

These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security for a MySQL database. By default, the examples in this section are for a MySQL database that runs on port 3306. The default password is also in these examples. If you have a different port, different password complete all of the instructions in these steps.

Configure Quartz on MySQL DI Repository Database

When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file.
  1. Open the pentaho/server/data-integration-server/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice.
  2. In the #_replace_jobstore_properties section of the file, set the org.quartz.jobStore.driverDelegateClass equal to org.quartz.impl.jdbcjobstore.StdJDBCDelegate.
    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
  3. In the # Configure Datasources section of the file, set the org.quartz.dataSource.myDS.jndiURL equal to Quartz.
    org.quartz.dataSource.myDS.jndiURL = Quartz
  4. Save the file and close the text editor.

Configure Hibernate Settings for MySQL

Modify the hibernate settings file to specify where Pentaho will find the DI Repository’s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts.

  1. Open pentaho/server/data-integration-server/pentaho-solutions/system/hibernate/hibernate-settings.xml in a text editor. By default, system indicates the location of the PostgreSQL hibernate configuration file.
    <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
  2. Change the default reference to the MySQL configuration file.
    <config-file>system/hibernate/mysql5.hibernate.cfg.xml</config-file>
  3. Save and close the file.
  4. Open pentaho/server/data-integration-server/pentaho-solutions/systems/hibernate/mysql5.hibernate.cfg.xml in a text editor.
  5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file.

Replace Default Version of Audit Log File with MySQL Version

The default audit_sql.xml file that is in the pentaho-solutions/system directory is configured for the PostgreSQL database. Since you are using MySQL to host the DI Repository, you need to replace the audit_sql.xml file with one that is configured for MySQL. To do this, copy the pentaho-solutions/system/dialects/mysql5/audit_sql.xml file to the pentaho-solutions/system directory.

Modify Jackrabbit Repository Information for MySQL

You must indicate which database is used as the DI Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle DI Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your DI Repository, you will need to make sure that the sections that refer to your DI Repository Database are not commented out, and the sections refer to other DI Repository databases are commented out.

When code is commented out, it appears between the <!-- and --> tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”> is commented out.

<!-- 
<FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”>
-->

To modify the Jackrabbit repository so that MySQL is the default database, do this.

  1. Use a text editor to open the pentaho/server/data-integration-server/pentaho-solutions/system/jackrabbit/repository.xml file.
  2. In the Repository part of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="schema" value="mysql"/>
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
    <!--  
    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
        <param name="tablespace" value="di_jackrabbit"/>
      </FileSystem>
    
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="org.postgresql.Driver"/>
       ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  3. In the DataStore section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
    <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="databaseType" value="mysql"/>
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="3"/>
        <param name="copyWhenReading" value="true"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
     <!--
     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
       ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
      <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
      ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
      -->
    
    Note: If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  4. In the Workspaces section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="mysql"/>
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
    <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
         ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
          <param name="tablespace" value="jcr_user"/>
        </FileSystem>
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
       ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  5. In the Persistence Manager section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          <param name="user" value="jcr_user" />
          <param name="password" value="password" />
          <param name="schema" value="mysql"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
     <!--
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
         ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager> 
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
     -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  6. In the Versioning section of the code, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like his.
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="mysql"/>
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>
    <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </FileSystem>
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
          ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>    
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.
  7. In the Persistence Manager section of the code that is near the end of the file, change the code so that the MySQL lines of code are not commented out, but the PostgreSQL and Oracle lines are, like this.
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          <param name="user" value="jcr_user" />
          <param name="password" value="password" />
          <param name="schema" value="mysql"/>
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>
    <!--
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
         ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager>
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly.

Prepare Oracle DI Repository Database

These instructions explain how to configure Quartz, Hibernate, Jackrabbit, and Pentaho Security. By default, the examples in this section are for a Oracle database that runs on port 1521. The default password is also in these examples. If you have a different port, different password complete all of the instructions in these steps.

Configure Quartz on Oracle DI Repository Database

When you use Pentaho to schedule an event, such as a report to be run every Sunday at 1:00 a.m. EST, event information is stored in the Quartz JobStore. During the installation process, you must indicate where the JobStore is located. To do this, modify the quartz.properties file.
  1. Open the pentaho/server/data-integration-server/pentaho-solutions/system/quartz/quartz.properties file in the text editor of your choice.
  2. In the #_replace_jobstore_properties section of the file, set the org.quartz.jobStore.driverDelegateClass equal to org.quartz.impl.jdbcjobstore.oracle.OracleDelegate.
    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.oracle.OracleDelegate
  3. In the # Configure Datasources section of the file, set the org.quartz.dataSource.myDS.jndiURL equal to Quartz.
    org.quartz.dataSource.myDS.jndiURL = Quartz
  4. Save the file and close the text editor.

Configure Hibernate Settings for Oracle

Modify the hibernate settings file to specify where Pentaho will find the DI Repository’s hibernate configuration file. The hibernate configuration file specifies driver and connection information, as well as dialects and how to handle connection closes and timeouts.

  1. Open pentaho/server/data-integration-server/pentaho-solutions/system/hibernate/hibernate-settings.xml in a text editor. By default, the location of the PostgreSQL database configuration file is specified.
    <config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>
  2. Change the default to this to point to the Oracle configuration file.
    <config-file>system/hibernate/oracle10g.hibernate.cfg.xml</config-file>
  3. Save and close the file.
  4. Open pentaho/server/data-integration-server/system/hibernate/oracle10g.hibernate.cfg.xml in a text editor.
  5. Make sure that the password and port number match the ones you specified in your configuration. Make changes as necessary, then save and close the file.

Replace Default Version of Audit Log File with Oracle Version

The default audit_sql.xml file that is in the pentaho-solutions/system directory is configured for the PostgreSQL database. Since you are using Oracle to host the DI Repository, you need to replace the audit_sql.xml file with one that is configured for Oracle. To do this, copy the pentaho-solutions/system/dialects/oracle10g/audit_sql.xml file to the pentaho-solutions/system directory.

Modify Jackrabbit Repository Information for Oracle

You must indicate which database is used as the DI Repository as well as the port, url, username, and password. All of the information needed to configure the repository for the PostgreSQL, MySQL, and Oracle DI Repository databases appear. By default, the PostgreSQL sections are not commented out, but the MySQL and Oracle sections are. To modify this file so that it works for your DI Repository, you will need to make sure that the sections that refer to your DI Repository Database are not commented out, and the sections refer to other DI Repository databases are commented out.

When code is commented out, it appears between the <!-- and --> tags. The information in between the tags is commented out, and is therefore not executed by the software. In this example, the code <! <FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”> is commented out.

<!-- 
<FileSystem class=”org.apache.jackrabbit.core.fs.db.OracleFileSystem”>
-->

To modify the Jackrabbit repository so that Oracle is the default database, do this.

  1. Use a text editor to open the pentaho/server/data-integration-server/pentaho-solutions/system/jackrabbit/repository.xml file.
  2. In the Repository part of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
    <!-- 
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="com.mysql.jdbc.Driver"/>
        <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
       ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
    --> 
    <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="schemaObjectPrefix" value="fs_repos_"/>
        <param name="tablespace" value="di_jackrabbit"/>
      </FileSystem>
    <!-- 
      <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
        <param name="driver" value="org.postgresql.Driver"/>
        <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
        ...
        <param name="schemaObjectPrefix" value="fs_repos_"/>
      </FileSystem>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  3. Change <param name="tablespace" value="di_jackrabbit"/> to <param name="tablespace" value="di_pentaho_tablespace">. Then change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.
  4. In the DataStore section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
    <!--
    <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
        ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
      --> 
     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
        <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
        <param name="user" value="jcr_user"/>
        <param name="password" value="password"/>
        <param name="databaseType" value="oracle"/>
        <param name="minRecordLength" value="1024"/>
        <param name="maxConnections" value="3"/>
        <param name="copyWhenReading" value="true"/>
        <param name="tablePrefix" value=""/>
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
     <!--
     <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
        <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
        ...
        <param name="schemaObjectPrefix" value="ds_repos_"/>
      </DataStore>
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  5. Change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.
  6. In the Workspaces section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
    <!--
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
    -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schemaObjectPrefix" value="fs_ws_"/>
          <param name="tablespace" value="jcr_user"/>
        </FileSystem>
    <!--
        <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="fs_ws_"/>
        </FileSystem>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  7. Change <param name="tablespace" value="jcr_user"/> to <param name="tablespace" value="di_pentaho_tablespace">. Then change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.
  8. In the Persistence Manager section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
    <!--
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
     -->
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="oracle"/>
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager> 
     <!--
       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="${wsp.name}_pm_ws_"/>
        </PersistenceManager>
     -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  9. Change <param name="tablespace" value="di_jackrabbit"/> to <param name="tablespace" value="di_pentaho_tablespace"> Then change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.
  10. In the Versioning section of the code, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like his.
    <!--
    <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="com.mysql.jdbc.Driver"/>
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>
    -->
        <FileSystem class="org.apache.jackrabbit.core.fs.db.OracleFileSystem">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schemaObjectPrefix" value="fs_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </FileSystem>
     <!--
       <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
          <param name="driver" value="org.postgresql.Driver"/>
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="fs_ver_"/>
        </FileSystem>    
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  11. Change <param name="tablespace" value="di_jackrabbit"/> to <param name="tablespace" value="di_pentaho_tablespace">. Then change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.
  12. In the Persistence Manager section of the code that is near the end of the file, change the code so that the Oracle lines of code are not commented out, but the PostgreSQL and MySQL lines are, like this.
    <!--
    <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
          <param name="url" value="jdbc:mysql://localhost:3306/di_jackrabbit"/>
          ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>
    -->
        <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager">
          <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
          <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>
          <param name="user" value="jcr_user"/>
          <param name="password" value="password"/>
          <param name="schema" value="oracle"/>
          <param name="schemaObjectPrefix" value="pm_ver_"/>
          <param name="tablespace" value="di_jackrabbit"/>
        </PersistenceManager>
     <!--
       <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.PostgreSQLPersistenceManager">
          <param name="url" value="jdbc:postgresql://localhost:5432/di_jackrabbit"/>
         ...
          <param name="schemaObjectPrefix" value="pm_ver_"/>
        </PersistenceManager>
    -->
    Note:If you changed your password when you initialized the database during the Prepare Environment step, or if your database is on a different port, edit the url and password parameters accordingly. Also note that the <param name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> parameter indicates that the database is named orcl. Modify the parameter if your database has a different name.
  13. Change <param name="tablespace" value="di_jackrabbit"/> to <param name="tablespace" value="di_pentaho_tablespace">. Then change <param name="user" value="jcr_user"/> to <param name="user" value="di_jcr_user"/>.