Storing BLOBs inside Oracle
The suggested (and recommended) configuration stores all artifact information in Oracle database while the artifact binary data is stored on the file system (under $JFROG_HOME/artifactory
/var/data/artifactory/filestore
).
While it is not recommended, it is possible to store BLOBs inside Oracle database provided that the typical BLOB size is relatively small.
To store BLOBs in Oracle, you will need to configure the Filestore with the Full-DB and Full-DB-Direct Binary Providers. 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.
{schema}.binary_blobs modify lob (data) (shrink space cascade);