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

Avant de commencer, consultez la page Service de sauvegarde et de reprise après sinistre 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 de sauvegarde et de reprise après sinistre. Pour que cela fonctionne, consultez les Conditions préalables pour sauvegarder 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 des bases de données Oracle dans un environnement Linux ou
Préparer des 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 de blocs de base de données (facultatif)
Protéger contre 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
Mettre à jour Oracle 12c

Préparer des 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 s'exécuter en mode journal d'archivage. 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 de l'OS Oracle 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 s'exécute 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 de l'instantané doit se trouver sous les disques partagés. Pour une base de données Oracle RAC sous ASM, le fichier de contrôle des instantanés doit se trouver sur des disques partagés.

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

        rman target /
    

    Dans RMAN:

       show all
    

    Les paramètres de configuration RMAN pour la base de données avec CTDB db_unique_name 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, ce paramètre doit être défini sur "Groupe de disques ASM partagé". Pour le placer sur le groupe de disques ASM, utilisez:

    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éproduction de sauvegarde et de reprise après sinistre sur un groupe de disques ASM

Le paramètre diskstring de l'ASM doit être défini et ne doit pas être nul. Connectez-vous au serveur de base de données en tant qu'utilisateur de l'OS ASM 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 le résultat de la valeur est nul, obtenez la valeur de chaîne de disque ASM correcte pour les disques ASM existants avant de procéder à la protection de la sauvegarde et de la reprise après sinistre. La sauvegarde Backup and DR ajoute son chemin de chaîne de disque (/dev/Backup and DR/asm/*) pour que son disque de préparation de la sauvegarde soit mappé sur ASM.

Disque de préproduction de sauvegarde et de reprise après sinistre sur le système de fichiers

Si vous protégez une base de données Oracle ASM dans un système de fichiers, la valeur Oui doit être définie pour Convertir ASM en système de fichiers sous Détails et paramètres de l'application. Consultez Informations 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 des bases de données Oracle est décrite dans la section Sauvegarde et reprise après sinistre à l'aide de l'authentification des bases de données.

  1. Suivez la procédure décrite dans Préparer des 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 ce n'est pas déjà fait:

    create user act_rman_user identified by <password>;
    
  3. Accordez à sysdba l'accès à 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é accordé sur 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 à l'aide des instructions suivantes:

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. Il 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 de 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 le chemin absolu dans Application Details & Settings (Détails et paramètres de l'application), comme décrit dans Application details & settings for Oracle databases (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 de l'OS Oracle 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 de sauvegarde et de reprise après sinistre 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 la section 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. Il 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'instance1: dbrac1

  • Nom de l'instance 2: 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 de nom de service 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 de l'OS Oracle 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 de sauvegarde et de reprise après sinistre peut s'y connecter:

    sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
    
  4. Indiquez le nom de service créé (act_svc_dbrac3) sous le paramètre "Nom de service Oracle" dans Détails et paramètres de l'application, 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 de chemin d'accès TNS_Admin Oracle sous Détails et paramètres de l'application décrit dans la section Détails et paramètres de l'application pour les bases de données Oracle.

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

Le suivi des blocs de modification de la base de données est décrit dans la section Suivi des modifications de blocs de base de données Oracle (BCT).

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

sqlplus / as sysdba

À l'invite SQL:

select * from v$block_change_tracking;

Si le suivi des modifications de bloc 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 un 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 contre un nœud Oracle Data Guard

Vous pouvez protéger une base de données Oracle contre les nœuds de base de données principaux ou les 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, cet utilisateur doit être créé avec le privilège sysdba au niveau du nœud principal (voir "Créer 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 l'authentification de l'OS, le privilège sysdba n'est pas requis. Ce compte utilisateur de base de données a besoin 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 la section 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. Les identifiants de la base de données sont nécessaires. Si aucun rôle n'est sélectionné, sysdba est utilisé.
Instance de secours Les identifiants de base de données sont nécessaires même pour l'authentification de l'OS (pour se connecter au journal principal et le basculer). Les identifiants de la base de données n'ont pas besoin d'un rôle sysdba/sysbackup. Si un compte sysdba/sysbackup est utilisé, définissez le rôle utilisateur dans Rôle utilisateur dans la base de données dans les détails et paramètres de l'application. Les identifiants de la base de données sont nécessaires. Les identifiants de base de données doivent correspondre 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 les 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 de sauvegarde et de 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 est configurée à partir d'un seul nœud.

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

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

Où :

  • Failover Choice (Choix de basculement) : ordre de basculement des nœuds.

  • 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 de sauvegarde et de reprise après sinistre. Il peut s'agir d'un nouveau service dédié créé pour la sauvegarde Backup and DR ou du nom SID (nom d'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 bascule 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

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

Si OneN bascule sur 172.15.157.201, la sauvegarde Backup and DR le suit et lance la prochaine tâche 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, la tâche é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 de la recherche: 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 Application Details & Settings (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: Le nœud de basculement ne participe que lorsque le nœud de protection n'effectue pas la sauvegarde.

M: nœud de maintenance, remplace le nœud de protection si 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 de 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 inférieurs ont le moins d'impact sur le débit de sauvegarde. Ils sont particulièrement adaptés aux environnements où les ressources de processeur constituent le facteur limitant.

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

  • Les ratios de compression élevés sont gourmands en ressources et sont les 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 "Standard". Le niveau de base ne nécessite pas la compression avancée Oracle.

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. Les nœuds 3 et 4 doivent être équilibrés en charge pour une utilisation en 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 de sauvegarde et de reprise après sinistre sur tous les nœuds.

  2. Configurez le mappage du groupe de disques ASM sur les 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 et les paramètres de l'application sous Informations et paramètres de l'application. Sous "Paramètres avancés", sélectionnez "Nombre de canaux". RMAN distribue les canaux entre le nœud 3 et le nœud 4.

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

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

  1. Dans Application Details & Settings (Détails et paramètres de l'application), configurez les nœuds membres du 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 du service Oracle créé sur les nœuds de sauvegarde (nœuds dbinstance3 et dbinstance4 dans cet exemple) dans 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) dans le nom du service Oracle.

  7. Créez un service de sauvegarde de journal 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) archive log backup servicename (Nom du service de sauvegarde des journaux d'archivage).

Appliquer un correctif à Oracle 12c

Les montages compatibles avec les applications de sauvegarde et de DR 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 19404068 de la base de données Oracle 12c (ORA-1610 SUR LA BASE DE DONNÉES DE RÉCUPÉRATION POUR LE FICHIER DE CONTRÔLE CRÉÉ)

  • (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, procédez comme suit:

  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