나는 오라클에 대해서 전혀 모른다.. 음.. 전혀.. -_-;;;;; 뭐 Standard SQL은 알지만...
설정이라던가.. 그런것에 대해선 관심조차 갖질 않았으니....
이번 월요일에.... 업무차 출장을 갔다가... 오라클 클라이언트 설정하는 부분에서.....
오류가 나니까.. 막막하더고만.....
tnsname.ora인가? 오라클 버젼에따라서.....
Servername을 사용하는 경우가 있고... SID를 사용하는 경우도 있더라는 사실....
몰랐거덩... 아무튼.... 하나 알았으니.. 머 좋고만... ㅋㅋ
NET8I 서비스 이름(SERVICE NAME) 사용 방법 입니다.
Oracle 8i 미만 버젼에서는 OracleSID(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=<SIDname>) 절을 대치시킨 것이다. SERVICE_NAME을 TNSNAMES.ORA에 지정하는 방법은 다음 세 가지로 가능하다. (1) 만일 LISTENER.ORA에 GLOBAL_DBNAME 파라메터가 지정되어 있다면, 그 이름 을 이용한다. (참고로 GLOBAL_DBNAME은 init 파라메터 <DB_NAME>.<DB_DOMAIN>의 형태로 구성된다.) 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>.<DB_DOMAIN>의 형태를 이용한다. (참고로 SERVICE_NAMES의 디폴트 값은 <DB_NAME>.<DB_DOMAIN>이므로 SERVICE_NAMES이 명시적으로 지정되어 있지 않으면 <DB_NAME>.<DB_DOMAIN> 형태의 지정이 가능하다.) init<SID>.ora: -------------- SERVICE_NAMES = MYDB DB_DOMAIN = o200.kr.oracle.com tnsnames.ora: ------------- ora815 = ... (CONNECT_DATA = (SERVICE_NAME = MYDB.o200.kr.oracle.com) ) ) 만일 둘 이상의 service name의 지정이 필요한 경우에는 다음과 같이 init<SID>.ora화일에 SERVICE_NAMES에 이름을 연속하여 지정한 후 사용할 수 있다. init<SID>.ora: -------------- 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<SID>.ora에 DB_DOMAIN 파라메터가 없고, listener.ora에도 GLOBAL_DBNAME이 없는 경우에는 간단히SID값을 사용한다. tnsnames.ora: ------------- ora815 = ... (CONNECT_DATA = (SERVICE_NAME = ORA815) ) ) |