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