Monday, July 20, 2015

ORA-17008 when running the RCU

Problem:

When running the RCU (Repository Creation Utility) to create the SOA Suite 12c schemas, you may get the following error:
ORA-17008: Closed ConnectionFile:/u01/share/oracle/middleware/products/fmw1213/soa/common/sql/soainfra/sql/oracle/createschema_soainfra_oracle_LARGE.sql
Statement: ALTER TABLE B2B_DATA_STORAGE ADD CONSTRAINT B2B_DATA_STORAGE_PK PRIMARY KEY (ID)...




Analysis:

Check out the RCU log file /u01/share/oracle/middleware/products/fmw1213/oracle_common/rcu/log/logdir.2015-07-20_11-02/rcu.log and you will find the same error in the logs:
2015-07-20 11:11:38.953 ERROR rcu: oracle.sysman.assistants.rcu.backend.action.AbstractAction::handleNonIgnorableError: Received Non-Ignorable Error: ORA-17008: Closed ConnectionFile:/u01/share/oracle/middleware/products/fmw1213/soa/common/sql/soainfra/sql/oracle/createschema_soainfra_oracle_LARGE.sql
Statement:ALTER TABLE B2B_DATA_STORAGE
    ADD CONSTRAINT B2B_DATA_STORAGE_PK PRIMARY KEY (ID)

2015-07-20 12:47:39.352 ERROR rcu: oracle.sysman.assistants.common.dbutil.jdbc.JDBCEngine::onException: SQLException: Closed Connection
java.sql.SQLRecoverableException: Closed Connection
        at oracle.jdbc.driver.PhysicalConnection.getMetaData(PhysicalConnection.java:3131)
        at...
However, the error is not due to the SQLException: Closed Connection you see above.

Now check out the next log file /u01/share/oracle/middleware/products/fmw1213/oracle_common/rcu/log/logdir.2015-07-20_11-02/soainfra.log and view its contents:
2015-07-20 11:11:38.949 rcu:Extracted SQL Statement: [CREATE TABLE B2B_DATA_STORAGE
(
    VALUE_SELECTOR VARCHAR2(256),
    CLOB_VALUE CLOB,
    BLOB_VALUE BLOB,
    DATA_SIZE NUMBER(10,0),
    ATTRIBUTE1 VARCHAR2(256),
    ATTRIBUTE2 VARCHAR2(256),
    LABEL VARCHAR2(256),
    DOCUMENT_ID VARCHAR2(200),
    JOB_ID VARCHAR2(128),
    ID VARCHAR2(256) NOT NULL,
    CPST_INST_CREATED_TIME TIMESTAMP DEFAULT systimestamp-30,
    IS_OBFUSCATED NUMBER(1)
)
 PARTITION BY RANGE (CPST_INST_CREATED_TIME)
 INTERVAL(NUMTOYMINTERVAL(1, 'MONTH'))
 (PARTITION p0 VALUES LESS THAN (TO_DATE('1-2-2007', 'DD-MM-YYYY')))
]
2015-07-20 11:11:38.949 rcu:Statement Type: 'DDL Statement'
JDBC SQLException - ErrorCode: 439SQLState:67000 Message: ORA-00439: feature not enabled: Partitioning

JDBC SQLException handled by error handler
Here, you can clearly see an ORA-00439: feature not enabled: Partitioning error when the actual DDL statement is executed. This error indicates that partitioning is not enabled in the database that we are trying to run the RCU against.



Solution:

1. In our case, during the RCU installation wizard, do not choose the database profile value of LARGE, and instead choose SMALL (note that this value is case sensitive).

Alternatively, we could upgrade the database to support partitioning.


2. Check all logs (not just the rcu.log) in the RCU logs directory.



Applicable Versions:
  • Oracle Repository Creation Utility (RCU) 12c (12.1.3)
  • Oracle SOA Suite 12c (12.1.3)



No comments: