프린트 하기

OS환경 : Oracle Linux 6.10 (64bit)

 

DB 환경 : Oracle Database 11.2.0.4 RAC

 

에러 : /oracle/app/11.2.0/grid/bin/crsctl.bin: error while loading shared libraries: /oracle/app/11.2.0/grid/lib/libclntsh.so.11.1: file too short

오라클 11gR2 RAC OS 커널 패치시 작업 가이드 [https://positivemh.tistory.com/804]

작업 단계중 rootcrs.pl -patch 작업 시 에러 발생

1
2
3
4
5
6
7
# cd $GRID_HOME/crs/install
# $GRID_HOME/perl/bin/perl ./rootcrs.pl -patch
Using configuration parameter file: ./crsconfig_params
Installing Trace File Analyzer
/oracle/app/11.2.0/grid/bin/crsctl.bin: error while loading shared libraries: /oracle/app/11.2.0/grid/lib/libclntsh.so.11.1: file too short
at /oracle/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 1446.
Timed out waiting for the CRS stack to start.

 

 

해결 방법 : relink all 재시도 또는 에러에 나온 파일 정상서버에서 복사

해당 파일 확인

1
2
3
# cd /oracle/app/11.2.0/grid/lib/
# ls -al libclntsh.so.11.1 
-rw-r--r--. 1 oracle oinstall 0 Jan 15 22:02 libclntsh.so.11.1

현재 용량이 0임

 

 

unlock 후 relink 시 어떠한 문제때문에 해당 라이브러리 파일이 제대로 구성되지 못해서 

파일 사이즈가 0이 되어서 grid 기동이 실패함

 

 

relink grid, db 모두 재시도

grid owner로 grid relink(모든 노드)
(나의 경우 grid 설치시 별도의 유저없이 oracle 유저로 설치했기 때문에 oracle 유저로 relink)

1
2
3
4
5
6
7
8
9
# su - oracle
$ export ORACLE_HOME=$GRID_HOME
$ echo $ORACLE_HOME
/oracle/app/11.2.0/grid
$ cd $GRID_HOME/bin
$ pwd
/oracle/app/11.2.0/grid/bin
$ ./relink all
writing relink log to: /oracle/app/11.2.0/grid/install/relink.log

 

 

db owner로 db relink(모든 노드)

1
2
3
4
5
6
7
8
9
# su - oracle
$ export ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
$ echo $ORACLE_HOME
/oracle/app/oracle/product/11.2.0/db_1
$ cd $ORACLE_HOME/bin
$ pwd
/oracle/app/oracle/product/11.2.0/db_1/bin
$ ./relink all
writing relink log to: /oracle/app/oracle/product/11.2.0/db_1/install/relink.log

 

 

파일 용량 확인

1
2
3
# cd /oracle/app/11.2.0/grid/lib/
# ls -al libclntsh.so.11.1 
-rw-r--r--. 1 oracle oinstall Jan 15 22:02 libclntsh.so.11.1

용량 변화가 없음

 

 

정상적인 노드나 동일한 os, 동일한 db 버전이 있는 서버의 $GRID_HOME/lib에서

해당 libclntsh.so.11.1 파일을 복사해옴

1
2
3
4
5
6
7
# scp libclntsh.so.11.1 192.168.137.50:/oracle/app/11.2.0/grid/lib/
The authenticity of host '192.168.137.50 (192.168.137.50)' can't be established.
RSA key fingerprint is 71:d6:25:8b:0b:51:9a:8d:ff:73:76:03:8a:e1:2e:b4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.137.50' (RSA) to the list of known hosts.
root@192.168.137.50's password: 
libclntsh.so.11.1                                                                                                          100%   51MB  51.3MB/s   00:00  

 

 

파일 용량 확인

1
2
3
# cd $GRID_HOME/lib
# ls -al libclntsh.so.11.1 
-rw-r--r--. 1 root oinstall 53793658 Jan 15 22:22 libclntsh.so.11.1

용량이 0이 아닌 정상 용량임

 

 

rootcrs.pl -patch 재시도

1
2
3
4
# $GRID_HOME/perl/bin/perl $GRID_HOME/crs/install/rootcrs.pl -patch
Using configuration parameter file: /oracle/app/11.2.0/grid/crs/install/crsconfig_params
Installing Trace File Analyzer
CRS-4123: Oracle High Availability Services has been started.

정상적으로 기동됨

 

 

grid 상태 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.LISTENER.lsnr
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.OCR_VOTE.dg
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.ORADATA.dg
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.ORAFRA.dg
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.asm
               ONLINE  ONLINE       rac1                     Started             
               ONLINE  ONLINE       rac2                     Started             
ora.gsd
               OFFLINE OFFLINE      rac1                                         
               OFFLINE OFFLINE      rac2                                         
ora.net1.network
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
ora.ons
               ONLINE  ONLINE       rac1                                         
               ONLINE  ONLINE       rac2                                         
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       rac2                                         
ora.cvu
      1        ONLINE  ONLINE       rac2                                         
ora.oc4j
      1        ONLINE  ONLINE       rac2                                         
ora.rac1.vip
      1        ONLINE  ONLINE       rac1                                         
ora.rac2.vip
      1        ONLINE  ONLINE       rac2                                         
ora.racdb.db
      1        ONLINE  ONLINE       rac1                     Open                
      2        ONLINE  ONLINE       rac2                     Open                
ora.scan1.vip
      1        ONLINE  ONLINE       rac2  

모두 정상

 

 

해당 파일을 복구하고도 또 비슷한 에러가 발생한다면 파일 복사를 더해보고 그래도 안된다면 SR을 진행해야함

(GRID 엔진 백업본이 없다면 GRID 재설치가 가장 빠른 방법일수있음)

 

 

원인 : relink 시 원인미상의 문제로 인해 발생한 에러

정확한 원인을 찾지못함

추측을 해보면 unlock 후 relink 시 어떠한 문제때문에 해당 라이브러리 파일이 제대로 구성되지 못해서 

파일 사이즈가 0이 되어서 grid 기동이 실패하는듯함

 

 

참조 :