Préparer les bases de données Oracle pour le service Backup and DR

Avant de commencer, il est recommandé de consulter Backup and DR Service pour Oracle.

Avant de pouvoir sauvegarder des bases de données Oracle, vous devez ajouter le serveur Oracle en tant qu'hôte au service Backup and DR. Pour que cela fonctionne, veillez à consulter les conditions préalables à la sauvegarde d'une base de données Oracle, puis suivez ces étapes de préparation.

Procédures de préparation pour les bases de données Oracle
Étape Procédure de préparation
1 Préparer les bases de données Oracle dans un environnement Linux ou
Préparer les bases de données Oracle dans un environnement Windows
2 Préparer la sauvegarde d'une base de données Oracle avec des fichiers de données sur un groupe de disques ASM
3 Préparer l'authentification de la base de données Oracle
Activer le suivi des modifications des blocs de base de données (facultatif)
Protéger à partir d'un nœud Oracle Data Guard
Configurer le basculement transparent RAC de la sauvegarde RMAN vers d'autres nœuds
Compression des journaux d'archive Oracle
Configurer les services de base de données Oracle pour l'équilibrage de charge sur plusieurs nœuds
Appliquer un correctif à Oracle 12c

Préparer les bases de données Oracle dans un environnement Linux

Avant de protéger une base de données Oracle ou si les tâches de protection de la base de données échouent, assurez-vous que les paramètres suivants sont corrects sur le serveur de base de données Oracle.

  • Chaque base de données Oracle à protéger doit être opérationnelle. Exemple :

    database: actdb
    #ps -ef | grep pmon | grep -i actdb
    oracle   27688     1  0  2015 ?        00:26:24 ora_pmon_actdb
    
  • La base de données doit être exécutée en mode journal d'archive. Pour vérifier que la base de données s'exécute en mode journal d'archive, connectez-vous au serveur de base de données en tant qu'utilisateur Oracle OS et définissez la variable d'environnement de la base de données :

    export ORACLE_HOME=<oracle home path>
    (get this from /etc/oratab)
    export ORACLE_SID=<database instance name> (you can get this through
    ps -ef | grep pmon)
    export PATH=$ORACLE_HOME/bin:$PATH
    

    Connectez-vous à sqlplus :

    #sqlplus / as sysdba
    #SQL> archive log list;
    Database log mode   Archive Mode
    Automatic archival        Enabled
    Archive destination        +FRA
    Oldest online log sequence     569
    Next log sequence to archive   570
    Current log sequence        570
    #SQL>
    
  • La base de données doit utiliser spfile. Vérifiez que la base de données est en cours d'exécution avec spfile :

    #sqlplus / as sysdba
    SQL> show parameter spfile
    NAME      TYPE   VALUE
    ------------------ ----------- ------------
    spfile      string  +DATA/ctdb/spfilectdb.ora
    
  • Pour la base de données Oracle RAC, le fichier de contrôle du snapshot doit se trouver sur les disques partagés. Pour une base de données Oracle RAC sous ASM, le fichier de contrôle du snapshot doit se trouver sur des disques partagés.

    Pour le vérifier, connectez-vous à RMAN et exécutez la commande show all. Configurez-le si nécessaire :

        rman target /
    

    Ensuite, dans RMAN :

       show all
    

    Les paramètres de configuration RMAN pour la base de données avec db_unique_name CTDB sont les suivants :

    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';
    

    Cet exemple montre la configuration définie sur le système de fichiers local.

    Dans un environnement RAC, cette valeur doit être définie sur "Groupe de disques ASM partagé". Pour le placer dans le groupe de disques ASM, utilisez la commande suivante :

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB name>.f';
    

Préparer la sauvegarde d'une base de données Oracle avec des fichiers de données sur un groupe de disques ASM

Disque de préparation Backup and DR sur un groupe de disques ASM

Le paramètre ASM diskstring doit être défini et ne doit pas être nul. Connectez-vous au serveur de base de données en tant qu'utilisateur ASM OS et définissez la variable d'environnement ASM :

    # export ORACLE_HOME=(oracle ASM home path)
    (get this from /etc/oratab)
    #export ORACLE_SID=(ASM instance name) (you
    can get this through ps ?ef | grep pmon)
    #export PATH=$ORACLE_HOME/bin:$PATH

Connectez-vous à sqlplus :

    #sqlplus / as sysasm
    #sql> show parameter asm_diskstring
    NAME      TYPE   VALUE
    ------------------- ----------- ------------------------------
    asm_diskstring      string  ORCL:*, /dev/sdt1, /dev/sdu1

