When a view gets corrupted, and the following error is found in the mam.autodiscovery log:
Caused by: java.sql.SQLException: [mercury][Oracle JDBC Driver][Oracle]ORA-04063: view "<CMDB schema name>.<name of the view that is corrupted>_0" has errors
at com.mercury.jdbc.oraclebase.BaseExceptions40.createAppropriateSQLExceptionInstance(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseExceptions40.createSQLException(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseExceptions.createException(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseExceptions.getException(Unknown Source)
at com.mercury.jdbc.oracle.OracleImplStatement.execute(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseStatement.commonExecute(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseStatement.executeInternal(Unknown Source)
at com.mercury.jdbc.oraclebase.BaseStatement.execute(Unknown Source)
... 107 more
Please note this issue may happen if any changes are made to class model. Each time a CI is added or removed from the CIT, those (db) views in the database gets rebuilt. As a result, they can get corrupted.
If you browse the view using SQL Developer and run a query that prints the entire table, you will see the same error as the one above.
In order to resolve such discrepancy, rebuilding the view should address this problem. To do so, please perform the following steps:
1) Go to the jmx console of the UCMDB server, and click on ‘UCMDB: service=DAL services’
2) And then click on ‘rebuildModelViews’
3) Enter the name of the view that is corrupted and hit invoke.