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.
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 avecspfile
:#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.
Suivez la procédure décrite dans Préparer des bases de données Oracle dans un environnement Linux.
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>;
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 deof sysdba
, et le nom d'utilisateur de la base de données commence par #.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
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
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).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
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
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'instancedbrac3
):
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
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
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
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 surdbrac2
.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 :
Configurer la copie parallèle d'images RMAN à partir de plusieurs nœuds
Configurer les services de base de données Oracle pour l'équilibrage de charge sur plusieurs nœuds
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.
Installez l'agent de sauvegarde et de reprise après sinistre sur tous les nœuds.
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.
Créez un service de base de données à l'aide de srvctl pour l'exécuter à partir des nœuds 3 et 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.
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
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.
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>
Ajoutez l'entrée tns pour le nom du service Oracle créé sur les nœuds de sauvegarde (nœuds
dbinstance3
etdbinstance4
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>) ) )
Testez le nom de service créé:
tnsping actservice
Testez le nom de service et les identifiants utilisateur:
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
Spécifiez ce nom de service sous Application Details & Settings (Détails et paramètres de l'application) dans le nom du service Oracle.
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>
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>) ) )
Testez le nom du service:
tnsping act_archservice
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:
Guide de l'administrateur de base de données Oracle
Sauvegarde et reprise après sinistre pour les bases de données Oracle
Installer une base de données Oracle en tant qu'installation standard
Créer une copie virtuelle instantanée d'une base de données Oracle
Récupération instantanée d'une base de données Oracle à l'aide de Mount and Migrate
Provisionner un environnement avec un workflow de sauvegarde et de reprise après sinistre