Oracle - Alfresco Content Services - 23.4 - 23.4 - Ready - Alfresco - external

Alfresco Content Services

Platform
Alfresco
Product
Alfresco Content Services
Release
23.4
License

You can configure an Oracle RDBMS database for use with Content Services. The Oracle database is case sensitive, so any configuration setting that you add into alfresco-global.properties must match the case used in Oracle.

Note: The Oracle database must be created with the AL32UTF8 character set.
Note: Alfresco supports RAC as a single instance Oracle database as the customers will benefit from high availability and resiliency. As Content Services requires a sequentially ordered transaction ID, customers will not see a performance improvement from deploying on Oracle RAC.
Note: The Oracle Thin driver is recommended. Check the Supported Platforms page for the correct driver.
  1. Create a database named alfresco.
  2. Create a user named alfresco.

    This user must have Connect and Resource privileges in Oracle, and write permissions on all tables and sequences.

  3. Set the new user's password to alfresco.
  4. Ensure the alfresco user has the required privileges to create and modify tables.

    You can remove these privileges once the server has started, but they might also be required for upgrades.

    Note:

    When connecting to Oracle database 12c, you must configure privileges on tablespace USERS to avoid the following error:

    ORA-01950: no privileges on tablespace 'USERS'

    You can do this by using one of the following commands:

    ALTER USER <username> QUOTA <QUOTE_M> ON <tablespace name>;
    GRANT UNLIMITED TABLESPACE TO <username>;
  5. Open the <classpathRoot>/alfresco-global.properties.sample file.
  6. Locate the line: dir.root=./alf_data
  7. Edit the line with an absolute path to point to the directory in which you want to store Alfresco data. For example:
    dir.root=C:/Alfresco/alf_data
  8. Set and uncomment the Oracle database connection properties:
    db.name=alfresco
    db.username=alfresco
    db.password=alfresco
    db.host=localhost
    db.port=1521
    db.pool.max=275
    
    # Oracle connection
    					
    db.driver=oracle.jdbc.OracleDriver
    db.url=jdbc:oracle:thin:@${db.host}:${db.port}:${db.name}

    If you're using the oci configuration, change the URL syntax:

    db.url=jdbc:oracle:oci:@${db.host}:${db.port}:${db.name}

    The Oracle connection URL in this example is basic. Typical Oracle connection strings can be used with the Oracle driver (Thin/Oracle Call Interface (OCI)). The Thin driver is recommended over the OCI driver.

    You can use standard (OCI/Thin) connection URL, Oracle service, and Oracle DNS service URL without any issues.

    Note:

    If you're using the OCI URL, you need an Oracle client on the Alfresco host. For more information, see OCI Install Client.

  9. Save the file without the .sample extension.
  10. Copy the Oracle JDBC driver JAR into /lib.
    CAUTION:

    Don't put multiple driver JARs in the application or the application server lib directory. Only include the driver JAR that's advised in these instructions. Remove any others, if present.

  11. Restart the Alfresco server.
    Note:

    If you receive JDBC errors:

    • Ensure the location of the Oracle JDBC driver is on the system path or added to the relevant lib directory of the application server.
    • Check if you have LD_LIBRARY_PATH in use in your environment to remove the old Oracle client (for example, /home/oracle/app/oracle/product/11.2.0/client_1/lib) and add the full path to the current ojdbc7.jar. If you don't have this environment variable, don't add it.

    The JDBC driver for Oracle is in the JAR file: ojdbc7.jar. However, if you see the following error, then add the Doracle.jdbc.thinLogonCapability=o3 parameter to JAVA_OPTS:

    java.sql.SQLException: OAUTH marshaling failure