Ajout d'une base de données sur site à Recovery Service à l'aide de Cloud Protect

L'agent Cloud Protect Fleet enregistre la base de données sur site auprès de Recovery Service pour créer une base de données protégée.

Dans SQLcl, la commande rcv add database détecte automatiquement les clients de base de données et les ajoute à un compartiment OCI indiqué. Toutes les bases de données sont inscrites auprès du même sous-réseau Recovery Service. La stratégie de protection Bronze définie par Oracle est affectée par défaut. Vous pouvez également spécifier une stratégie de protection de votre choix.

Si vous voulez ajouter chaque client de base de données à un compartiment OCI distinct et affecter des sous-réseaux Recovery Service et des stratégies de protection différents, vous devez exécuter la commande rcv add database avec l'option -generate_config_only pour générer d'abord un fichier de configuration (JSON). Modifiez le fichier de configuration pour indiquer l'ID de compartiment, le sous-réseau Recovery Service et la stratégie de protection requis pour chaque base de données. Exécutez ensuite à nouveau la commande rcv add database, ainsi que le fichier de configuration. Oracle recommande de suivre cette méthode automatisée pour ajouter des bases de données à Recovery Service.

Remarque

Cloud Protect affecte la stratégie de protection Bronze définie par Oracle en tant que stratégie par défaut pour toutes les bases de données. Vous pouvez modifier la stratégie par défaut dans le fichier de configuration avant d'ajouter la base de données.

Dans l'approche manuelle, vous devez vous connecter à chaque base de données (avec des privilèges SYSBACKUP), puis exécuter la commande rcv add database pour ajouter la base de données individuellement.

Lorsque vous exécutez la commande rcv add database, l'agent Cloud Protect Fleet effectue les étapes suivantes en interne :

  • Vérifie les prérequis pour l'ajout de la base de données à Recovery Service.
  • Crée un utilisateur et un mot de passe SYSBACKUP, si l'utilisateur SYSBACKUP n'existe pas.
    Remarque

    L'utilisateur et le mot de passe SYSBACKUP sont requis pour que l'agent Cloud Protect Fleet établisse une connexion nommée à la base de données. Utilisez cette commande pour vous connecter à la base de données en tant qu'utilisateur SYSBACKUP :

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

    DB_UNIQUE_NAME est le nom unique de la base de données.

  • Génère un mot de passe aléatoire pour le compte utilisateur VPC. Les informations d'identification de l'utilisateur VPC sont requises pour authentifier l'accès à la base de données dans le catalogue de restauration RMAN.
  • Appelle l'API Recovery Service pour créer une ressource de base de données protégée.
  • Attend que la base de données protégée passe à l'état de cycle de vie Actif.
  • Inscrit la base de données dans Recovery Appliance de Recovery Service à l'aide de RMAN
  • Configure la base de données protégée avec Cloud Protect.
  • Cloud Protect maintient la protection des données.

Suivez ces étapes pour ajouter une base de données sur site à Recovery Service.

  1. Connectez-vous à la base de données en tant qu'utilisateur propriétaire du logiciel Oracle (oracle).
    Si la version de SQLcl est inférieure à 26.2.0, veillez à définir la variable d'environnement ORACLE_HOME avant d'exécuter les commandes rcv dans SQLcl.

    Dans cet exemple, la variable d'environnement ORACLE_HOME pointe vers le répertoire dans lequel le client de base de données Oracle est installé.

    echo $ORACLE_HOME
    /u01/app/oracle/product/19.0.0.0/dbhome_1
  2. Démarrez SQLcl en tant qu'utilisateur oracle.
    Dans un environnement Oracle RAC, démarrez SQLcl uniquement sur le premier noeud de calcul.
    oracle@host$ /opt/oracle/sqlcl/bin/sql /nolog
    SQL>
  3. Exécutez la commande rcv add database pour ajouter automatiquement toutes les bases de données détectées à l'aide du même compartiment OCI, du même sous-réseau Recovery Service et de la même stratégie de protection. Ignorez cette étape et passez à l'étape 4 si vous voulez ajouter chaque base de données à un compartiment distinct à l'aide de sous-réseaux et de stratégies de protection Recovery Service différents.
    SQL> rcv add database -auto_discover 
    -compartment_id <COMPARTMENT_OCID> 
    -recovery_service_subnets <SUBNET_OCID>
    -protection_policy_id <PROTECTION_POLICY_OCID>
    • -compartment_id : OCID du compartiment pour ajouter tous les clients de base de données
    • -recovery_service_subnets : OCID du sous-réseau Recovery Service qui doit être utilisé pour inscrire tous les clients de base de données éligibles en tant que bases de données protégées dans Recovery Service
    • (Facultatif) -protection_policy_id : OCID de la stratégie de protection qui doit être affecté aux bases de données protégées inscrites dans Recovery Service. Si vous ne spécifiez pas de stratégie, la stratégie Bronze définie par Oracle est affectée par défaut.
  4. Suivez ces étapes pour détecter automatiquement les clients de base de données et ajouter chaque client de base de données à un compartiment distinct. Vous pouvez également affecter des sous-réseaux Recovery Service et une stratégie de protection différents à chaque base de données.
    1. Exécutez la commande rcv add database avec l'option -generate_config_only pour détecter automatiquement les clients de base de données et générer un fichier de configuration. L'ID de compartiment et l'ID de sous-réseau Recovery Service indiqués peuvent être modifiés pour chaque base de données du fichier de configuration.
      SQL> rcv add database -auto_discover -generate_config_only 
      -compartment_id <COMPARTMENT_OCID> 
      -recovery_service_subnets <SUBNET_OCID>
      Dans cet exemple de sortie, la commande rcv add database génère le fichier de configuration add_database.json qui contient les valeurs d'ID de compartiment et d'ID de sous-réseau Recovery Service requises pour créer la base de données protégée. La stratégie Bronze est affectée en tant que stratégie de protection par défaut.
      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'
    2. (Facultatif) Modifiez le fichier de configuration pour modifier les valeurs affectées, si nécessaire.
      edit /u01/app/oracle/rcv/add_database.json
      Exemple de contenu du fichier de configuration 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>
    3. Exécutez à nouveau la commande rcv add database et indiquez le fichier de configuration.
      SQL> rcv add database -config <configuration file location> 
      Dans cet exemple, vous indiquez le chemin du fichier de configuration add_database.json.
      SQL> rcv add database -config /u01/app/oracle/rcv/add_database.json 
  5. (Recommandé) Activez la protection des Données en Temps réel.
    1. Utilisez SQLcl pour vous connecter à la base de données en tant qu'utilisateur disposant des privilèges SYSBACKUP.
      oracle@host$ /opt/oracle/sqlcl/bin/sql -name <DB_UNIQUE_NAME>_rcv_conn

      Dans cet exemple, vous allez vous connecter à la base de données c1db1.

      oracle@host$ /opt/oracle/sqlcl/bin/sql -name c1db1_rcv_conn
    2. Exécutez la commande rcv realtime_redo.
      SQL> rcv add realtime_redo
      Consultez l'exemple de sortie de la base de données 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. Redémarrez la base de données pour que les modifications prennent effet.