다음 이전 차례

4. 서버에 SQL*Net을 설정하기

모든 이러한 부류의 파일들은 Oracle 네트워크에 관련된 소프트웨어(SQL*Net,aka Net8 for Oracle8)를 설정한다. 이러한 파일들은 $ORACLE_HOME/network/admin디렉토리안에 서버로써 생성되어져야 한다.

4.1 tnsnames.ora

TNSNAMES.ORA파일은 연결 가능한 데이타베이스 인스턴스들을 기술하여 준다. 새로이 생성된 데이터베이스 인스턴스를 위해 아래부분과 같이 추가한다.


       orcl.world =
         (DESCRIPTION =
           (ADDRESS_LIST =
               (ADDRESS =
                 (COMMUNITY = tcp.world)
                 (PROTOCOL = TCP)
                 (Host = <INSERT HOST NAME OF SERVER HERE> )
                 (Port = 1521)
               )
               (ADDRESS =
                 (COMMUNITY = tcp.world)
                 (PROTOCOL = TCP)
                 (Host = <INSERT HOST NAME OF SERVER HERE> )
                 (Port = 1526)
               )
           )
           (CONNECT_DATA = (SID = ORCL)
           )
         )

4.2 listener.ora

LISTENER.ORA파일은 다른 시스템에 연결하는 것에 관련된 부분을 기술하고 서버 listener을 위해 요구되는 다른 설정을 포함한다. listener이름, listener주소, listener에 의해 제공되는 데이터베이스, 설정매개변수등을 또한 포함한다. 다음에 한 예가 있다.


       # Name of listener and addresses to listen on
       LISTENER =
               ( ADDRESS_LIST =
                       (ADDRESS =
                               (PROTOCOL=tcp)
                               (HOST=<INSERT HOST>)
                               (PORT=1521)
                               (COMMUNITY=UK_SUP_TCPIP)
                       )
                       (ADDRESS =
                               (PROTOCOL=ipc)
                               (KEY=700)
                               (COMMUNITY=UK_SUP_TCPIP)
                       )
               )
      # List of services served by this listener
       SID_LIST_LISTENER=
               (SID_LIST=
                       (SID_DESC=
                               (SID_NAME=orcl)
                               (ORACLE_HOME=/home/oracle/7.3.3.0.0)
                       )
               )
      # Start of configuration parameters.
       TRACE_LEVEL_LISTENER=OFF
       TRACE_FILE_LISTENER = "listener"
       LOG_FILE_LISTENER = "listener"
       CONNECT_TIMEOUT_LISTENER = 10
       STOP_LISTENER = YES
       DBA_GROUP = dba

4.3 sqlnet.ora

SQLNET.ORA파일은 네트워크의 특별한 연결지점(node)에 대한 설정을 포함한다. 이것은 데이터베이스와 listener의 수와는 상관이 없다. 이 파일에서 가장 중요한 부분은 Dead Connection Timeout 설정변수이다.Dead Connection Timeout은 데이터베이스 인스턴스에 접수되는 각각의 프로세스를 체크하고, 계속적인 응답에 관련된 클라이언트를 확인한다. 클라이언트(어떠한 형태의)가 응답이 되지 않는다면 Oracle 서버의 실행중인 프로세스는 중지된다. 이것은 많은 수의 클라이언트가 데이터베이스에 접근하려할 때 매우 유용한다. 특히, Oracle데이터베이스로부터 정확히 빠져나가는데 실패하는 클라이언트들이 많이 존재할 가능성이 있는 개발기간에 적용이 된다고 볼 수 있다. 아래부분에 당신이 사용할 sqlnet.ora파일의 예가 있다.


        TRACE_LEVEL_CLIENT = OFF
        sqlnet.expire_time = 30         # The number of seconds between
        client checks.
        names.default_domain = world
        name.default_zone = world

4.4 Listener을 실행시키고 종료하기

listener와 SQL*Net의 설정을 끝마쳤으므로, 네트워크 소프트웨어를 사용하여 데이터베이스에 접근할 수 있다.(데이터베이스에 직접 연결을 하기전에, 우리는 원격 클라이언트 시스템에서 접근하는 것을 시험할 것이다.) 위의 설정을 사용하여 listener을 실행시킨다.


       $ lsnrctl
        LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production 
        on 23-FEB-98 20:38:25
        Copyright (c) Oracle Corporation 1994.  All rights reserved.
        Welcome to LSNRCTL, type "help" for information.
        LSNRCTL> start
        Starting /home/oracle/7.3.3.0.0/bin/tnslsnr: please wait...
        TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
        System parameter file is
        /home/oracle/7.3.3.0.0/network/admin/listener.ora
        Log messages written to
        /home/oracle/7.3.3.0.0/network/log/listener.log
        Listening on:
        (ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=192.168.1.1)(PORT=1521))
        Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=700))
        Connecting to
        (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)
                (COMMUNITY=UK_SUP_TCPIP))
        STATUS of the LISTENER


        Alias       LISTENER
        Version     TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
        Start Date  23-FEB-98 20:38:50
        Uptime       0 days 0 hr. 0 min. 0 sec
        Trace Level  off
        Security     OFF
        SNMP         ON
        Listener Parameter File
        /home/oracle/7.3.3.0.0/network/admin/listener.ora
        Listener Log File
        /home/oracle/7.3.3.0.0/network/log/listener.log
        Services Summary...
        orcl          has 1 service handler(s)
        The command completed successfully
        LSNRCTL> exit

listener을 중지시키기 위해서는 다음과 같다.
        $ lsnrctl
        LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production 
        on 23-FEB-98 20:43:20
        Copyright (c) Oracle Corporation 1994.  All rights reserved.
        Welcome to LSNRCTL, type "help" for information.
        LSNRCTL> stop
        Connecting to
        (ADDRESS=(PROTOCOL=tcp)
                 (HOST=magic.com)
                 (PORT=1521)
                 (COMMUNITY=UK_SUP_TCPIP)
        )
        The command completed successfully
        LSNRCTL> exit

명시된 hostname를 위한 IP주소를 반환하지 않는 DNS설정을 갖는다면, listener을 실행시키고, 중지시킬 때에 약간의 시간이 소요된다.(2-3분, DNS timeout 변수에 관련되어) 이러한 경우에는 걱정하지 말고, 인내하라. 기다리라.
다음 이전 차례