안녕하세요.. 수고들 많으세요..
다름이 아니라 이미 생성된 db링크가 있는데요..
CREATE PUBLIC DATABASE LINK IPAD_DB
CONNECT TO AAA
USING 'IPAD_DB'
이렇게 생성되어 있습니다.
그리고 이것을 쿼리하면 SELECT SYSDATE FROM DUAL@IPAD_DB 하면 잘 가져옵니다. DUAL 테이블이외의 테이블도 잘 조회가 되구요
그런데 노란색 바탕 중 IPAD_DB 는 제 PC이 TNSNAMES.ORA에는 정의된 게 없구요.
그렇다고
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.109.12.123)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)'
뭐 이런식으로 표현을 한것도 아닌데, 디비링크를 사용하면 잘 되고 있단 말이죠..
이걸 어떻게 해석해야 하나요..
TNS에 서비스명을 기술한것도 아니고, 그렇다고 db링크 생성할때 DESCRIPTION .. 구문을 사용한것도 아닌데
어떻게 디비링크가 되고 있는지 알고 싶고, 어디에서 확인할 수 있는지 알고 싶습니다.
개발db서버 쪽에서도 이런식으로 DB LINK가 만들어진게 있는데, 이 링크가 작동을 안합니다.
ora-12154 tns could not resolve the connect identifier specified 와 같은 에러가 나고요.
v$parameter 에 global_names=false로 설정되어 있구요.
TNSnames.ora, sqlnet.ora, 시스템 패스 등은 개발자 임의로 수정할 수 없는 상태이구요.
ORACLE 11g 입니다.
ora-12154로 찾아보면서 해볼 건 해봤는데,, 에러의 원인이 뭔지 잡히는게 없네요..
그래서 운영DB서버에서 잘 사용하고 있는 디비링크와 비교해보려고 했던거구요.. 운영서버의 DB링크의 Using '서비스명'
은 PC의 tnsnames.ora에 없이도 잘 되는 이유를 알면 ora-12154 에러도 확인 될 것 같아서 질문 올립니다.
다들 풍요로운 추석 보내시구요.