Préparer les bases de données Oracle pour Backup and DR sur un appareil de sauvegarde/restauration

Avant de commencer, nous vous recommandons de consulter Backup and DR pour Oracle.

Avant de pouvoir sauvegarder des bases de données Oracle, vous devez ajouter le serveur Oracle en tant qu'hôte à Backup and DR. Pour que cela fonctionne, consultez 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 des bases de données Oracle dans un environnement Linux ou
Préparer des bases de données Oracle dans un environnement Windows
2 Se préparer à sauvegarder 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 à 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 des bases de données Oracle dans un environnement Linux

Avant de protéger une base de données Oracle, ou si les jobs 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'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 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>
export PATH=$ORACLE_HOME/bin:$PATH
 Login to sqlplus:
sqlplus / as sysdba
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
 Note: If archive log mode is not enabled then get archive mode enabled
 before proceeding.
  • 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
show parameter spfile
NAME      TYPE   VALUE
------------------ ----------- ------------
spfile      string  +DATA/ctdb/spfilectdb.ora
 Note: If the value is `null_` then
 get the spfile set. Backup and DR supports backing up using pfile as well.
 pfile should be available in default location. For example, a
 Linux `pfile` should be located under `$ORACLE_HOME/dbs`.
  • Pour la base de données Oracle RAC, le fichier de contrôle d'instantané doit se trouver sous des disques partagés. Pour une base de données Oracle RAC sous ASM, le fichier de contrôle d'instantané doit se trouver sous 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 /
    

    Ensuite, dans RMAN :

    show all
    

    Les paramètres de configuration RMAN pour la base de données avec le nom 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';
 This example shows the configuration set to the local file system.

 In a RAC environment, this must be set to shared ASM Disk Group. To put it
 on the ASM Disk Group, use:

```bash
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+(disk group name)/snap_(database name).f';
```

Se préparer à sauvegarder une base de données Oracle avec des fichiers de données sur un groupe de disques ASM

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

Le paramètre de chaîne de disque 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)
export PATH=$ORACLE_HOME/bin:$PATH

Connectez-vous à sqlplus :

sqlplus / as sysasm
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 Backup and DR. La sauvegarde Backup and DR ajoute son chemin de chaîne de disque (/dev/Backup and DR/asm/*) pour que son disque de préproduction de sauvegarde soit mappé à ASM.

Disque de préproduction Backup and DR sur le système de fichiers

Si vous protégez une base de données Oracle ASM sur un système de fichiers, l'option Convertir ASM en système de fichiers doit être définie 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 base de données. L'authentification de la base de données Oracle est décrite dans Sauvegarde et reprise après sinistre à l'aide de l'authentification de la base de données.

  1. Suivez les étapes décrites 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, s'il n'est pas fourni :

create user act_rman_user identified by <password>;
  1. 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 #.

  1. Vérifiez que le rôle sysdba a été attribué sur tous les nœuds de l'environnement RAC :
sqlplus / as sysasm
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
  1. Testez le nom du service en fonction de votre type d'environnement en suivant les instructions ci-dessous :

Créer et vérifier 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 du service Oracle n'est pas listé, créez l'entrée correspondante 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 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.

  1. Testez l'entrée du nom de service de la base de données pour 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
  1. 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
  1. Indiquez le nom du service créé (act_svc_dbstd) 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.

Créer et vérifier 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'instance 1 : 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 servicename dans le fichier tnsnames.ora à l'emplacement $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
  1. 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
  1. 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
  1. Indiquez le nom du service créé (act_svc_dbrac3) sous le paramètre de nom du service Oracle sous 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 absolu au fichier tnsnames.ora sous le paramètre de chemin d'accès Oracle TNS_Admin 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.

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

Le suivi des modifications de blocs de base de données est décrit dans Suivi des modifications de blocs de base de données Oracle (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 de 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 de l'appareil.

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 sur le nœud principal (voir "Créer un compte utilisateur de sauvegarde avec un accès sysdba"). Ensuite, le fichier de mot de passe (sous $ORACLE_HOME/dbs/) du nœud principal doit être copié sur le nœud Data Guard.

Pour l'authentification de l'OS

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

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

Pour accorder ces droits, exécutez la commande suivante dans l'invite SQL :

grant connect, alter system, select on dba_tablespaces to act_rman_user;
  • Nom du service du nœud principal Oracle Data Guard : il s'agit du nom du 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 du 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 l'ensemble des détails et des paramètres, consultez Détails et paramètres des applications 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. Veuillez indiquer les identifiants de la base de données. 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 à l'instance principale afin de changer de journal). Les identifiants de la 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 utilisateur dans Rôle utilisateur dans la base de données dans les détails et paramètres de l'application. Veuillez indiquer les identifiants de la base de données. Les identifiants de la 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 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 exécuté 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 "Details & Settings" (Détails et paramètres), "Cluster Nodes" (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ù :

  • Choix de basculement : ordre des nœuds dans lequel effectuer 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 du 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 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é contre 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 suit et démarre le job de sauvegarde suivant à partir de 172.15.157.201 au lieu de 200. Si un basculement se produit au milieu d'un job de sauvegarde, celui-ci échoue et le job suivant utilise le nœud de basculement pour démarrer une nouvelle sauvegarde.

Exemple dans un environnement Oracle, et non One Node :

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

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

  • Nom du service sur node2 : act_svc_dbrac2

  • Adresse IP du nœud 2 ou adresse IP d'analyse : 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 :

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 protecteur n'est pas en mesure d'effectuer la sauvegarde.

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

Compression des journaux d'archive 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 inférieurs ont un impact minimal 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 consomment beaucoup de ressources et sont mieux 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 "Basic". La compression 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. Les nœuds 3 et 4 doivent être équilibrés pour l'utilisation de la sauvegarde.

Consultez les pages suivantes :

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

Configurer une 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 sur le nœud 3 et le nœud 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 du nœud 3 et du nœud 4.

  4. Utilisez ce service pour spécifier sous Détails et paramètres de l'application. Choisissez le nombre de canaux sous "Paramètres avancés" (Nombre de canaux). RMAN répartit les canaux entre le nœud 3 et le nœud 4.

  5. Définissez le nom du 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. Configurez les nœuds membres RAC dans Application Details & Settings (Détails et paramètres de l'application) : 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 qui sera utilisé 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>
  1. 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) 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>)
) )
  1. Testez le nom de service créé :
tnsping act_service_<dbname>
  1. Testez le nom du service et les identifiants de l'utilisateur :
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
  1. Spécifiez ce nom de service sous Détails et paramètres de l'application > Nom du service Oracle.

  2. 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>
  1. 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>)
) )
  1. Testez le nom du service :
tnsping act_arch_service_<dbname>
  1. Spécifiez ce nom de service sous Détails et paramètres de l'application, dans le champ "Nom du service de sauvegarde du journal d'archive".

Appliquer un correctif à Oracle 12c

Les installations de Backup and DR compatibles avec les applications 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 et problèmes connus d'Oracle

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