TECH
QUESTION
자주하는 질문답변 입니다.
Oracle
작성자 | 유건데이타 | 등록일 | 2017-09-08 |
제목 | 다른 장비에 있는 REMOTE LISTENER 설정하여 로컬 데이타베이스 사용하기 | ||
---|---|---|---|
(9I) 다른 장비에 있는 REMOTE LISTENER 설정하여 로컬 데이타베이스 사용하기
================================================== PURPOSE ------- 아래의 test는 9i 데이터베이스에서 remote machine에 있는 listener을 사용하는 방법에 대해 다룬다. Explanation & Example ---------------------- 데이터베이스가 운영중인 machine 은 'krint-5' 이며 listener을 띄울 machine은 'krind2'이다. < remote machine(krind2)에서의 작업 > 1. remote machine(krind2)에 listener.ora을 만든다. 아래와 같이 SID_LIST_LISTENER 절은 필요치 않으며 LISTENER절만 있으면 된다. 만약 remote machine에도 데이타베이스가 존재한다면 그 데이타베이스를 나타내는 SID_LIST_LISTENER 절을 포함해도 상관이 없다. ex) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = krind2)(PORT = 1901)) ) ) ) 2. 위와 같이 setup한후 listener를 시작한다. lsnrctl start < local machine(krint-5)에서의 작업 > 1. local machine에서 init (만약 spfile을 사용한다면 그에 맞게 수정한다) *.dispatchers="(protocol=tcp)(disp=4)" *.remote_listener="(address=(protocol=tcp)(host=krind2)(port=1901))" ( 참고 : listener port응 어떤것을 사용해도 무방하다) 2. 위와 같이 setup이 끝나면 데이타베이스를 새로 시작한다. < remote machine(krind2)에서의 확인 > 1. remote machine에서 listener.log을 확인한다. 29-NOV-2002 19:31:08 * service_register * ORA920 * 0 29-NOV-2002 19:31:17 * service_update * ORA920 * 0 29-NOV-2002 19:31:20 * service_update * ORA920 * 0 ORA920 이 instance_name 이다. 2. "lsnrctl service" 확인한다. /home/ora901/product/901/network/admin> lsnrctl ser LSNRCTL for Linux: Version 9.0.1.4.0 - Production on 29-NOV-2002 19:32:18 Copyright (c) 1991, 2001, Oracle Corporation. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=krind2)(PORT=1901))) Services Summary... Service "ORA920" has 1 instance(s). Instance "ORA920", status READY, has 5 handler(s) for this service... Handler(s): "DEDICATED" established:0 refused:0 state:ready REMOTE SERVER (ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)) "D006" established:0 refused:0 current:0 max:1002 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=krint-5.kr.oracle.com)(PORT=41748)) "D005" established:0 refused:0 current:0 max:1002 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=krint-5.kr.oracle.com)(PORT=41747)) "D004" established:0 refused:0 current:0 max:1002 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=krint-5.kr.oracle.com)(PORT=41746)) "D003" established:0 refused:0 current:0 max:1002 state:ready DISPATCHER (ADDRESS=(PROTOCOL=tcp)(HOST=krint-5.kr.oracle.com)(PORT=41745)) The command completed successfully < Client에서 접속해 보기 > 1. 연결을 위해 tnsnames.ora 을 수정한다. r_list.world = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = krind2)(PORT = 1901)) ) (CONNECT_DATA = (SERVICE_NAME = ORA920) ) ) 2. sqlplus등으로 점속을 해 본다. remote machine에 있는 listener.log을 보면 remote listener을 이용하여 local machine에 있는 데이타베이스에 접속이 잘 되었음을 알수 있다. 29-NOV-2002 19:36:48 * (CONNECT_DATA=(SID=ORA920)(CID=(PROGRAM=PLUS33W.EXE)(HOST =jooyeon-kr)(USER=jooyeon))) * (ADDRESS=(PROTOCOL=tcp)(HOST=152.69.41.120)(PORT= 2865)) * establish * ORA920 * 0 ( 참고 : 반드시 MTS을 사용해야 하며 그렇지 않다면 작동하지 않는다.) RELATED DOCUMENTS ----------------- from otn |
Comment | |||
---|---|---|---|
등록된 코멘트가 없습니다. |