At a client’ site I decided to install the Enterprise Manager Cloud Control 13c. I did not encountered any special problem :=) , then I installed an agent 13c on the development plattform and added targets as usual, but at this timeI discovered that half of my database targets in 18.104.22.168 version were in the following state :
2016-02-05 15:31:46,863 [2527:A154C6AD] INFO - Target: [oracle_database.TESTDBA] is fully broken: Dynamic Category property error (code=0x400)
The gcagent.log showed me the errors:
2016-01-28 13:41:11,423 [261843:CE28B2D8] INFO - >>> Reporting exception: oracle.sysman.emSDK.agent.client.exception.NoSuchTargetException: the oracle_database target "TESTDBA" does not exist (request id 1) <<< oracle.sysman.emSDK.agent.client.exception.NoSuchTargetException: the oracle_database target "TESTDBA" does not exist at oracle.sysman.gcagent.dispatch.cxl.GetMetricDataAction.satisfyRequest(GetMetricDataAction.java:175) at oracle.sysman.gcagent.dispatch.ProcessRequestAction._call(ProcessRequestAction.java:135) at oracle.sysman.gcagent.dispatch.ProcessRequestAction.call(ProcessRequestAction.java:96) at oracle.sysman.gcagent.dispatch.InlineDispatchCoordinator.dispatchRequest(InlineDispatchCoordinator.java:235) at oracle.sysman.gcagent.dispatch.DispatchRequestsAction.call(DispatchRequestsAction.java:111) at oracle.sysman.gcagent.dispatch.DispatchRequestsAction.call(DispatchRequestsAction.java:51) at oracle.sysman.gcagent.task.DiagWrappedAction.call(DiagWrappedAction.java:52) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at oracle.sysman.gcagent.task.SingleActionTask.run(SingleActionTask.java:76)
Looking at /https://agent:3872/emd/browser/main we can display the following error:
2016-01-22 11:49:34,661 ERROR - The target is fully broken (code=0x404) for the following reason: Invalid Input 2016-01-22 11:49:35,184 ERROR - The target is fully broken (code=0x406) for the following reason: No valid queryDescriptor or executionDescriptor found for target [oracle_database.TESTDBA$11] 2016-01-22 11:49:35,193 INFO - Dynamic property execution error for [DeduceAlertLogFile], error: Can't resolve a non-optional query descriptor property [background_dump_dest
I opened a SR and Oracle gave me an important hint by asking me to run the following query:
SQL> select v.version "DBVersion", p.value "DBDomain" from (select nvl((select version from (select version || '.'|| id version from dba_registry_history where NAMESPACE = 'SERVER' and BUNDLE_SERIES='PSU' order by ACTION_TIME desc) where rownum = 1), (select version from v$instance)) version from dual) v, v$parameter p where p.name='db_domain'; and BUNDLE_SERIES='PSU' * ERROR at line 3: ORA-00904: "BUNDLE_SERIES": invalid identifier
We can notice the BUNDLE_SERIES column does not exist in the view dba_registry_history for my database target in a fully broken state.
By the way there is a bug number 9656976 :
Execution of catbundle.sql is not always required for new and upgraded databases. The Readme documentation indicates when it is required. However, you can execute catbundle.sql when it is not required so that the new or upgraded database has an updated dba_registry_history table
I tried a first solution by creating a table named dba_registry_history under the dbsnmp monitoring user in my broken database target, and the target was dicovered successfully, and was not anymore in a fully broken state.
Finally I choosed to run the catbundle.sql script on every database which were in a broken state, and the database target discovery was successfull for every database.