Oracle 데이터베이스용 Oracle® Solaris Cluster 데이터 서비스 설명서

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

Oracle Grid Infrastructure 없이 HA for Oracle 데이터베이스를 등록 및 구성하는 방법(CLI)

이 절차는 장문형 Oracle Solaris Cluster 유지 관리 명령을 제공합니다. 대부분의 명령에는 단문형도 있습니다. 명령 이름의 형태를 제외하면 명령은 동일합니다.

시작하기 전에

다음 필수 조건을 충족하는지 확인하십시오.

  • /etc/netmasks 파일에 모든 논리 호스트 이름에 대한 IP 주소 서브넷과 넷마스크 항목이 있습니다. 필요하면 /etc/netmasks 파일을 편집하여 누락된 항목을 추가합니다.

  • 볼륨 관리자를 사용하는 경우 Oracle 데이터베이스 소프트웨어가 잠재적으로 실행할 수 있는 모든 Oracle Solaris Cluster 노드에서 액세스 가능한 공유 저장소에 볼륨을 제공하도록 클러스터 볼륨 관리자가 구성됩니다.

  • 볼륨 관리자를 사용하는 경우 Oracle 데이터베이스 소프트웨어에서 데이터베이스에 사용할 저장소 볼륨에 원시 장치 및 파일 시스템이 만들어집니다.

  • Oracle 데이터베이스가 잠재적으로 실행할 수 있는 모든 클러스터 노드에서 액세스 가능하도록 Oracle 데이터베이스 소프트웨어가 설치됩니다.

  • UNIX 운영 체제용 커널 변수가 Oracle 데이터베이스용으로 구성됩니다.

  • Oracle 데이터베이스를 잠재적으로 실행할 수 있는 모든 클러스터 노드에 대해 Oracle 데이터베이스 소프트웨어가 구성됩니다.

  • 데이터 서비스 패키지가 설치됩니다.

    다음 정보를 알고 있는지 확인하십시오.

  • 데이터 서비스를 마스터하는 클러스터 노드의 이름.

  • 클라이언트가 데이터 서비스 액세스에 사용할 논리 호스트 이름. 일반적으로 클러스터를 설치할 때 이 IP 주소를 설정합니다. 네트워크 리소스에 대한 세부 정보는 Oracle Solaris Cluster Concepts Guide 를 참조하십시오.

  • 구성하려는 리소스에 대한 Oracle 데이터베이스 응용 프로그램 이진의 경로

  • 데이터베이스 유형.

  1. 클러스터 구성원에서 수퍼 유저 또는 solaris.cluster.modifysolaris.cluster.admin RBAC 권한 부여를 제공하는 역할로 전환합니다.
  2. 데이터 서비스의 리소스 유형을 등록합니다.

    HA for Oracle 데이터베이스의 경우 다음과 같이 SUNW.oracle_serverSUNW.oracle_listener의 두 리소스 유형을 등록합니다.


    주 -  Oracle Grid Infrastructure for Clusters Single Client Access Name(SCAN) 리스너를 사용하는 경우 SUNW.oracle_listener 리소스 유형의 등록을 생략합니다.
    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  3. 네트워크 및 응용 프로그램 리소스를 보유할 페일오버 리소스 그룹을 만듭니다.

    Oracle Solaris ZFS 파일 시스템을 사용하는 경우 Oracle Solaris Cluster 노드를 준비하는 방법에서 고가용성 로컬 ZFS 파일 시스템을 구성할 때 리소스 그룹을 만들었기 때문에 이 단계가 필요하지 않습니다. 이 절차의 나머지 단계에서 만든 리소스가 이 리소스 그룹에 추가됩니다.

    선택적으로 다음과 같이 –n 옵션을 사용하여 데이터 서비스가 실행할 수 있는 클러스터 노드 세트를 선택할 수 있습니다.

    # clresourcegroup create [-n node-zone-list] resource-group
    resource-group

    리소스 그룹의 이름을 지정합니다. 이 이름은 임의로 선택할 수 있지만 클러스터 내의 리소스 그룹에 대해 고유해야 합니다.

  4. 사용할 모든 네트워크 리소스가 이름 서비스 데이터베이스에 추가되었는지 확인합니다.

    Oracle Solaris Cluster 설치 중 이 확인 작업을 수행했어야 합니다.


    주 -  이름 서비스 조회로 인한 오류를 방지하려면 모든 네트워크 리소스가 서버 및 클라이언트의 /etc/inet/hosts 파일에 있는지 확인하십시오.
  5. 페일오버 리소스 그룹에 논리 호스트 이름 리소스를 추가합니다.
    # clreslogicalhostname create -g resource-group [-h logical-hostname] logical-hostname-rs
    logical-hostname

    논리 호스트 이름을 지정합니다. 이 논리 호스트 이름은 이름 서비스 데이터베이스에 존재해야 합니다. logical-hostnamelogical-hostname-rs가 동일한 경우 logical-hostname은 선택 사항입니다.

    logical-hostname-rs

    만들려는 논리 호스트 이름 리소스에 할당할 이름을 지정합니다.

  6. SUNW.HAStoragePlus 리소스 유형을 클러스터에 등록합니다.
    # clresourcetype register SUNW.HAStoragePlus
  7. 페일오버 리소스 그룹에 SUNW.HAStoragePlus 유형의 리소스를 추가합니다.

    주 -  Oracle 파일에 Oracle Solaris ZFS 파일 시스템을 사용하는 경우 이 단계를 생략합니다. 고가용성 로컬 ZFS 파일 시스템을 구성할 때 HAStoragePlus 리소스를 만들었습니다. 자세한 내용은 Oracle Solaris Cluster 노드를 준비하는 방법을 참조하십시오.

    Caution

    주의  -  Oracle Solaris Cluster 장치 그룹의 원시 장치는 비전역 영역에서 지원되지 않습니다.


    # clresource create -g resource-group -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=device-path \
    -p FilesystemMountPoints=mount-point-list \
    -p AffinityOn=TRUE hastp-rs

    GlobalDevicePaths 확장 등록 정보 또는 FilesystemMountPoints 확장 등록 정보를 설정해야 합니다.

    • 데이터베이스가 원시 장치에 있는 경우 GlobalDevicePaths 확장 등록 정보를 전역 장치 경로로 설정합니다.

    • 데이터베이스가 클러스터 파일 시스템에 있는 경우 클러스터 파일 시스템 및 로컬 파일 시스템의 마운트 지점을 지정합니다.


    주 -  AffinityOnTRUE로 설정하고 로컬 파일 시스템이 페일오버될 전역 디스크 그룹에 상주해야 합니다.

    리소스가 사용 가능 상태로 생성됩니다.

  8. 클러스터 노드에서 관리됨 상태의 페일오버 리소스 그룹을 온라인으로 가져옵니다.
    # clresourcegroup online -M resource-group
    –M

    온라인으로 가져온 리소스 그룹을 관리됨 상태에 놓습니다.

  9. 페일오버 리소스 그룹에 Oracle 데이터베이스 응용 프로그램 리소스를 만듭니다.
    • Oracle 데이터베이스 서버 리소스:

      # clresource create -g resourcegroup \
      -t SUNW.oracle_server \
      -p Alert_log_file=path-to-log \
      -p Connect_string=user/passwd \
      -p Oracle_sid=instance \
      -p Oracle_home=Oracle_home \
      -p Restart_type=entity-to-restart \
      [-p Dataguard_role=role] \
      [-p Standby_mode=mode] \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    • Oracle 데이터베이스 리스너 리소스:

      # clresource create -g resource-group \
      -t SUNW.oracle_listener \
      -p Listener_name=listener \
      -p Oracle_home=Oracle_home \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    –g resource-group

    리소스가 배치될 리소스 그룹의 이름을 지정합니다.

    –t

    추가할 리소스의 유형을 지정합니다.

    –p Alert_log_file =path-to-log

    $ORACLE_HOME 아래에 서버 메시지 로그 경로를 설정합니다.

    –p Connect_string =user/passwd

    결함 모니터가 데이터베이스에 연결하는 데 사용하는 사용자와 암호를 지정합니다. 이러한 설정은 Oracle 데이터베이스 권한을 설정하는 방법에서 설정한 권한과 일치해야 합니다. Oracle Solaris 권한 부여를 사용하는 경우 사용자 이름과 암호 대신 슬래시(/)를 입력합니다.

    –p Oracle_sid=instance

    Oracle 데이터베이스 시스템 식별자를 설정합니다.

    –p Oracle_home=Oracle_home

    Oracle 데이터베이스 홈 디렉토리의 경로를 설정합니다.

    –p Listener_name=listener

    Oracle 데이터베이스 리스너 인스턴스의 이름을 설정합니다. 이 이름은 listener.ora의 해당 항목과 일치해야 합니다.

    –p Restart_type=entity-to-restart

    결함에 대한 응답을 다시 시작할 때 서버 결함 모니터가 다시 시작할 엔티티를 지정합니다. 다음과 같이 entity-to-restart를 설정합니다.

    • 이 리소스만 다시 시작하도록 지정하려면 entity-to-restartRESOURCE_RESTART로 설정합니다. 기본적으로 이 리소스만 다시 시작됩니다.

    • 이 리소스를 포함하여 리소스 그룹의 모든 리소스가 다시 시작하도록 지정하려면 entity-to-restartRESOURCE_GROUP_RESTART로 설정합니다.

      entity-to-restartRESOURCE_GROUP_RESTART로 설정하면 리소스 그룹의 다른 리소스(예: Apache 또는 DNS)에 결함이 있는 경우에도 모든 리소스가 다시 시작됩니다. 따라서 Oracle 데이터베이스 서버 리소스를 다시 시작할 때 반드시 다시 시작해야 하는 리소스만 리소스 그룹에 넣으십시오.

    –p Dataguard_role=role

    데이터베이스 인스턴스의 역할을 지정합니다. 다음과 같이 role을 변경합니다.

    • 대기 인스턴스가 구성되지 않은 기본 데이터베이스 인스턴스용 리소스를 만들려면 roleNONE으로 변경합니다. 이 값이 기본값입니다.

    • 대기 데이터베이스 인스턴스가 구성된 기본 데이터베이스 인스턴스용 리소스를 만들려면 rolePRIMARY로 변경합니다.

    • 대기 데이터베이스 인스턴스용 리소스를 만들려면 roleSTANDBY로 변경합니다.

    –p Standby_mode=mode

    대기 데이터베이스 인스턴스의 모드를 지정합니다. Dataguard_roleNONE 또는 PRIMARY로 변경하면 Standby_mode 값이 무시됩니다.

    • 논리적 대기 데이터베이스를 지정하려면 modeLOGICAL로 변경합니다. 이 값이 기본값입니다.

    • 물리적 대기 데이터베이스를 지정하려면 modePHYSICAL로 변경합니다.

    • 스냅샷 대기 데이터베이스를 지정하려면 modeSNAPSHOT으로 변경합니다.

    resource

    만들려는 리소스의 이름을 지정합니다.


    주 -  선택적으로, Oracle 데이터베이스 데이터 서비스에 속한 추가 확장 등록 정보가 기본값을 대체하도록 설정할 수 있습니다. 확장 등록 정보 목록은 HA for Oracle 데이터베이스 확장 등록 정보 설정을 참조하십시오.

    리소스가 사용 가능 상태로 생성됩니다.

