Installationshinweise zu Oracle Enterprise Manager Patch 13248190 – 11.1.0.1.6 Patch Set Update for Oracle Management Service
Im Großen und Ganzen ist die Readme zum Patch und zur Installation in Ordnung. Jedoch gibt es ein kleines Hindernis über das man stolpern könnte. Nachdem alle Prerequisites erfüllt sind und etwaige Probleme mit one-off Patches behoben sind, geht es an die eigentliche Installation:
cmd> emctl stop oms -all Oracle Enterprise Manager 11g Release 1 Grid Control Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved. Stopping WebTier... WebTier Successfully Stopped Stopping Oracle Management Server... Oracle Management Server Successfully Stopped Oracle Management Server is Down
cmd> PATCH_TOP\13248190\ opatch apply
Invoking OPatch 11.1.0.8.0 Oracle Interim Patch Installer version 11.1.0.8.0 Copyright (c) 2009, Oracle Corporation. All rights reserved. ... OPatch succeeded
Nun kommt es zu dem oben erwähnten Hindernis. In der Readme ist zu lesen:
%ORACLE_HOME%\bin\rcuJDBCEngine sysman@<host>:<port>:<SID> JDBC_SCRIPT apply.sql %PWD% %ORACLE_HOME%
Enter the password for SYSMAN
user when prompted.
Setzt man die benötigten Umgebungsvariablen und führt dieses Statement aus, kommt es zu folgendem Fehler:
cmd> %ORACLE_HOME%\bin\rcuJDBCEngine sysman@orclhost:1521:orcloem JDBC_SCRIPT apply.sql %PWD% %ORACLE_HOME% Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range:0 at java.lang.String.charAt(String.java:686) at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:386) at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:634) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:208) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:508) at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:203) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:154) at oracle.sysman.assistants.common.dbutil.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:259) at oracle.sysman.assistants.common.dbutil.jdbc.ConnectionFactory.createConnection(ConnectionFactory.java:142) at oracle.sysman.assistants.common.dbutil.jdbc.ConnectionHelper.getConnection(ConnectionHelper.java:61) at oracle.sysman.assistants.common.dbutil.jdbc.JDBCEngine.getConnection(JDBCEngine.java:889) at oracle.sysman.assistants.common.dbutil.jdbc.JDBCEngine.connect(JDBCEngine.java:417) at oracle.sysman.assistants.common.dbutil.jdbc.JDBCEngine.main(JDBCEngine.java:1982)
Diese Fehler hat einiges an Output, was das Problem sein könnte, aber die Lösung ist umso trivialer. Der Aufruf für rcuJDBCEngine muss mit Benutzername und Passwort erfolgen. Es gibt keine Abfrage nach dem Passwort wie in der Readme beschrieben. So funktioniert’s;
cmd> %ORACLE_HOME%\bin\rcuJDBCEngine sysman/syspwd@orclhost:1521:orcloem JDBC_SCRIPT apply.sql %PWD% %ORACLE_HOME%
Danach die nächsten Schritte wie in der Readme angegeben und der Patch ist installiert.