2020년 10월 22일 목요일

ORA-12528, TNS:listener: all appropriate instances are blocking new connections.

 1. 오라클 접속 하려고 했더니 아래와 같은 에러 발생.


oracle.net.ns.NetException: Listener refused the connection with the following error:

ORA-12528, TNS:listener: all appropriate instances are blocking new connections.


2. 오라클 서버에 접속해서 리스너 상태 확인.

lsnrctl stat


상태가 BLOCKED로 나옴.

Instance "orcl", status BLOCKED, has 1 handler(s) for this service...


3. sqlplus 접속해서 오라클 재시작. ORA-00205 에러가 난다.

SQL> shutdown abort;

ORACLE instance shut down.

SQL> startup;

ORACLE instance started.

...

Total System Global Area 1.0133E+10 bytes

Fixed Size     3721272 bytes

Variable Size 1778386888 bytes

Database Buffers 8321499136 bytes

Redo Buffers    29831168 bytes

ORA-00205: error in identifying control file, check alert log for more info

...



4. alert log 확인. alert log의 기본위치는 아래와 같다.

10g 이하는 $ORACLE_BASE/admin/$ORACLE_SID/bdump

11g부터는 $ORACLE_BASE/diag/rdbms/'DATABASE NAME'/$ORACLE_SID/trace



아래와 같은 에러 확인.

Wed Oct 21 17:55:04 2020

starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...

starting up 1 shared server(s) ...

ORACLE_BASE from environment = /home/oracle/app

Wed Oct 21 17:55:04 2020

ALTER DATABASE   MOUNT

Wed Oct 21 17:55:04 2020

ORA-00210 : cannot open the specified control file 

ORA-00202: control file: '/oradata/oradata/mydatabase/control01.ctl'

ORA-27086: unable to lock file - already in use

Linux-x86_64 Error: 11: Resource temporarily unavailable

Additional information: 8

ORA-205 signalled during: ALTER DATABASE   MOUNT...

Wed Oct 21 17:55:07 2020

Using default pga_aggregate_limit of 6440 MB


5.

/oradata 위치는 nfs로 연결된 스토리지이다. 

/oradata/oradata/로 이동해서 파일 권한, 소유자 확인 했지만, 이상없음.

파일생성, 삭제, 수정 해봤지만, 정상임.


6.

에러 원인 확인 불가. 해결법은 찾음.

해결법은 에러가 나는 control01.ctl 파일이름을 변경 후 다시 원래 이름으로 복사.

오라클 중지 후 작업한다.

mv control01.ctl control01.ctl.bak

cp control01.ctl.bak control01.ctl


오라클 시작.

control01.ctl의 에러는 사라졌지만, /oradata 위치의 몇몇 파일들이 같은 문제를 일으킴. 역시 위와 같은 방식으로 다시 처리.


정상화 완료.


파일 디스크립터가 어떤 이유로 스토리지에서 열린 상태로 유지되어 발생하는 오류로 보인다. 아마도 네트워크에 뭔가 문제가 생겼을 때, 그냥 끊어져 버린게 아닌가 싶다.





댓글 없음:

댓글 쓰기