Installation von Enterprise Manager bringt die Fehlermeldung "ORA-14400: inserted partition key does not map to any partition"
Diesen Fehler hat Oracle schon seit sehr, sehr vielen Versionen bei der Installation vom Enterprise Manager / Grid Control / Cloud Control. Er tritt nicht bei jeder Installation auf, und wenn er auftritt, dann nur wenn man die Installation am Nachmittag durchführt. Das Problem ist, dass bei der Installation Partitionen mit englischer/amerikanischer Zeitschreibung angelegt werden - und die geht eben nur bis 12:00 AM/PM und nicht wie bei uns üblich bis 24:00. Dadurch können Daten während der Installation nicht richtig eingefügt werden.
Analyse - Beispiel Could Control 12c
Wenn die Fehlermeldung "ORA-14400: inserted partition key does not map to any partition" im Installer angezeigt wird, findet man im dazugehörigen Logfile unter "OMS_HOME/cfgtoollogs/cfgfw/CfmLogger<timestamp>log" folgende Zeilen:
INFO: oracle.sysman.top.oms:java.sql.SQLException: ORA-14400: inserted partition key does not map to any partition
INFO: oracle.sysman.top.oms:ORA-06512: at "SYSMAN.EM_SELF_UPDATE", line 1537
INFO: oracle.sysman.top.oms:ORA-06512: at line 1
INFO: oracle.sysman.top.oms:
INFO: oracle.sysman.top.oms:OMSCA-ERR:Post deploy operations failed. Check the trace file:/u01/app/em/middleware/oms/cfgtoollogs/omsca/omsca_20140402160051.log
INFO: oracle.sysman.top.oms:
Check the OMS Configuration Assistant logs at: /u01/app/em/middleware/oms/cfgtoollogs/omsca
INFO: oracle.sysman.top.oms:The plug-in OMS Configuration has failed its perform method
Je nach Oracle Enterprise Manager / Grid Control / Cloud Control gibt es entsprechende BUGS - warum es Oracle bis jetzt nicht geschafft hat, das Problem zu lösen ist aber ein Rätsel.
Für Cloud Control 12c lautet der Bug "BUG 18307758 - AUDIT PARTITIONS NOT CREATED ON EM INSTALL, WHEN DB TEMPLATE IS USED"
Die Lösung
In allen Versionen ist eine Möglichkeit, den Installer einfach stehen zu lassen und am nächsten Vormittag auf "RETRY" zu klicken. Das setzt aber voraus, dass man die Installation erst am nächsten Vormittag weiter zu machen.
Mit Grid Control 11g / Cloud Control 12c gibt es auch einen einfachen Workaround, damit man die Installation gleich weiterführen kann:
Als SYSMAN in der OMR Datenbank anmelden (Oracle Management Repository)
exec gc_interval_partition_mgr.partition_maintenance;
exec mgmt_audit_admin.add_audit_partition;
Damit werden die nötigen Partitionen angelegt und man kann im Installer auf "RETRY" klicken. Sollte man den Installer schon terminiert haben, gibt es noch einen Trick, wie man die Konfiguration nochmals anstarten kann:
Als Oracle Benutzer auf dem OMS (Oracle Management Server):
export ORACLE_HOME=<OMS_HOME>
$ORACLE_HOME/oui/bin/runConfig.sh ORACLE_HOME=$ORACLE_HOME MODE=perform ACTION=configure COMPONENT_XML={encap_oms.1_0_0_0_0.xml}