Si la valeur du résultat est nulle, obtenez la valeur correcte de la chaîne de disque ASM pour les disques ASM existants avant de poursuivre la protection Backup and DR. La sauvegarde Backup and DR ajoute le chemin d'accès à la chaîne de disque (/dev/Backup and DR/asm/*) pour son disque de préparation de sauvegarde à mapper sur ASM.

Disque de staging Backup and DR sur le système de fichiers

Si vous protégez une base de données Oracle ASM dans un système de fichiers, Convertir ASM en système de fichiers doit être défini sur Oui sous Détails et paramètres de l'application. Consultez Détails et paramètres de l'application pour les bases de données Oracle.

Préparer l'authentification de la base de données Oracle

Les étapes de préparation supplémentaires suivantes ne sont requises que si vous prévoyez d'utiliser l'authentification de la base de données. L'authentification de la base de données Oracle est décrite dans Backup and DR utilisant l'authentification de la base de données.

  1. Suivez les étapes décrites dans Préparer les bases de données Oracle dans un environnement Linux.

  2. Créez un compte utilisateur de base de données pour la sauvegarde Backup and DR, si vous n'en avez pas déjà un :

    create user act_rman_user identified by <password>;
    
  3. Accordez l'accès sysdba à tous les nœuds RAC en vous connectant à sqlplus sur tous les nœuds et en exécutant la commande suivante :

    grant create session, resource, sysdba to act_rman_user;
    

    Pour Oracle 12c, ce rôle peut être sysbackup au lieu de of sysdba, et le nom d'utilisateur de la base de données commence par #.

  4. Vérifiez que le rôle sysdba a été attribué à tous les nœuds de l'environnement RAC :

    #sqlplus / as sysasm
    # sql> select * from gv$pwfile_users;
    INST_ID USERNAME SYSDB SYSOP SYSAS
    ---------- --------------  ----- ----- -----
    1 SYS TRUE TRUE FALSE
    2 SYS TRUE TRUE FALSE
    1 ACT_RMAN_USER TRUE TRUE FALSE
    2 ACT_RMAN_USER TRUE TRUE FALSE
    
  5. Testez le nom du service en fonction de votre type d'environnement en suivant les instructions ci-dessous :

Créer et valider le nom de service Oracle dans un environnement non RAC

Le nom de service Oracle n'est utilisé que pour l'authentification de la base de données. Elle n'est pas nécessaire pour l'authentification de l'OS.

Exemple : Nom de la base de données : dbstd, Nom de l'instance : dbstd

  1. Si le nom de service Oracle n'est pas listé, créez l'entrée du nom de service dans le fichier tnsnames.ora à l'emplacement $ORACLE_HOME/network/admin ou $GRID_HOME/network/admin en ajoutant l'entrée :

    act_svc_dbstd =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST
    = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = dbstd)
    ) )
    

    Si le fichier tnsnames.ora se trouve dans un emplacement non standard, indiquez son chemin d'accès absolu sous Détails et paramètres de l'application, comme décrit dans Détails et paramètres de l'application pour les bases de données Oracle.

  2. Testez l'entrée du nom de service pour la base de données afin de vous assurer qu'elle est configurée :

    Connectez-vous en tant qu'utilisateur Oracle OS et définissez l'environnement Oracle :

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbstd
    
  3. Vérifiez le compte utilisateur de la base de données pour vous assurer que la sauvegarde Backup and DR peut se connecter :

    sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
    
  4. Indiquez le nom de service créé (act_svc_dbstd) dans le paramètre "Nom de service Oracle" sous Détails et paramètres de l'application, comme décrit dans Détails et paramètres de l'application pour les bases de données Oracle.

Créer et valider le nom de service Oracle dans un environnement RAC

Le nom de service Oracle n'est utilisé que pour l'authentification de la base de données. Elle n'est pas nécessaire pour l'authentification de l'OS.

