Search


Cloud customer?
Upgrade in MyJFrog >


Working with an older version?

JFrog Artifactory 6.x
JFrog Xray 2.x
JFrog Mission Control 3.x
JFrog Distribution 1.x
JFrog Enterprise+ (Pre-Platform Release)




Overview

By using Oracle you can benefit from features in Oracle infrastructure such as backup and restore.

For Artifactory to run with Oracle you must create a dedicated Oracle database instance and then configure Artifactory to use it as described in the following sections.

Before You Continue

Before proceeding with the steps below, please make sure you have read and followed the steps described in Configuring the Database.

Upgrading the Database?

To avoid a regression of performance while upgrading the Oracle database (as a result of changes in the execution plans), make sure to preserve the optimizer's behavior from the previous version. For more details, please refer to Oracle documentation on influencing the Optimizer.

Page Contents



Creating the Artifactory Oracle Database

Supported Oracle Versions

Artifactory supports Oracle v10g and above.

You can choose between two configurations to set up your Oracle Database

  1. DB-Filesystem
    This configuration stores metadata in Oracle Database and artifact binary data is stored on the file system (under $JFROG_HOME/artifactory/var/data/artifactory/filestore). This option has the advantage of being very lightweight on the Oracle database.

  2. Full DB
    This configuration stores both metadata and BLOBs in Oracle Database. This option requires minimal maintenance and allows you to rely solely on Oracle for failover and backup procedures, since all data is in the database.
    When using this option, make sure you have created a table space big enough to accommodate your binaries.

Artifactory privileges

Artifactory creates all tables automatically first time it is run. When performing a software upgrade Artifactory may have to alter tables and indices, so make sure you grant the configured connection the appropriate user permissions to perform such actions.

Recommendation

With both of the above options (Full DB and DB-Filesystem), it is recommended to create a dedicated table space and use AL32UTF8 encoding.

Reclaiming BLOB space

For efficiency, Artifactory uses a checksum to ensure that only one copy of any binary data is stored, however, you may want to reclaim deleted BLOB space from time to time by shrinking the BLOB table space as follows:

Reclaiming Deleted BLOB Space
{schema}.binary_blobs modify lob (data) (shrink space cascade);



Configuring Artifactory to use Oracle

  1. Download and install the libaio Library.

    #For example, on Ubuntu:
    apt-get install libaio1
    #For example, on Redhat: 
    rpm install libaio


  2. Copy the libaio directory to the Artifactory tomcat lib directory, for example:

    cp -rp /usr/lib64/libaio.so $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib
  3. Download the Oracle Instant Client lib.
  4. Extract the Oracle Instant Client and copy the ojdbc.jar to the $JFROG_HOME/artifactory/var/bootstrap/artifactory/tomcat/lib directory.


    Permissions

    Make sure your driver has the same permissions as the rest of the files in the $JFROG_HOME/artifactory/var directory.

  5. Set the LD_LIBRARY_PATH, in the system.yaml configuration file, to point to the extracted Oracle Instant Client directory. 

    For example
    shared:
      env:
        LD_LIBRARY_PATH: <path Oracle Instant Client directory, for ex: /usr/lib64>


  6. Set the DB connection details in the system.yaml configuration file .

    For example
    shared:
      database:
        type: oracle
        driver: oracle.jdbc.OracleDriver
        url: jdbc:oracle:thin:@<your db server url, for example: localhost:1521>:ORCL
        username: artifactory
        password: password
    
    
  7. Start Artifactory.


Copyright © 2020 JFrog Ltd.