Cloud Protect를 사용하여 복구 서비스에 온프레미스 데이터베이스 추가

클라우드 보호 플리트 에이전트는 보호된 데이터베이스를 생성하기 위해 복구 서비스에 온프레미스 데이터베이스를 등록합니다.

SQLcl에서 rcv add database 명령을 실행하여 데이터베이스 클라이언트를 자동으로 감지하고 구성(JSON) 파일을 생성합니다. 구성 파일에는 복구 서비스에 데이터베이스를 추가하는 데 필요한 매개변수가 포함되어 있습니다. 그런 다음 rcv add database 명령을 구성 파일과 함께 다시 실행하여 Recovery Service에 데이터베이스를 등록하고 보호된 데이터베이스를 생성합니다. Oracle은 이 자동화된 방법에 따라 데이터베이스를 복구 서비스에 추가할 것을 권장합니다.

다른 방법은 모든 데이터베이스(SYSBACKUP 권한 포함)에 수동으로 연결한 다음 rcv add database 명령을 사용하여 각 데이터베이스를 개별적으로 추가하는 것입니다.

주:

Cloud Protect는 Oracle에서 정의한 Bronze 보호 정책을 모든 데이터베이스에 대한 기본 정책으로 지정합니다. 데이터베이스를 추가하기 전에 구성 파일에서 기본 정책을 변경할 수 있습니다.

