Oracle

게시글 보기
작성자 유건데이타 등록일 2015-05-20
제목 LISTENER에 INSTANCE 등록방법
Oracle 8i부터는 listener 기동시에 database instances를 등록하는 새로운 기능을 제공한다.
Database instance registration은 다음 두개의 구성요소로 이루어진다.

- Service registration: database service names, instance names과 같은
instance 정보제공과정
- MTS dispatcher registration : listener에 dispatcher 정보를 제공하는 과정

디폴트로 instance의 background process는 instance information를 local machine의
listener에 등록하게 된다. 설령 instance가 listener기동보다 먼저 되었다 하더라도
instance는 정기적으로 listener에 접속을 시도하여 새로운 정보로 update하기 때문에
문제가 되지 않는다.


1) init.ora에 "INSTANCE_NAME"과, "SERVICE_NAMES"이 등록되어 있어야 한다.
INSTANCE_NAME은 하나이지만 SERVICE_NAMES은 여러개 지정할 수 있다.

예>
instance_name = v815
service_names = ( marketing, support, education )

2) 만약 1521이외의 port로 접속하지 않는다면, LISTENER.ORA가 필요하지 않다.

3) client의 TNSNAMES.ORA file에 다음과 같은 형태로 설정해 준다.

V815 = (DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)
(HOST = oracle8i)
(PORT = 1521)
)
)
(CONNECT_DATA =
(SERVICE_NAME = support)
)
)

* SERVICE_NAMES가 아니라 SERVICE_NAME임을 주의할 것.

4) 만약 MTS 설정이 필요하다면, init.ora에 설정해준다.






1) init.ora에 아래 parameter 추가한다.

INSTANCE_NAME = v815
SERVICE_NAMES = support

2) listener.ora가 없는 상태에서 listener를 기동한다.

$ lsnrctl start
LSNRCTL for Solaris: Version 8.1.5.0.0 - Production on 15-APR-99 05:23:44
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /bigdisk/oracle8i/bin/tnslsnr: please wait...
TNSLSNR for Solaris: Version 8.1.5.0.0 - Production
Log messages written to /bigdisk/oracle8i/network/log/listener.log
Listening on: (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
Listening on: (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 8.1.5.0.0 -
Production
Start Date 15-APR-99 05:23:44
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Log File /bigdisk/oracle8i/network/log/listener.log
The listener supports no services
The command completed successfully
$


3) db를 startup한다.


4) listener 상태를 체크해보면 service handler가 추가되었음을 확인할 수 있다.
service handler이름은 INSTANCE_NAME에서 등록한 이름이된다.

$ lsnrctl status
LSNRCTL for Solaris: Version 8.1.5.0.0 - Production on 15-APR-99 05:27:14
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 8.1.5.0.0 -
Production
Start Date 15-APR-99 05:26:21
Uptime 0 days 0 hr. 0 min. 53 sec
Trace Level off
Security OFF
SNMP OFF
Listener Log File /bigdisk/oracle8i/network/log/listener.log
Services Summary...
v815 has 1 service handler(s)
The command completed successfully
$

5) client의 tnsnames.ora를 수정하여 정상적으로 connect되는지 확인한다.

6) db를 shutdown한다..

7) service가 unregister되었음을 확인한다.

$ lsnrctl status
LSNRCTL for Solaris: Version 8.1.5.0.0 - Production on 15-APR-99 05:34:27
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 8.1.5.0.0 -
Production
Start Date 15-APR-99 05:33:02
Uptime 0 days 0 hr. 1 min. 25 sec
Trace Level off
Security OFF
SNMP OFF
Listener Log File /bigdisk/oracle8i/network/log/listener.log
The listener supports no services
The command completed successfully
$
Comment
등록된 코멘트가 없습니다.