Oracle RAC 11g 릴리스 2는 여러 네트워크에서 클라이언트 연결을 지원합니다. 또한 이 릴리스는 연결되어 있는 네트워크 내에서의 클라이언트 연결에 대한 로드 균형 조정 및 페일오버를 제공합니다. IB 네트워크로 들어오는 EECS 연결에 대해 리스너를 추가하려면 먼저 가상 IP 주소를 사용하여 IB 네트워크에 대한 네트워크 리소스를 추가하십시오.
해당 IP 주소가 사용되지 않았는지 확인합니다.
예를 들면 다음과 같습니다.
# Added for Listener over IB
192.168.10.21 ssc01db01-ibvip.mycompany.com ssc01db01-ibvip
192.168.10.22 ssc01db02-ibvip.mycompany.com ssc01db02-ibvip
# /u01/app/grid/product/11.2.0.2/bin/srvctl add network -k 2 -S 192.168.10.0/255.255.255.0/bondib0
# /u01/app/grid/product/11.2.0.2/bin/crsctl stat res -t | grep net
ora.net1.network
ora.net2.network -- Output indicating new Network resource
또는
# /u01/app/grid/product/11.2.0.2/bin/srvctl config network -k 2
Network exists: 2/192.168.10.0/255.255.255.0/bondib0, type static -- Output indicating Network resource on the 192.168.10.0 subnet
srvctl add vip -n ssc01db01 -A ssc01db01-ibvip/255.255.255.0/bondib0 -k 2
srvctl add vip -n ssc01db02 -A ssc01db02-ibvip/255.255.255.0/bondib0 -k 2
srvctl add listener -l LISTENER_IB -k 2 -p TCP:1522,/SDP:1522
초기화 매개변수에 전체 tnsnames 구문을 입력하거나 $ORACLE_HOME/network/admin 디렉토리에 있는 tnsnames.ora에 항목을 만듭니다. tnsnames.ora 항목은 GRID_HOME에 있어야 합니다.
이 예에서는 먼저 tnsnames.ora를 업데이트합니다. 클러스터의 각 데이터베이스 도메인에서 해당 데이터베이스 도메인에 맞는 올바른 IP 주소를 사용하여 이 단계를 완료합니다. LISTENER_IBREMOTE는 클러스터에 속한 다른 모든 데이터베이스 도메인을 나열해야 합니다. DBM_IB는 클러스터의 모든 데이터베이스 도메인을 나열해야 합니다.
(DESCRIPTION = DBM = (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbm) )) DBM_IB = (DESCRIPTION = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db01-ibvip)(PORT = 1522)) (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db02-ibvip)(PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dbm) )) LISTENER_IBREMOTE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db02-ibvip.mycompany.com)(PORT = 1522)) )) LISTENER_IBLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01db01-ibvip.mycompany.com)(PORT = 1522)) (ADDRESS = (PROTOCOL = SDP)(HOST = ssc01db01-ibvip.mycompany.com)(PORT = 1522)) )) LISTENER_IPLOCAL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ssc0101-vip.mycompany.com)(PORT = 1521)) )) LISTENER_IPREMOTE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ssc01-scan.mycompany.com)(PORT = 1521)) ))
데이터베이스 인스턴스에 sysdba로 연결합니다.
SQLPLUS> alter system set listener_networks='((NAME=network2) (LOCAL_LISTENER=LISTENER_IBLOCAL)(REMOTE_LISTENER=LISTENER_IBREMOTE))', '((NAME=network1)(LOCAL_LISTENER=LISTENER_IPLOCAL)(REMOTE_LISTENER=LISTENER_IPREMOTE))' scope=both;
srvctl stop listener -l LISTENER_IB
srvctl start listener -l LISTENER_IB