oratop e Oracle 18c: error while loading shared libraries

Ao executar o oratop versão 12.1 (a última que está no MOS para download) em um banco 18.3 recebo o erro abaixo.

[oracle@nerv02 ~]$ ./oratop.RDBMS_12.1_LINUX_X64 -f / AS SYSDBA
./oratop.RDBMS_12.1_LINUX_X64: error while loading shared libraries: libclntsh.so.12.1: cannot open shared object file: No such file or directory
[oracle@nerv02 ~]$

Vejo que na variável de ambiente das shared libraries tem um arquivo com o nome parecido, e com links simbólicos para as versões 10.1 e 11.1.

[oracle@nerv02 ~]$ echo $LD_LIBRARY_PATH
/u01/app/oracle/product/18.3.0.0/db_1/lib:/lib:/usr/lib
[oracle@nerv02 ~]$ ls -lh /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so.*
lrwxrwxrwx. 1 oracle oinstall  12 Jul 25 09:41 /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so.10.1 -> libclntsh.so
lrwxrwxrwx. 1 oracle oinstall  12 Jul 25 09:41 /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so.11.1 -> libclntsh.so
-rwxr-xr-x. 1 oracle oinstall 75M Jul 25 09:42 /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so.18.1
[oracle@nerv02 ~]$

Então crio mais um link simbólico, para a versão que o oratop procura.

[oracle@nerv02 ~]$ ln -s /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntsh.so.12.1
[oracle@nerv02 ~]$

Executo o oratop novamente, mas ele reclama de outra shared librarie.

[oracle@nerv02 ~]$ ./oratop.RDBMS_12.1_LINUX_X64 -f / AS SYSDBA
./oratop.RDBMS_12.1_LINUX_X64: error while loading shared libraries: libclntshcore.so.12.1: cannot open shared object file: No such file or directory
[oracle@nerv02 ~]$

Dessa vez não tem nenhum link simbólico já criado, mas crio para a 12.1.

[oracle@nerv02 ~]$ ls -lh /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntshcore.so.*
-rwxr-xr-x. 1 oracle oinstall 8,0M Jul 25 09:42 /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntshcore.so.18.1
[oracle@nerv02 ~]$ ln -s /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntshcore.so.18.1 /u01/app/oracle/product/18.3.0.0/db_1/lib/libclntshcore.so.12.1
[oracle@nerv02 ~]$

E pronto, oratop funcionando.

[oracle@nerv02 ~]$ ./oratop.RDBMS_12.1_LINUX_X64 -f / AS SYSDBA

oratop: Release 14.1.2 Production on Tue Aug  7 17:37:10 2018
Copyright (c) 2011, Oracle.  All rights reserved.

Connecting ...


Oracle 18c - Primary ORCL   17:37:04 up: 1.4h,   1 ins,   10 sn,   1 us, 4.5G mt,    0% fra,   0 er,    1 pdb,             249% db
ID %CPU LOAD %DCU   AAS  ASC  ASI  ASW  ASP  AST  UST MBPS IOPS IORL LOGR PHYR PHYW  %FR   PGA TEMP UTPS UCPS SSRT DCTR DWTR  %DBT
 1    7    5    6  10.0    0    0   10    0   10   10    1  113   6m  24k   96   67   14  512M 2.0M   61  218   5m    2   97   100

EVENT (C)                                                         TOTAL WAITS   TIME(s)  AVG_MS  PCT                    WAIT_CLASS
log file sync                                                           17253      2745   159.1   47                        Commit
db file sequential read                                                 46434      1331    28.7   23                      User I/O
log file parallel write                                                  7108       782   110.1   13                    System I/O
db file scattered read                                                  16424       572    34.9   10                      User I/O
db file parallel read                                                     552       385   697.5    7                      User I/O

ID   SID     SPID USERNAME  PROGRAM    SRV  SERVICE  PGA  SQLID/BLOCKER OPN  E/T  STA  STE  WAIT_CLASS  EVENT/*LATCH           W/T
 1  1162    25631 SOE       JDBC Thin  DED  prod    4.4M          1:768        0  ACT  WAI  Commit      log file sync         268m
 1    21    25629 SOE       JDBC Thin  DED  prod    4.1M          1:768        0  ACT  WAI  Commit      log file sync         267m
 1   405    25623 SOE       JDBC Thin  DED  prod    4.5M          1:768        0  ACT  WAI  Commit      log file sync         257m
 1  1163    25639 SOE       JDBC Thin  DED  prod    4.5M          1:768        0  ACT  WAI  Commit      log file sync         256m
 1  1161    25641 SOE       JDBC Thin  DED  prod    4.0M          1:768        0  ACT  WAI  Commit      log file sync         254m
 1   407    25625 SOE       JDBC Thin  DED  prod    5.1M                       0  ACT  WAI  Commit      log file sync         218m
 1   768     2703 B/G       LG00       DED  SYS$BAC 1.6M                    1.4h  ACT  WAI  System I/O  log file parallel wri 149m
 1  1149     2697 B/G       DBW0       DED  SYS$BAC 8.2M                    1.4h  ACT  WAI  System I/O  db file async I/O sub 149m
 1   406    25633 SOE       JDBC Thin  DED  prod    3.5M          1:768        0  ACT  WAI  Commit      log file sync         147m
 1     6     2707 B/G       LG01       DED  SYS$BAC 1.6M                    1.4h  ACT  WAI  System I/O  log file parallel wri 147m
 1    19    25627 SOE       JDBC Thin  DED  prod    3.7M          1:768        0  ACT  WAI  Commit      log file sync         145m
 1     5     2699 B/G       LGWR       DED  SYS$BAC 1.9M          1:768     1.4h  ACT  WAI  Other       LGWR any worker group 145m
 1    17    25637 SOE       JDBC Thin  DED  prod    4.6M          1:768        0  ACT  WAI  Commit      log file sync         144m
 1   782    25635 SOE       JDBC Thin  DED  prod    4.2M          1:768        0  ACT  WAI  Commit      log file sync         119m
 1  1159    29792 SYS       oratop.RD  DED  SYS$USE 6.4M  8cmdwwph48pju SEL    0  ACT  CPU  Other       cpu runqueue            4u
[oracle@nerv02 ~]$ 

4 comments

  1. Reason for error is that you are using oratop from oracle version 12c against oracle version 18c.
    Please do not mess with oracle shared libraries, other application client may fail.
    First, oratop is bundled with TFA compatible to a particular oracle release.
    Furthermore, starting In Oracle 12.2 onward, it also exits as stand alone in the directory with the same name under “$ORACLE_HOME/suptools/oratop”.
    Lastly, you could’ve used oratop from your 12c env. to connect remotely to 18c server (similar to sqlplus using EZConnect or tns).
    Cheers.

    1. Hi.
      Yes, I know the cause is because I’m using the wrong version of oratop. But in MOS Doc ID 1500864.1 was the newest available.
      Now I had noticed in the same Doc that the oratop is distributed along with the TFA.
      I loved that the oratop is already in $ ORACLE_HOME. Thank you for this information, I have not found it anywhere in Doc ID.

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.