소소한 일상에서 책읽기 중

Scan IP와 DB LINK 사용시 Ora-12154 에러 발생 본문

DB까다롭다

Scan IP와 DB LINK 사용시 Ora-12154 에러 발생

다솜여우 2011. 12. 29. 14:13

RAC 로 구성된 노드에서 connection을 분산시키기 위해서 scan ip를 사용한다.
(오라클이 접속할 노드를 결정하므로, 사용자는 어느 노드에 접속된지 알 지 못하는 단점이 있다)

그리고 다른 DBMS에 연결해서 작업을 하는데, DB LINK를 사용한다..
(즉 (A) 서버의 데이터를 (B) 서버로 가져오기 위해서 DB LINK를 사용함)

그러면 DB LINK로 접속을 하는데, 이 때 접속 노드 결정은 scan ip를 통해서 하므로 오라클이 알아서 접속시킨다..

그런데, 여기서 문제 발생!!

시간 단위 배치로 돌고 있는 작업에서 가끔씩 Ora-12154 에러가 발생하는 것이다.

왜 일까??

그래서 (B)서버의 전노드 tnsname.ora를 뒤졌다..

이런!! 일부 노드에는 tnsname.ora가 없거나, tnsname.ora에 (A) 서버의 정보가 없었다...

해결방법은 tnsname.ora 에 (A)서버의 정보를 넣어줬다...

아직까지는 에러가 발생하지 않는군...

=================================================================================================================================

1. 문제 발생 : DB Link를 통해 데이터를 가져올 때 Ora-12154 에러 발생

2. 원인 :  (A) 서버에서 (B) 서버로 접속하기 위한 TNSNAME 데이터가 존재 하지 않았음
          즉, (A)서버에서 (B)서버로 접근하려면 (A)서버가 클라이언트가 되므로 (B) 서버로 접근하기 위해서는 (A)서버 정보가 필요함.

3. 주의사항 : DB Link를 생성하고 테스트 할 때는 문제 발생하지 않았는데, 운영 중에 간간이 발생하는 이유는?

  ==> scan ip를 사용하기 때문 : scan ip를 사용하면 오라클이 접속을 관리하므로, 사용자는 어떤 서버에 접속이 된지 모른다.
                                             그러므로 db link 생성하고 테스트 했을 당시에는  tnsname.ora 에 (A)서버 정보가 있는 노드로 접속을 했기 때문에 에러가 바로 발생하지 않은 것이라고 추정함
(scan ip : 11g New Feature)

=================================================================================================================================