예 1-1  전역 영역에서 실행할 HA for Oracle 데이터베이스 등록

이 예제는 2노드 클러스터에 HA for Oracle 데이터베이스을 등록하는 방법을 보여줍니다. 다음은 명령에 사용된 샘플 이름입니다.

노드 이름

phys-schost-1, phys-schost-2

논리 호스트 이름

schost-1

리소스 그룹

resource-group-1(페일오버 리소스 그룹)

HAStoragePlus 리소스

hastp-rs

Oracle 리소스

oracle-server-1, oracle-listener-1

Oracle 인스턴스

ora-lsnr(리스너), ora-srvr(서버)

Create the failover resource group to contain all of the resources.
# clresourcegroup create resource-group-1
 
Add the logical hostname resource to the resource group.
# clreslogicalhostname create -g resource-group-1 schost-1
 
Register the SUNW.HAStoragePlus resource type.
# clresourcetype register SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs
Bring the resource group online in a managed state
# clresourcegroup online -M resource-group-1

Register the Oracle 데이터베이스 resource types.
# clresourcetype register SUNW.oracle_server
# clresourcetype register SUNW.oracle_listener
 
Add the Oracle 데이터베이스 application resources to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
-p Resource_dependencies_offline_restart=hastp-rs \
oracle-server-1
 
