Go to main content

Oracle® SuperCluster M7 시리즈 관리 설명서

인쇄 보기 종료

업데이트 날짜: 2015년 12월
 
 

IB 네트워크에 SDP 리스너 만들기

Oracle RAC 11g 릴리스 2는 여러 네트워크에서 클라이언트 연결을 지원합니다. 또한 이 릴리스는 연결되어 있는 네트워크 내에서의 클라이언트 연결에 대한 로드 균형 조정 및 페일오버를 제공합니다. IB 네트워크로 들어오는 EECS 연결에 대해 리스너를 추가하려면 먼저 가상 IP 주소를 사용하여 IB 네트워크에 대한 네트워크 리소스를 추가하십시오.


주 -  이 예에서는 2개의 데이터베이스 도메인을 나열합니다. SuperCluster M7의 데이터베이스 도메인이 3개 이상인 경우 클러스터의 각 데이터베이스 도메인마다 데이터베이스 도메인 관련 라인을 반복해야 합니다.
  1. 클러스터의 각 데이터베이스 도메인에서 /etc/hosts 파일을 편집하여 IB 네트워크에 사용할 가상 IP 주소를 추가합니다.

    해당 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

  2. 데이터베이스 도메인 중 하나에서 root 사용자로 로그인하여 다음 예에서와 같이 IB 네트워크에 대한 네트워크 리소스를 만듭니다.

    # /u01/app/grid/product/11.2.0.2/bin/srvctl add network -k 2 -S 192.168.10.0/255.255.255.0/bondib0

  3. 다음 명령 중 하나를 실행하여 네트워크가 올바르게 추가되었는지 검증합니다.

    # /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

  4. 클러스터 내의 노드마다 Step 2에서 만든 네트워크에서 가상 IP 주소를 추가합니다.

    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

  5. "oracle" 사용자(Grid Infrastructure 홈의 소유자)로, Step 3에서 만든 VIP 주소를 수신할 리스너를 추가합니다.

    srvctl add listener -l LISTENER_IB -k 2 -p TCP:1522,/SDP:1522

  6. 중간 계층에서의 연결을 허용할 데이터베이스마다 여러 네트워크(이더넷 및 IB)에서 로드 균형 조정 및 페일오버를 허용하도록 listener_networks init 매개변수를 수정합니다.

    초기화 매개변수에 전체 tnsnames 구문을 입력하거나 $ORACLE_HOME/network/admin 디렉토리에 있는 tnsnames.ora에 항목을 만듭니다. tnsnames.ora 항목은 GRID_HOME에 있어야 합니다.

    이 예에서는 먼저 tnsnames.ora를 업데이트합니다. 클러스터의 각 데이터베이스 도메인에서 해당 데이터베이스 도메인에 맞는 올바른 IP 주소를 사용하여 이 단계를 완료합니다. LISTENER_IBREMOTE는 클러스터에 속한 다른 모든 데이터베이스 도메인을 나열해야 합니다. DBM_IB는 클러스터의 모든 데이터베이스 도메인을 나열해야 합니다.


    주 -  시작 시 데이터베이스 인스턴스만 TNSNAMES 항목을 읽습니다. init.ora 매개변수에서 참조하는 항목(LISTENER_NETWORKS)을 수정할 경우 인스턴스가 수정 사항을 적용하도록 인스턴스를 다시 시작하거나 ALTER SYSTEM SET LISTENER_NETWORKS 명령을 입력해야 합니다.
    (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))
    ))
    
  7. listener_networks init 매개변수를 수정합니다.

    데이터베이스 인스턴스에 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;

  8. Step 7에서 수정한 내용이 적용되도록 LISTENER_IB를 중지했다가 시작합니다.

    srvctl stop listener -l LISTENER_IB

    srvctl start listener -l LISTENER_IB

관련 정보