블로그는 나의 힘!
[ Programing ]/Database2010. 3. 25. 23:39
Practice 4 : Naming Method Configuration

1. Server에 접속하여 Net Service Name을 Manual하게 구성하여 봅니다.
     (1) sqlnet.ora와 tnsnames.ora를 다음과 같이 적절히 편집합니다.
# cd $TNS_ADMIN
# vi sqlnet.ora

======================================= sqlnet.ora ======================================
     NAMES.DIRECTORY_PATH=(TNSNAMES)
==========================================================================================

# vi tnsnames.ora

===================================== tnsnames.ora ====================================
MTDB =
            (DISCRIPTION =
                 (ADDRESS_LIST =
                      (ADDRESS = (PROTOCOL=TCP)(HOST=X.X.X.X)(PORT=XXXX))
                 )
                 (CONNECT_DATA =
                      (SID = PROD)
                 )
            )
==========================================================================================

     (2) Tnsping Utility를 이용하여 접속테스트를 합니다.
# tnsping MYDB

     (3) 해당 Net Service Name을 이용하여 서버에 접속해 봅니다.
# sqlplus /nolog
SQL> conn system/manager@MYDB
SQL> select instance_name, host_name, status
         from v$instance;

< Option Test >
Oracle 8i Version부터는 클라이언트가 서버에 접속할 때 기존 방식인 Server의 "SID"를 이용하는 방식과 "Service Name"을 이용하는 방식, 두 가지가 있습니다. 그 중 Service Name을 이용하는 방식을 테스트해 봅니다.
     (1) Server의 initPROD.ora file과 listener.ora file에 다음이 구성되어 있는지 확인하고 그렇지 않다면
          다음과 같이 편집하세요.
# vi $ORACLE_HOME/dbs/initPROD.ora
......
DB_NAME=PROD
DB_DOMAIN=com
INSTANCE_NAME=PROD
SERVICE_NAMES=PROD.com

# cd $TNS_ADMIN
# vi listener.ora
......
     (SID_DESC=
          (GLOBAL_DBNAME=PROD.com)
          (ORACLE_HOME=/opt/oracle/product/9.2.0)
          (SID_NAME=PROD)
......

     (2) 리스너와 DB를 재시작하세요.
# lsnrctl
LSNRCTL> stop TEST
LSNRCTL> start TEST
LSNRCTL> exit
# sqlplus "/as sysdba"
SQL> startup force
SQL> exit
# lsnrctl
LSNRCTL> status TEST

     (3) tnsnames.ora file을 편집하여 새로운 Net Service Name을 등록하는데 SID_NAME 대신 SERVICE_NAME을 지정 
          (init.PROD.ora에 설정한 SERVICE_NAMES Parameter (service_names=PROD.com)를 참조) 하세요.

     (4) 접속상태를 확인합니다.
# sqlplus /nolog
SQL> conn system/manager@xxx
SQL> select instance_name, host_name, status
         from v$instance;
Posted by Mister_Q