# clresource create -g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1
예 1-2  영역 클러스터에서 실행할 HA for Oracle 데이터베이스 등록

이 예제는 영역 클러스터에 HA for Oracle 데이터베이스을 등록하는 방법을 보여줍니다. 다음은 명령에 사용된 샘플 이름으로, 전역 클러스터에서 실행됩니다.

노드 이름

phys-schost-1, phys-schost-2

영역 클러스터 이름

zonecluster1, zonecluster2

논리 호스트 이름

zchost-1

리소스 그룹

resource-group-1(페일오버 리소스 그룹)

HAStoragePlus 리소스

hastp-rs

Oracle 리소스

oracle-server-1, oracle-listener-1

Oracle 인스턴스

ora-lsnr(리스너), ora-srvr(서버)

Create the failover resource group to contain all of the resources.)
# clresourcegroup create -Z zonecluster1 resource-group-1
 
Add the logical hostname resource to the resource group.)
# clreslogicalhostname create -Z zonecluster1 -g resource-group-1 zchost-1
 
Register the SUNW.HAStoragePlus resource type.)
# clresourcetype register -Z zonecluster1 SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs

Bring the resource group online in a managed state
# clresourcegroup online -Z zonecluster1 -M resource-group-1

Register the Oracle 데이터베이스 resource types.)
# clresourcetype register -Z zonecluster1 SUNW.oracle_server
# clresourcetype register -Z zonecluster1 SUNW.oracle_listener
 
Add the Oracle 데이터베이스 application resources to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \
-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
oracle-server-1
 
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1