다음 단계에 따라 복구 서비스에 온프레미스 데이터베이스를 추가합니다.

  1. 데이터베이스에 Oracle 소프트웨어 소유자 사용자(oracle)로 로그인합니다. ORACLE_HOME 환경 변수가 설정되었는지 확인합니다.

    이 예에서 ORACLE_HOME 환경 변수는 Oracle 데이터베이스 클라이언트가 설치된 디렉토리를 가리킵니다.

    echo $ORACLE_HOME
    /u01/app/oracle/product/19.0.0.0/dbhome_1
  2. oracle 유저로 SQLcl를 시작합니다.
    Oracle RAC 환경에서는 첫번째 컴퓨트 노드에서만 SQLcl를 시작합니다.
    oracle@host$ /opt/oracle/sqlcl/bin/sql /nolog
    SQL>
  3. 이러한 options와 함께 rcv add database 명령을 실행하여 데이터베이스를 자동으로 감지하고 구성 파일을 생성합니다.
    • -auto_discover
    • -generate_config_only
    • -compartment_id <COMPARTMENT_OCID>
    • -recovery_service_subnets <SUBNET_OCID>
    SQL> rcv add database -auto_discover -generate_config_only -compartment_id <COMPARTMENT_OCID> -recovery_service_subnets <SUBNET_OCID>
    이 샘플 출력에서 rcv add database 명령은 보호된 데이터베이스를 생성하는 데 필요한 컴파트먼트 ID 및 복구 서비스 서브넷 ID 값을 포함하는 add_database.json 구성 파일을 생성합니다. Bronze 정책은 기본 보호 정책으로 지정됩니다.
    2025-08-15 09:22:16: Created config JSON /u01/app/oracle/rcv/add_database.json
    2025-08-15 09:22:16: You can onboard a database by running 'rcv add database -config /u01/app/oracle/rcv/add_database.json'
    add_database.json 구성 파일의 샘플 내용입니다.
    
    [
        {
            "dbUniqueName": "DB1",
            "displayName": "DB1",
            "compartmentId": "ocid1.compartment.oc1..aaa...",
            "protectionPolicy": "ocid1.recoveryservicepolicy.region1..aaa...",
            "sbtLibrary": "/u01/app/oracle/product/19.24.0.0/dbhome_2/lib/libra.so",
            "oracleHome": "/u01/app/oracle/product/19.24.0.0/dbhome_2",
            "oracleSid": "DB1",
            "recoveryServiceSubnets": [
                "ocid1.subnet.oc1.phx.aaa..."
            ]
        },
        {
            "dbUniqueName": "DB2",
            "displayName": "DB2",
            "compartmentId": "ocid1.compartment.oc1..aaaaaa...",
            "protectionPolicy": "ocid1.recoveryservicepolicy.region1..aaa...",
            "sbtLibrary": "/u01/app/oracle/product/19.27.0.0/dbhome_1/lib/libra.so",
            "oracleHome": "/u01/app/oracle/product/19.27.0.0/dbhome_1",
            "oracleSid": "DB2",
            "recoveryServiceSubnets": [
                "ocid1.subnet.oc1.phx.aaa..."
            ]
        },
        {
            "dbUniqueName": "DB3",
            "displayName": "DB3",
            "compartmentId": "ocid1.compartment.oc1..aaa...",
            "protectionPolicy": "ocid1.recoveryservicepolicy.region1..aaa...",
            "sbtLibrary": "/u01/app/oracle/product/19.26.0.0/dbhome_3/lib/libra.so",
            "oracleHome": "/u01/app/oracle/product/19.26.0.0/dbhome_3",
            "oracleSid": "DB3",
            "recoveryServiceSubnets": [
                "ocid1.subnet.oc1.phx.aaa..."
            ]
        }
    ]
    SQL>
  4. (선택 사항) 필요한 경우 구성 파일을 편집하여 지정된 값을 수정합니다.
    edit /u01/app/oracle/rcv/add_database.json
  5. rcv add database 명령을 다시 실행하고 구성 파일을 지정합니다.
    SQL> rcv add database -config <confgiration file location> 
    이 예에서는 add_database.json 구성 파일의 경로를 지정합니다.
    SQL> rcv add database -config /u01/app/oracle/rcv/add_database.json 
    Cloud Protect Fleet Agent는 내부적으로 다음 단계를 수행합니다.
    • 복구 서비스에 데이터베이스를 추가하기 위한 필요 조건을 확인합니다.
    • SYSBACKUP 사용자가 없는 경우 SYSBACKUP 사용자 및 비밀번호를 만듭니다.

      주:

      Cloud Protect Fleet Agent가 데이터베이스에 대한 이름이 지정된 접속을 설정하려면 SYSBACKUP 사용자 및 비밀번호가 필요합니다. 이 명령을 사용하여 SYSBACKUP 사용자로 데이터베이스에 접속합니다.

      /opt/oracle/sqlcl/bin/sql -name <DB_UNIQUE_NAME>_rcv_conn

      DB_UNIQUE_NAME은 데이터베이스의 전역적으로 고유한 이름입니다.

    • VPC 사용자 계정에 대한 임의 비밀번호를 생성합니다. RMAN Recovery Catalog에 대한 데이터베이스 액세스를 인증하려면 VPC 유저 인증서가 필요합니다.
    • 복구 서비스 API를 호출하여 보호된 데이터베이스 리소스를 생성합니다.
    • 보호된 데이터베이스가 활성 수명 주기 상태가 될 때까지 10분마다 API를 호출합니다.
    • 보호된 데이터베이스 네트워크 연결 세부정보를 추출하고 구성 파일을 업데이트합니다.
    • RMAN을 사용하여 Recovery Service의 Recovery Appliance에 데이터베이스 등록
    • Cloud Protect로 보호된 데이터베이스를 구성합니다.
    • Cloud Protect는 데이터 보호를 유지합니다.
  6. (권장) 실시간 데이터 보호를 사용으로 설정합니다.
    1. SQLcl를 사용하여 SYSBACKUP 권한을 가진 사용자로 데이터베이스에 로그인합니다.
      oracle@host$ /opt/oracle/sqlcl/bin/sql -name <DB_UNIQUE_NAME>_rcv_conn

      이 예에서는 c1db1 데이터베이스에 연결합니다.

      oracle@host$ /opt/oracle/sqlcl/bin/sql -name c1db1_rcv_conn
    2. rcv realtime_redo 명령을 실행합니다.
      SQL> rcv add realtime_redo
      c1db1 데이터베이스에 대한 샘플 출력을 검토합니다.
      2025-08-15 10:33:48: Log file: /u01/app/oracle/rcv/dbs/c1db1/log/add_realtime_redo_c1db1.20250815.103348.log
      SQL>
    3. 변경 사항을 적용하려면 데이터베이스를 재시작합니다.