Exemple de RAC à trois nœuds :

  • Nom de la base de données : dbrac

  • Nom de l'instance 1 : dbrac1

  • Nom de l'instance2 : dbrac2

  • Nom de l'instance 3 : dbrac3 avec la protection de la base de données définie à partir du nœud 3 (nom de l'instance dbrac3) :

  1. Créez une entrée servicename dans le fichier tnsnames.ora à $ORACLE_HOME/network/admin ou à $GRID_HOME/network/admin en ajoutant l'entrée suivante :

    act_svc_dbrac3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = dbrac3)
    (SERVICE_NAME = dbrac)
    ) ) )
     Where:
     HOST = This can be SCAN IP in a RAC environment or VIP or IP of the node 3 database server.
    SERVICE_NAME = database name
    INSTANCE_NAME = database instance name on node3
    
  2. Testez le nom du service :

    Connectez-vous en tant qu'utilisateur Oracle OS et définissez l'environnement Oracle :

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbrac3
    
  3. Vérifiez le compte utilisateur de la base de données pour vous assurer que la sauvegarde Backup and DR peut se connecter :

    sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
    
  4. Indiquez le nom du service créé (act_svc_dbrac3) dans le paramètre "Nom du service Oracle" sous Détails et paramètres de l'application, comme décrit dans Détails et paramètres de l'application pour les bases de données Oracle.

    Si le fichier tnsnames.ora se trouve dans un emplacement non standard, indiquez le chemin d'accès absolu au fichier tnsnames.ora sous le paramètre TNS_Admin Oracle dans Détails et paramètres de l'application, comme décrit dans Détails et paramètres de l'application pour les bases de données Oracle.

Activer le suivi des modifications des blocs de base de données (facultatif)

Le suivi des blocs modifiés de la base de données est décrit dans Oracle Database Block Change Tracking (BCT).

Pour vérifier si le suivi des modifications de blocs de base de données est activé :

sqlplus / as sysdba

À l'invite SQL :

select * from v$block_change_tracking;

Si le suivi des modifications des blocs de base de données n'est pas activé, activez-le à partir de sqlplus :

Utiliser un groupe de disques ASM

sqlplus / as sysdba

À l'invite SQL :

alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';

Utiliser le système de fichiers

sqlplus / as sysdba

À l'invite SQL :

alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';

Protéger à partir d'un nœud Oracle Data Guard

Vous pouvez protéger une base de données Oracle à partir de nœuds de base de données principaux ou de nœuds de secours Oracle Data Guard. Si la protection est définie à partir d'un nœud Oracle Data Guard, veillez à définir les identifiants du nœud principal sous "Détails et paramètres de l'application" dans la console de gestion.

Pour l'authentification de la base de données (Linux uniquement)

  • Nom d'utilisateur/Mot de passe : identifiants du compte utilisateur de la base de données. Pour que ce compte utilisateur soit disponible sur le nœud Data Guard avec un accès sysdba, il doit être créé avec le droit sysdba au niveau du nœud principal (voir la création d'un compte utilisateur de sauvegarde avec un accès sysdba). Le fichier de mot de passe (sous $ORACLE_HOME/dbs/) du nœud principal doit ensuite être copié sur le nœud Data Guard.

Pour l'authentification de l'OS

  • Nom d'utilisateur/Mot de passe : sous "Authentification OS", le privilège sysdba n'est pas requis. Ce compte utilisateur de base de données doit disposer du privilège connect, alter system. Pour que ce compte utilisateur soit disponible sur le nœud Data Guard, il doit être créé sur le nœud principal.

Si l'utilisateur ne dispose pas du rôle sysdba, il a besoin de grant connect, alter system, select on dba_tablespaces.

Pour accorder ces droits, à l'invite SQL :

    grant connect, alter system, select on dba_tablespaces to act_rman_user;
  • Nom de service du nœud principal Oracle Data Guard : il s'agit du nom de service dans le fichier tnsnames.ora configuré sur le nœud Data Guard pour se connecter au nœud principal à partir du nœud de secours. Le nom de service du nœud principal Oracle Data Guard est requis pour l'authentification de l'OS et de la base de données si la sauvegarde est configurée à partir du nœud de secours Data Guard.

Pour en savoir plus sur tous les détails et paramètres, consultez Détails et paramètres de l'application pour les bases de données Oracle.

Nœud de base de données Authentification de l'OS Authentification de la base de données
Principal Aucun identifiant de base de données n'est requis. Vous devez fournir les identifiants de la base de données. Si aucun rôle n'est sélectionné, sysdba est utilisé.
Instance de secours Des identifiants de base de données sont nécessaires, même pour l'authentification OS (pour se connecter à l'instance principale afin de changer de journal). Les identifiants de base de données n'ont pas besoin d'avoir un rôle sysdba/sysbackup. Si un compte sysdba/sysbackup est utilisé, définissez le rôle de l'utilisateur dans Rôle de l'utilisateur dans la base de données dans les détails et paramètres de l'application. Vous devez fournir les identifiants de la base de données. Les identifiants de base de données doivent être associés au rôle sysdba ou sysbackup, et le rôle utilisateur dans la base de données doit être défini sur sysdba ou sysbackup dans Détails et paramètres de l'application. Pour configurer l'authentification de la base de données, consultez Activer l'authentification de la base de données pour un serveur Oracle.

Configurer le basculement transparent RAC de la sauvegarde RMAN vers d'autres nœuds

L'agent Backup and DR doit être installé et en cours d'exécution sur tous les nœuds que vous prévoyez d'inclure dans la configuration de basculement de sauvegarde. La protection n'est configurée qu'à partir d'un seul nœud.

Dans "Détails et paramètres", "Nœuds du cluster", spécifiez le nœud de basculement dans un environnement Oracle RAC :

    <Failover choice>:<Node IP>:<Servicename>:<Role>

Où :

  • Choix du basculement : ordre des nœuds pour le basculement.

  • Adresse IP du nœud : adresse IP du nœud sur lequel vous souhaitez exécuter la sauvegarde

  • Servicename : nom du service créé et spécifié dans le fichier tnsnames.ora pour la sauvegarde RMAN Backup and DR. Il peut s'agir d'un nouveau service dédié créé pour la sauvegarde Backup and DR ou du nom SID (nom de l'instance) de la base de données sur ce nœud.

  • Rôle : F, indiquant qu'il s'agit d'un nœud de basculement

Pour créer un nom de service sur le nœud de basculement dans le fichier tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora ou $GRID_HOME/network/admin/tnsnames.ora)

Exemple dans un environnement Oracle One Node

RAC One Node se compose de deux nœuds :

172.15.157.200
172.15.157.201

Elle ne comporte qu'une seule base de données OneN, qui ne s'exécute que sur l'un des nœuds à un moment donné. OneN est protégé par 172.15.157.200, avec les paramètres de nœud de cluster spécifiés comme suit : 1:172.15.157.201:OneN:F

Si OneN bascule vers 172.15.157.201, la sauvegarde Backup and DR le suit et lance le prochain job de sauvegarde à partir de 172.15.157.201 au lieu de 200. Si un basculement se produit au milieu d'une tâche de sauvegarde, celle-ci échoue et la tâche suivante utilise le nœud de basculement pour démarrer une nouvelle sauvegarde.

Exemple dans un environnement Oracle, et non dans un nœud :

  • RAC à deux nœuds (dbrac1, dbrac2)

  • La protection est définie à l'aide du nom de base de données "dbrac" à partir de dbrac1 et le basculement doit être défini sur dbrac2.

  • Nom du service sur le nœud 2 : act_svc_dbrac2

  • Adresse IP du nœud 2 ou adresse IP à analyser : 172.1.1.0

act_svc_node2 =

  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.0)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (INSTANCE_NAME = dbrac2)
  (SERVICE_NAME = dbrac)
  ) )

Sous Détails et paramètres de l'application, les entrées des nœuds de cluster sont les suivantes :

Failoverchoice:NodeIP:Servicename:Role

1:172.1.1.1:act_svc_node2:F

Comportement des entrées de nœud de cluster F et M

F : nœud de basculement, ne participe que lorsque le nœud de protection n'est pas en mesure d'effectuer la sauvegarde.

M : nœud de maintenance, remplace le nœud de protection s'il est validé pour pouvoir effectuer la sauvegarde.

Compression des journaux d'archivage Oracle

La sauvegarde des journaux d'archive Backup and DR est compatible avec la compression des ensembles de sauvegarde des journaux Oracle. Le type de compression que vous sélectionnez dépend de ces paramètres de configuration RMAN. Sélectionnez une option en fonction de votre cas d'utilisation.

  • Les taux de compression les plus faibles ont le moins d'impact sur le débit de sauvegarde. Elles sont particulièrement adaptées aux environnements où les ressources de processeur sont le facteur limitant.

  • La compression moyenne est recommandée pour la plupart des environnements. Ils offrent une bonne combinaison de taux de compression et de vitesse.

  • Les taux de compression élevés nécessitent beaucoup de ressources et sont plus adaptés aux sauvegardes sur des réseaux plus lents où le facteur limitant est la vitesse du réseau.

Le paramètre par défaut est "Basique". Le niveau de base ne nécessite pas Oracle Advanced Compression.

Pour vérifier le type de compression défini dans l'environnement, exécutez la commande show all à partir de l'invite RMAN :

rman target /

    show all

Configurer les services de base de données Oracle pour l'équilibrage de charge sur plusieurs nœuds

Cette procédure ne s'applique qu'aux bases de données Oracle ASM. Dans cet exemple, supposons un environnement RAC à quatre nœuds, où les nœuds 3 et 4 doivent être équilibrés en charge pour une utilisation de sauvegarde.

Consultez les pages suivantes :

L'équilibrage de charge entre les nœuds Oracle RAC nécessite l'authentification de la base de données Oracle.

Configurer la copie d'image RMAN parallèle à partir de plusieurs nœuds

Dans un environnement RAC, vous pouvez configurer la sauvegarde pour qu'elle s'exécute en parallèle à partir de plusieurs nœuds.

  1. Installez l'agent Backup and DR sur tous les nœuds.

  2. Configurez le mappage du groupe de disques ASM aux nœuds 3 et 4 à l'aide des détails et des paramètres de l'application.

  3. Créez un service de base de données à l'aide de srvctl pour l'exécuter à partir des nœuds 3 et 4.

  4. Utilisez ce service pour spécifier les informations sous Détails et paramètres de l'application. Sous "Paramètres avancés", sélectionnez "Nombre de chaînes". RMAN distribue les canaux entre les nœuds 3 et 4.

  5. Définissez le nom de service Oracle et les nœuds membres RAC.

Configurer les services Oracle Database pour l'équilibrage de charge sur plusieurs nœuds

  1. Configurez Application Details & Settings (Détails et paramètres de l'application), nœuds membres RAC : adresse IP du nœud 3 et adresse IP du nœud 4.

  2. Créez un service de base de données pour le nœud de maintenance à utiliser par Backup and DR pour la sauvegarde :

    srvctl add service -d <dbname> -s act_service_<dbname>
    -r <dbinstance3>,<dbinstance4> srvctl start service -d <dbname>
    -s act_service_<dbname>
    
  3. Ajoutez l'entrée TNS pour le nom de service Oracle créé sur les nœuds de sauvegarde (nœuds dbinstance3 et dbinstance4 dans cet exemple) sous le fichier tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora ou $GRID_HOME/network/admin/tnsnames.ora).

    act_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = <DATABASE NAME>)
    ) )
    
  4. Testez le nom de service créé :

    tnsping actservice

  5. Testez le nom de service et les identifiants utilisateur :

    sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
    
  6. Spécifiez ce nom de service sous Application Details & Settings (Détails et paramètres de l'application) Nom de service Oracle.

  7. Créez un service de sauvegarde de journaux d'archive dédié sur un nœud protégé (par exemple, le nœud 3) à utiliser pour la sauvegarde :

    srvctl add service -d <dbname> -s act_arc_service_<dbname> -r <dbinstance3>
    srvctl start service -d <dbname> -s act_arc_service_<dbname>
    
  8. Ajoutez l'entrée TNS pour le nom du service de sauvegarde des journaux d'archive créé dans le fichier tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora ou $GRID_HOME/network/admin/tnsnames.ora).

    act_arc_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = <node 3 instance>)
    (SERVICE_NAME = act_arc_service_<dbname>)
    ) )
    
  9. Testez le nom du service :

    tnsping act_archservice

  10. Spécifiez ce nom de service sous Application Details & Settings (Détails et paramètres de l'application) > nom de service de sauvegarde du journal d'archive.

Corriger Oracle 12c

Les montages compatibles avec la sauvegarde et la reprise après sinistre peuvent échouer si votre installation Oracle 12c n'inclut pas ce correctif, qui peut être téléchargé depuis le portail d'assistance Oracle :

Bug Oracle Database 12c n° 19404068 (ORA-1610 ON RECOVER DATABASE FOR CREATED CONTROLFILE)

  • (Correctif 19404068) Linux x86-64 pour Oracle 12.1.0.2.0

Pour vérifier si le correctif est installé, exécutez la commande suivante :

    $cd $ORACLE_HOME/OPatch
    $./opatch lsinventory -details
    $./opatch lsinventory -details | grep 19404068

Étape suivante

Avant d'ajouter l'hôte Oracle, passez à :

  1. (Facultatif) Utiliser Oracle Direct NFS avec Backup and DR
  2. Correctifs Oracle et problèmes connus

Guide de l'administrateur de base de données Oracle