TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2015-06-17 |
제목 | NET8I 서비스 이름(SERVICE NAME) 사용 방법 | ||
---|---|---|---|
NET8I 서비스 이름(SERVICE NAME) 사용 방법
oracle 8i 미만 버젼에서는 Oracle SID(System Identification) 정보만을 이용 하여 클라이언트에서 서버로의 접속이 이루어졌으나, Oracle 8i부터 새로이 소개된 Service Name을 이용하여 데이타베이스에 접속할 수 있게 되었다. 그러나 만일 Service Name을 적절히 기술되지 않으면 다음과 같은 오류를 만나게 되므로 그 사용 방법을 다루고자 한다. "ORA-12514 :TNS - Could not resolve service name" "ORA-12154 :TNS - Could not resolve service name" Net8 Easy Configuration 또는 Net8 Assistant 도구에서 Net Service Name을 입력하여야 하며, SERVICE_NAME은 TNSNAMES.ORA 화일에 CONNECT_DATA 절에 기술하여 하며, 과거 버젼의 (SID= SERVICE_NAME을 TNSNAMES.ORA에 지정하는 방법은 다음 세 가지로 가능하다. (1) 만일 LISTENER.ORA에 GLOBAL_DBNAME 파라메터가 지정되어 있다면, 그 이름 을 이용한다. (참고로 GLOBAL_DBNAME은 init 파라메터 구성된다.) listener.ora: ------------- SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = RC815.o200.kr.oracle.com) (ORACLE_HOME = /mnt3/rctest8i/app/oracle/product/8.1.5) (SID_NAME = RC815) ) ) tnsnames.ora: ------------- ora815 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = o200)(PORT = 1588)) ) (CONNECT_DATA = (SERVICE_NAME = RC815.o200.kr.oracle.com) ) ) (2) 초기화 파라메터 (참고로 SERVICE_NAMES의 디폴트 값은 SERVICE_NAMES이 명시적으로 지정되어 있지 않으면 형태의 지정이 가능하다.) init -------------- SERVICE_NAMES = MYDB DB_DOMAIN = o200.kr.oracle.com tnsnames.ora: ------------- ora815 = ... (CONNECT_DATA = (SERVICE_NAME = MYDB.o200.kr.oracle.com) ) ) 만일 둘 이상의 service name의 지정이 필요한 경우에는 다음과 같이 init init -------------- SERVICE_NAMES = MYDB1, MYDB2 DB_DOMAIN = o200.kr.oracle.com tnsnames.ora: ------------- ora815_A = ... (CONNECT_DATA = (SERVICE_NAME = MYDB1.o200.kr.oracle.com) ) ) ora815_B = ... (CONNECT_DATA = (SERVICE_NAME = MYDB2.o200.kr.oracle.com) ) ) (3) 마지막으로 init GLOBAL_DBNAME이 없는 경우에는 간단히 SID 값을 사용한다. tnsnames.ora: ------------- ora815 = ... (CONNECT_DATA = (SERVICE_NAME = ORA815) ) ) |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |