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.
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 avecspfile:
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 allLes 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.
Suivez les étapes décrites 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, s'il n'est pas fourni :
create user act_rman_user identified by <password>;
- Accordez l'accès
sysdbaà tous les nœuds RAC en vous connectant àsqlplussur 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 #.
- Vérifiez que le rôle
sysdbaa é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
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
- 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/adminou$GRID_HOME/network/adminen 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.
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
- 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
- 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 :
dbracNom de l'instance 1 :
dbrac1Nom de l'instance 2 :
dbrac2Nom 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) :
- Créez une entrée servicename dans le fichier
tnsnames.oraà l'emplacement$ORACLE_HOME/network/adminou$GRID_HOME/network/adminen 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 Backup and DR peut se connecter :
sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
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_Admindans 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
dbrac1et le basculement doit être défini surdbrac2Nom du service sur node2 :
act_svc_dbrac2Adresse 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 :
Configurer une copie d'image RMAN parallèle à 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 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.
Installez l'agent Backup and DR sur tous les nœuds.
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.
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.
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.
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
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.
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>
- Ajoutez l'entrée tns pour le nom du service Oracle créé sur les nœuds de sauvegarde (nœuds
dbinstance3etdbinstance4dans 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>)
) )
- Testez le nom de service créé :
tnsping act_service_<dbname>
- Testez le nom du service et les identifiants de l'utilisateur :
sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
Spécifiez ce nom de service sous Détails et paramètres de l'application > Nom du service Oracle.
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>
- 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.oraou$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_arch_service_<dbname>
- 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 à :
Guide de l'administrateur de base de données Oracle
- Backup and DR pour les bases de données Oracle
- Prérequis pour protéger une base de données Oracle
- Correctifs et problèmes connus d'Oracle
- Préparer les bases de données Oracle pour la protection
- Découvrir et protéger une base de données Oracle
- Informations et paramètres pour les bases de données Oracle
- Utiliser dNFS avec Backup and DR
- Protéger une base de données Oracle découverte
- 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
- Restaurer et récupérer une base de données Oracle
- Récupération instantanée d'une base de données Oracle à l'aide de l'option "Installer et migrer"
- Provisionner un environnement avec un workflow Backup and DR