We hope you'll join us for our 4/23 webinar on using data tables to apply reference ranges and AE codes in OC4. For more information and to register, visit https://register.gotowebinar.com/register/2882170018956684555

ORA-00972: identifier is too long

Hello,

I tried to install OpenClinica 3.3 over  tomcat 7.0.54. My environment has an Oracle database and the operating system is Linux CentOS 6 x64

After several attempts and following all the steps indicated in the installation guide for a configuration with Oracle (like the execution of performance.sql), there is an error that I am not able to remove. This error is related with an Oracle restriction for the length of the index identifier. The message which appears in the catalina.out log is the following one:

 

SEVERE: Exception sending context initialized event to listener instance of class org.akaza.openclinica.dao.core.OCContextLoaderListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/akaza/openclinica/applicationContext-core-db.xml]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set migration/3.2/2014-01-03-OC-3442.xml::2014-01-03-OC-3442-2::jrousseau:

     Reason: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: ORA-00972: identifier is too long

Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set migration/3.2/2014-01-03-OC-3442.xml::2014-01-03-OC-3442-2::jrousseau:

     Reason: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: ORA-00972: identifier is too long

 

Caused by: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id)

Caused by: java.sql.SQLException: ORA-00972: identifier is too long

 

       

SEVERE: Exception sending context initialized event to listener instance of class org.akaza.openclinica.control.OCServletContextListener

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/akaza/openclinica/applicationContext-core-db.xml]: Invocation of init method failed; nested exception is liquibase.exception.MigrationFailedException: Migration failed for change set migration/3.2/2014-01-03-OC-3442.xml::2014-01-03-OC-3442-2::jrousseau:

     Reason: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: ORA-00972: identifier is too long

Caused by: liquibase.exception.MigrationFailedException: Migration failed for change set migration/3.2/2014-01-03-OC-3442.xml::2014-01-03-OC-3442-2::jrousseau:

     Reason: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id):

          Caused By: ORA-00972: identifier is too long

Caused by: liquibase.exception.JDBCException: Error executing SQL CREATE INDEX i_versioning_map_crf_version_id ON versioning_map(crf_version_id)

     

Caused by: java.sql.SQLException: ORA-00972: identifier is too long

 

Jul 18, 2014 11:14:10 AM org.apache.catalina.core.StandardContext startInternal

SEVERE: Error listenerStart

Jul 18, 2014 11:14:10 AM org.apache.catalina.core.StandardContext startInternal

SEVERE: Context [/OpenClinica] startup failed due to previous errors

Comments

  • billingibillingi Posts: 28
    Dear Jesus,

    I had exactly the same problem when (trying to) upgrade to OpenClinica 3.2 on ORACLE.  The 'problem' is that ORACLE has a restriction of 30 characters for index names, but the index that OpenClinica tries to create (i_versioning_map_crf_version_id) contains 31 characters.

    I raised this as an issue, but I then discovered that ORACLE is no longer a supported platform for OpenClinica from version 3.2 onwards.  All support would be concentrated on Postgresql as the recommended / supported database.

    As a result of this, I was able to switch to using Postgresql, as we didn't have any 'Live' studies at the time.  However, I'm not sure what the recommended course of action is (apart from sticking with OpenClinica 3.1.x)

    Hope this (sort of) helps!

    Ian


  • kristiakkristiak Posts: 1,323 ✭✭✭

    OpenClinica does not support Oracle as the database anymore. You may find others who have developed support for Oracle.


  • tkhajatkhaja Posts: 60 ✭✭
    Hi Jesus and Ian,

    We ceased support for Oracle starting from version 3.2. We did take into consideration all our users who have been using Oracle and would like to continue to take advantage of the new features and bug fixes in versions 3.2 and above. An option for this would be to migrate to PostgreSQL. Therefore,  we created a detailed documentation and process in place for migrating an Oracle database to PostgreSQL. The process was tested and validated by OpenClinica using version 3.1.4.1.

    We are working on putting together some additional documentation and it should soon be published to the OpenClinica Extensions site.

    I will add a note to this thread once it has been added to the Extensions site - https://community.openclinica.com/extensions

    Best,
    Thasbiha


  • tkhajatkhaja Posts: 60 ✭✭
    Though we ceased support for Oracle starting from version 3.2, we did take into consideration all our users who have been using Oracle and would like to continue to take advantage of the new features and bug fixes in versions 3.2 and above. An option for this would be to migrate to PostgreSQL. Therefore,  we created a detailed documentation and process in place for migrating an Oracle database to PostgreSQL. The process was tested and validated by OpenClinica using version 3.1.4.1.

    We are working on putting together some additional documentation and it should soon be published to the OpenClinica Extensions site.

    I will add a note to this thread once it has been added to the Extensions site - https://community.openclinica.com/extensions

    Best,
    Thasbiha
  • tkhajatkhaja Posts: 60 ✭✭
    Hi Jesus and Ian,

    The Oracle to PostgreSQL database migration scripts along with the instructions have been added to the community.openclinica.com/extensions website. Please feel free to take a look and let me know if you have any questions.

    Here is the link:
    https://community.openclinica.com/extension/oracle-postgresql-database-migration-0

    Thanks,
    Thasbiha
This discussion has been closed.