Home > Oracle 12c Datenbank > GI 12.1.0.2 und libsqlplus.so

GI 12.1.0.2 und libsqlplus.so

Oracle 12.1.0.2 Grid Infrastrukturinstallation vermisst libsqlplus.so

Die Ausgangssituation

Neu-Installation von GRID Infrastructure 12.1.0.2.0 oder Upgrade von GRID Infrastructure nach 12.1.0.2.0 unter Linux x86-64.

  • node1: lokaler Knoten (Knoten auf dem "runInstaller" gestartet wurde)
  • node2: "remote" Knoten

Das Problem / Symptom

Beim Ausführen von root.sh bzw. rootupgrade.sh auf dem "remote" Knoten kommt es zu folgendem Fehler:

...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/grid/12.1.0.2/crs/install/crsconfig_params
/u01/app/grid/12.1.0.2/bin/sqlplus -V ... failed rc=127 with message:
/u01/app/grid/12.1.0.2/bin/sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory

Died at /u01/app/grid/12.1.0.2/crs/install/crsutils.pm line 3740
...

Ein weiteres Symptom für das Auftreten o.a. Problems ist die unterschiedliche Anzahl von Libraries im GI Home vom lokalen Knoten vs. "remote" Knoten.

lokaler Knoten:
[oracle@node1 ~]$ ls -l /u01/app/grid/12.1.0.2/lib | wc -l
286

"remote" Knoten:
[oracle@node2 ~]$ ls -l /u01/app/grid/12.1.0.2/lib | wc -l
32

Die Lösung

Nachdem das Problem durch "runInstaller" verursacht wird, gibt es keinen One-Off-Patch. In Version 12.2. soll das Problem dann behoben sein.

Eine Umgehung des Problems ist trotzdem möglich

In der Sitzung, in der "runInstaller" gestartet werden soll, muss vor dem Start der Installation bzw. des Upgrades die Umgebungsvariable SRVM_USE_RACTRANS auf "true" gesetzt werden.

Für bash und ksh:
[oracle@node1 ~]$ export SRVM_USE_RACTRANS=true

 

Für csh:
[oracle@node2 ~]$ setenv SRVM_USE_RACTRANS true

Workaround wenn der Fehler schon aufgetreten ist

Falls der Fehler bereits aufgetreten ist, können die fehlenden Libraries einfach vom lokalen Knoten auf den "remote" Knoten kopiert werden. Danach root.sh bzw. rootupgrade.sh auf dem "remote" Knoten erneut durchführen.