Wie die meisten sicherlich schon wissen, hat sich mit der Installation der Grid Infrastructure von Oracle 12.2 einiges geändert. Die Software wird jetzt einfach im GRID_HOME ausgepackt und dann installiert.
Damit einher gehen aber auch Änderungen am Oracle Inventory oder genauer an der inventory.xml
(in den meisten Fällen im Verzeichnis /u01/app/oraInventory/ContentsXML
).
Bis Version 12.1 wurden für alle installierten Komponenten (also GI, Datenbank, Client, etc.) die entsprechenden Knoten aufgeführt. Ab Version 12.2 fehlt dieser Eintrag, siehe auch MOS: 12.2: Oracle inventory does not have references for cluster nodes (Doc ID 2264757.1).
Oracle Inventory bis 12.1
So sah die Datei inventory.xml
bis Version 12.1 aus:
<INVENTORY> <VERSION_INFO> <SAVED_WITH>12.1.0.2.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="OraGI12Home1" LOC="/u01/app/grid/product/12.1.0.2/gridhome" TYPE="O" IDX="1" CRS="true"> <NODE_LIST> <NODE NAME="trzlora101"/> <NODE NAME="trzlora102"/> </NODE_LIST> </HOME> <HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12.1.0.2/dbhome_1" TYPE="O" IDX="2"> <NODE_LIST> <NODE NAME="trzlora101"/> <NODE NAME="trzlora102"/> </NODE_LIST> </HOME> </HOME_LIST> <COMPOSITEHOME_LIST> </COMPOSITEHOME_LIST> </INVENTORY>
Zu jeder Installation gibt es eine NODE_LIST
mit den zugehörigen Knoten.
Oracle Inventory ab 12.2
Und so sieht die Datei inventory.xml
ab Version 12.2 aus:
<INVENTORY> <VERSION_INFO> <SAVED_WITH>12.1.0.2.0</SAVED_WITH> <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER> </VERSION_INFO> <HOME_LIST> <HOME NAME="OraGI12Home1" LOC="/u01/app/grid/product/12.2.0/gridhome" TYPE="O" IDX="1"/> <HOME NAME="OraDB12Home1" LOC="/u01/app/oracle/product/12.1.0.2/dbhome_1" TYPE="O" IDX="2"> <NODE_LIST> <NODE NAME="trrlora102"/> </NODE_LIST> </HOME> </HOME_LIST> <COMPOSITEHOME_LIST> </COMPOSITEHOME_LIST> </INVENTORY>
Die Datenbank Software wurde in diesem Beispiel mit AttachHome eingehängt, also nicht installiert. Der Grund, warum dort der zweite Clusterknoten trrlora102
eingetragen ist, erschließt sich mir momentan nicht. Ich gehe davon aus, dass es einfach daran liegt, dass der AttachHome auf diesem Knoten als letztes durchgeführt wurde.
Ob das aber so im Sinne des Erfinders ist, oder ob man besser mit runInstaller.sh UpdateNodeList
die Knoten wieder hinzufügt, weiß ich nicht. Derzeit habe ich dafür einen SR geöffnet. Leider wollen die Kollegen erst einmal eine TFA Diagcollection haben (wofür auch immer).
Hinweis
Einige Installationen, z.B. die Oracle Datenbank Software 11.2.0.4, kommt mit einem solchen Inventory nicht zurecht. Daher muss man in einem solchen Fall mit „UpdateNodeList“ zunächst die Knoten in der Liste nachtragen, danach funktioniert die Installation aber.
Ein Problem, was momentan ebenfalls ungelöst ist, ist die Installation des Oracle Cloud Control Agenten. Ein AttachHome funktionierte nicht, weil der Installer der Ansicht war, dass der Knoten (LOCAL_NODE) falsch wäre. Wir arbeiten daran …
OPatch lsinventory
Die Änderung macht auch vor dem OPatch nicht halt. Bis zur Version 12.2.0.1.10 gab es am Ende des Befehls opatch lsinventory
immer noch die Zusammenfassung, für welchen Knoten das gilt, z.B. in dieser Form:
Patching Level Nodes -------------- --------------------- 26717470 trzlora101,trzlora102
Ab der Opatch Version 12.2.0.1.11 gibt es diese Information nicht mehr. Mehr dazu findet man in diesem MOS Dokument: Opatch does not shows Local host and remote host details (Doc ID 2332321.1)
Also nicht wundern, dass mit den neuen Releases das Inventory anders aussieht.