Vous êtes sur la page 1sur 147

Administration ORACLE 2

Prof. Nissrine SOUISSI

2017-2018

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs du cours
L’objectif de ce cours est :
• de maîtriser les concepts de sauvegarde, de
restauration et de récupération

• d’acquérir une expérience pratique concernant :


• L'implémentation d'une stratégie de sauvegarde, de
restauration et de récupération
• L'utilisation de l’outil RMAN
• L’utilisation de l’outil export/import
!

Copyright © 2004, Oracle. Tous droits réservés.


Plan du cours

‚1.Gestion des utilisateurs et sécurité

ƒ2.Généralités sur les sauvegardes

„3.Configuration de RMAN

4.Sauvegardes physiques gérées par RMAN

‡5.Restauration et Récupération gérées par RMAN

ˆ6.Sauvegarde, restauration et récupération physiques gérées par l’utilisateur

‰7.Sauvegarde et restauration logiques gérées par export/import

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 1
Gestion des utilisateurs et sécurité

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• Créer et gérer des comptes utilisateur
• Affecter des tablespaces par défaut à des utilisateurs
• Accorder et révoquer des privilèges
• Créer et gérer des rôles
• Créer et gérer des profils
• Implémenter des fonctionnalités standard de sécurité
des mots de passe
• Contrôler l'utilisation des ressources par les
utilisateurs
• Sécuriser le processus d'écoute

Copyright © 2004, Oracle. Tous droits réservés.


Création des profils

Un PROFIL est un ensemble de limitations. Une fois qu'un PROFIL a


été assigné à un utilisateur, celui-ci ne pourra plus dépasser les limitations
imposées.

Deux types de limitations:


• Les limitations du mot de passe (onglet MOT DE PASSE de OEM)
• Les limitations des ressources système (onglet GENERAL de OEM)

Mise en place
• Etablir les limitations de mot de passe et les limitations système.
• Créer le profil
• Attribuer le profil aux utilisateurs qui devront être limités.

Copyright © 2004, Oracle. Tous droits réservés.


Création des profils
Limitations système
La valeur DEFAULT: Oracle
ira récupérer la valeur de
la limitation dans le profil
DEFAULT.

Nom du profil
Le temps de processeur max en centièmes de secondes
qu'une session pourra utiliser.
X -Le temps de processeur max en centièmes de secondes qu'un "appel
serveur" pourra utiliser.
X -Le temps (min) pour la durée de connexion max d'une session.
-Le temps (min) pour la durée d'inactivité maximale d'une session.

Le nombre de session max qu'un utilisateur pourra ouvrir.

X -Le nombre max de bloc lus durant une session.


-Le nombre max de bloc lus durant un «appel serveur»
-La taille que pourra utiliser une session
X -Le coût total des limitations autorisées pour une session

Copyright © 2004, Oracle. Tous droits réservés.


Création des profils
Limitations Mot de passe

Si le paramètre Nb de jours de conservation a été initialisé avec


une valeur numérique, alors le paramètre Nb de PWD à
conserver (PASSWORD_REUSE_MAX) devra être à UNLIMITED
et inversement. Si les deux paramètres possèdent la valeur
UNLIMITED, alors Oracle n'utilisera aucune de ces deux
limitations de mot de passe.

Définir le nom d'une fonction PL/SQL qui servira à


vérifier les mots de passe saisis. Sinon, la valeur
NULL.

Définir le nombre maximal de tentatives de connexion.


Si le nombre de connexion est atteint le compte sera
alors verrouillé pendant une période.

Copyright © 2004, Oracle. Tous droits réservés.


Création des profils
Commandes SQL

• create profile nom_profil


limit
sessions_per_user 2 --
cpu_per_session 10000 -- hunderth of seconds
cpu_per_call 1 -- hunderth of seconds
connect_time unlimited -- minutes
idle_time 30 -- minutes
logical_reads_per_session default -- db blocks
logical_reads_per_call default -- db blocks
private_sga 20M --
failed_login_attempts 3 --
password_life_time 30 -- days
password_reuse_time 12 --
password_reuse_max unlimited --
password_lock_time default -- days
Création des rôles
Un RÔLE est un ensemble de privilèges. Une fois créé, il peut être assigné à un
utilisateur ou à un autre rôle .
1. Les privilèges de niveau système
Ils permettent la création, modification, suppression, exécution de groupes
d'objets . Le privilège CREATE TABLE, par exemple permet à l'utilisateur qui l’a
reçu de créer des tables.

2. Les privilèges de niveau objet


Ils permettent les manipulations sur des objets spécifiques. Les privilèges
SELECT, INSERT, UPDATE, DELETE sur la table SCOTT.EMP par exemple
permettent à l'utilisateur qui les a reçu de sélectionner, ajouter, modifier et
supprimer des lignes dans la table EMP appartenant à l'utilisateur SCOTT.

•Les privilèges objets sont typiquement les droits que peuvent accorder des
utilisateurs sur les objets dont ils sont les auteurs alors que les privilèges système
sont réservés au DBA.

Copyright © 2004, Oracle. Tous droits réservés.


Création des rôles

Exemple de Rôles créés par défaut dans une base Oracle


• CONNECT : Autorise la connexion à une base Oracle. Parmi les
privilèges associés à cette commande :
CREATE SESSION ...

• RESOURCE : Permet, en plus de la création de table et de vue,


l'utilisation de procédure (CREATE PROCEDURE...).

• DBA : Ce rôle regroupe tous les privilèges système pour la


gestion des utilisateurs et de leurs tables.

Copyright © 2004, Oracle. Tous droits réservés.


Création des rôles
Nom : représente le nom du rôle
Authentification
• Aucune : indique qu'aucun mot de passe n'est nécessaire pour activer le rôle

• Mot de passe : indique qu'un mot de passe est nécessaire pour activer le rôle

• EXTERNE indique que l'autorisation provient d'une source externe

• GLOBAL pour un user GLOBAL géré par exemple par Enterprise Directory Service

Copyright © 2004, Oracle. Tous droits réservés.


Création des rôles
Commandes SQL
• -- création du rôle
SQL> create role consult_finance;

• -- affectation des privilèges au rôle


SQL> grant select on budget to consult_finance;
SQL> grant select on fournisseur to consult_finance;
SQL> grant select on client to consult_finance;

• -- cession du rôle aux utilisateurs


SQL> grant consult_finance to user_finance_1;
SQL> grant consult_finance to user_finance_2;
Création des utilisateurs

Copyright © 2004, Oracle. Tous droits réservés.


Création des utilisateurs
Commandes SQL

• CREATE USER nomuser IDENTIFIED BY pwd


DEFAULT TABLESPACE data (nom tbs permanent)
TEMPORARY TABLESPACE temp (nom tbs temporaire)
PROFILE DEFAULT
QUOTA UNLIMITED ON data
PASSWORD EXPIRE;

• SQL> GRANT CONNECT TO nomuser;


Notions de Oracle Net
Processus d'écoute

Application SGBDR

Oracle Net Oracle Net


Réseau
TCP/IP

Client Serveur de base de données

Fichier de configuration des processus d’écoute


-Quelques paramètres -Services disponibles -Services pris en charge
de connexion depuis le poste client - Adresse: Protocole, serveur, port, …
(Adresse: Protocole, serveur, port,
Type de configuration serveur)

listener.ora
tnsnames.ora
sqlnet.ora
tnsnames.ora sqlnet.ora
…\oracle\...\NETWORK\ADMIN

Copyright © 2004, Oracle. Tous droits réservés.


Principe d’une connexion via Oracle Net
Étape n° 1 : le logiciel client effectue une demande
de connexion. Elle transite par Oracle Net puis
TCP/IP jusqu’au serveur. Le fichier de paramétrage
tnsnames.ora du poste client précise l’adresse IP
Processus du serveur, la base cible avec laquelle il souhaite
entrer en relation et le port IP de communication sur
serveur
lequel le Listener doit être en écoute.
Étape n° 2 : le Listener Oracle écoute TCP/IP sur
le port par défaut n° 1521. Il reçoit la demande de
connexion.
Étape n° 3 : le Listener attend le nom d’utilisateur,
le mot de passe et vérifie les droits d’accès à la
base.

Étape n° 4 : une fois l’autorisation validée, le Listener crée un processus utilisateur sur le serveur. Il retourne
au client Oracle un nouveau port IP « privé » qui servira pour la communication entre le client et son processus
utilisateur dédié. Ce numéro de port est pris de manière aléatoire dans une plage réservée par Oracle. Un port
unique pour chaque processus est une garantie de performance, car plusieurs milliers d’utilisateurs peuvent
simultanément établir une connexion Oracle.
Étape n° 5 : le client est maintenant connecté au serveur. Il dialogue directement via le réseau avec le
processus utilisateur sur le numéro de port indiqué.

Copyright © 2004, Oracle. Tous droits réservés.


Authentification par mot de passe du
processus d'écoute

• Dans Oracle Database, le processus d'écoute est sécurisé


par défaut.
– L'authentification par le système d'exploitation est utilisée.
• Les mots de passe des processus d'écoute restent pris en
charge si nécessaire.
– Employez l'utilitaire de contrôle du processus d'écoute
(lsnrctl).
– Utilisez EM Database Control.
– Utilisez Oracle Net Manager.

Copyright © 2004, Oracle. Tous droits réservés.


Définir le mot de passe du processus d'écoute
avec Entreprise Manager

1. Cliquez sur le lien Listener dans la région General de la page


d'accueil de OEM.
2. Cliquez sur le bouton Modifier dans la région General.
3. Renseignez les champs Host login credentials (login/pwd OS).
4. Sélectionnez l'onglet Authentification.

5. Cliquez sur le bouton OK pour terminer.


6. Redémarrez le processus d’écoute

Copyright © 2004, Oracle. Tous droits réservés.


Définir le mot de passe du processus
d'écoute avec Net Manager

1.Sélectionnez un processus d'écoute, puis


sélectionnez Paramètres généraux dans la liste
déroulante.
2.Cliquez sur l'onglet Authentication, puis…

3. Entrez le mot de passe de votre choix, puis


tapez-le une deuxième fois afin de confirmer.
4. Sélectionnez Enregistrer la configuration
réseau dans le menu Fichier.

Copyright © 2004, Oracle. Tous droits réservés.


Définir le mot de passe avec l'utilitaire lsnrctl

Avec la commande lsnrctl CHANGE_PASSWORD :

Démarrer > Exécuter > Taper lsnrctl


LSNRCTL> CHANGE_PASSWORD
Old password: *******
New Password: *******
Reenter new password: *******
LSNRCTL> SAVE_CONFIG

Copyright © 2004, Oracle. Tous droits réservés.


Contrôler l'accès à la base de données avec
Net Manager
Pour configurer le contrôle d'accès à la base de données, démarrez
Net Manager. Dans le volet de navigation, développez
2 Local, puis Profil.
3
Dans la liste du volet de droite, sélectionnez General, puis sélectionnez
1
l'onglet Droits d’accès. Sélectionnez l'option Vérifier les droits d’accès
4
des clients TCP/IP.
Dans les champs Clients interdits d’accès et Clients autorisés
d’accès, entrez un nom d'hôte ou une adresse IP pour tout client que
5
vous souhaitez inclure ou exclure, en utilisant des virgules pour délimiter
les entrées placées sur la même ligne.

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 1
Gestion des utilisateurs et sécurité
Atelier pratique
Cf. Manuel des exercices
Outils utilisés :
• SQL*PLUS
• L'utilitaire lsnrctl
• Oracle Enterprise Manager
• Oracle Net Manager

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 2Ž
Généralités sur les sauvegardes

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• connaître le principe de sauvegarde d’une base
Oracle
• établir la bonne stratégie de sauvegarde
• décrire les stratégies de sauvegarde possibles en
mode archivelog
• décrire les stratégies de sauvegarde possibles en
mode noarchivelog

Copyright © 2004, Oracle. Tous droits réservés.


Principe de sauvegarde d’une base Oracle

Eléments à sauvegarder
Pour les bases Oracle, il faut sauvegarder l’ensemble des fichiers qui la
composent : fichiers de contrôle, fichiers redo-log archivés, fichiers de
données.

D’autres fichiers doivent être sauvegardés :


• les fichiers d’initialisation (pfile, spfile)
• les fichiers listener.ora et tnsnames.ora
• les fichiers mot de passe externes à la base

• Une sauvegarde consiste à conserver partiellement ou totalement une


base de données afin de pouvoir la restaurer en cas d’incident.
• La sauvegarde peut s’effectuer, base fermée ou ouverte, avec les
utilisateurs « en ligne » et cela dépend du mode de fonctionnement de
la base (archivelog ou noarchivelog).

Copyright © 2004, Oracle. Tous droits réservés.


Stratégies de sauvegarde disponibles

Une sauvegarde peut être totale, partielle ou incrémentielle.

• Une sauvegarde totale est une sauvegarde de la totalité de la base


de données après un arrêt propre de la base. Ce type de sauvegarde
est aussi appelé « sauvegarde base fermée » ou « sauvegarde
cohérente » ou encore « sauvegarde à froid ». Après un arrêt propre
de la base, toutes les modifications ont été écrites dans les fichiers de
données qui sont bien synchronisés.

• Une base restaurée à partir d’une sauvegarde cohérente peut être


ouverte immédiatement : il est inutile d’appliquer les fichiers redo-log.
C’est le seul mode de sauvegarde disponible lorsque la base
fonctionne en mode noarchivelog.

Copyright © 2004, Oracle. Tous droits réservés.


Stratégies de sauvegarde disponibles

• Une sauvegarde partielle est une sauvegarde incluant uniquement


une partie de la base de données. Une sauvegarde partielle est aussi
appelée « sauvegarde base ouverte » ou « sauvegarde à chaud ». Ce
type de sauvegarde est effectué alors que l’activité de mise à jour se
poursuit pendant la sauvegarde.

• Pour que les sauvegardes partielles soient exploitables en restauration,


il faut appliquer les fichiers de journalisation pour rendre les fichiers
restaurés cohérents. La base de données doit fonctionner en mode
archivelog.

• Une sauvegarde incrémentielle est une sauvegarde qui ne contient


que les blocs modifiés depuis la dernière sauvegarde.

Copyright © 2004, Oracle. Tous droits réservés.


sauvegarde physique/sauvegarde logique

Remarque
ŒUne sauvegarde physique permet de redémarrer une base
sur une autre machine ayant un système d’exploitation
identique. Pour redémarrer sur un système d’exploitation
différent, seul l’Export logique convient. Dans ce cas, une
base de données cible ayant les mêmes caractéristiques que
celle d’origine devra être créée au préalable.
"
La sauvegarde logique est complémentaire des sauvegardes
physiques. Elle est intéressante si, par exemple, une table et ses
données sont supprimées par erreur. Il est alors possible
d’importer cette table sans perturber la production ni arrêter la
base.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegardes physiques
Outils
• Recovery Manager (RMAN) est le composant d'Oracle Database
utilisé pour effectuer les opérations de sauvegarde physique et de
récupération.

• Oracle Enterprise Manager (OEM) fournit une interface graphique


vers les fonctionnalités RMAN les plus couramment utilisées.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegardes physiques
Outils
Sauvegarde gérée par l'utilisateur
Contraintes :
•Effectuer le suivi de l'ensemble des fichiers et sauvegardes de
la base de données.
•Localiser les sauvegardes de chaque fichier de données, les
copier dans l'emplacement approprié à l'aide de commandes
du système d'exploitation, ainsi que choisir les fichiers de
journalisation à appliquer (dans un scénario de récupération)

Outil : un utilitaire de sauvegarde du système d'exploitation

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegardes logiques
Outils
• L’outil Oracle Export/Import est basé sur une méthode
logique de sauvegarde (Export) et de restauration des
données (Import).
• Oracle Export permet de sauvegarder le contenu
logique d'une base de données dans un fichier de
transfert Oracle au format binaire, ou fichier dump. Ce
fichier pourra donc être relu pour recréer des objets qu'il
contient. Ce transfert peut s'accomplir sur une même
base ou même sur deux bases Oracle, et cela même si
leurs configurations matérielles et logicielles sont
différentes. Cela signifie que l'on peut tout à fait exporter
une base sous Windows pour l'importer sous Linux ou
Unix (sauf pour les tablespaces transportables).

Copyright © 2004, Oracle. Tous droits réservés.


• Contient la définition de
R/W
tous les objets (tables,
•Sauvegarde physique de
index…). tous les fichiers qui
• Sauvegarde physique
• Exporte les données. composent la base. • Sauvegarde physique de
de tous les fichiers qui
• Les tablespaces •S’effectue tablespace tous les fichiers qui
composent la base.
doivent être online !!! par tablespace. composent la base.
• S’effectue tablespace
• Utilisée principalement •La base doit être en par tablespace. • S’effectue base
pour transférer une base mode ARCHIVELOG!!! fermée.
•La base peut être en
de machine à machine, •Les utilisateurs mode NOARCHIVELOG! La base peut être en Mode
migration. continuent à travailler • Les utilisateurs ne
normalement durant NOARCHIVELOG!
•Outil Oracle Export/ peuvent accéder au
l’opération. tablespace en cours de • Les utilisateurs ne
Import.
sauvegarde. peuvent accéder à la base.

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 3
Configuration de RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• décrire le référentiel RMAN et le catalogue de
restauration
• configurer les paramètres de base de données qui
affectent les opérations RMAN
• modifier les paramètres RMAN par défaut à l'aide
de la commande CONFIGURE

Copyright © 2004, Oracle. Tous droits réservés.


Fonctionnalités de Recovery Manager
(RMAN)

RMAN offre un moyen flexible pour :


• Sauvegarder la base de données, les fichiers de
données, les fichiers de contrôle et les fichiers de
journalisation archivés, …
• Gérer les tâches de sauvegarde et de récupération
• Procéder à une sauvegarde incrémentielle au niveau
bloc et à une restauration physique au niveau bloc
• Détecter les blocs endommagés au cours de la
sauvegarde
• Utiliser la compression binaire lors de la création de
sauvegardes

Copyright © 2004, Oracle. Tous droits réservés.


Composants de Recovery Manager (RMAN)
Une base de données
dupliquée, utilisée Les sessions serveur se connectent RMAN interprète les commandes et
l o r s d e l a à la base de données cible afin appelle les sessions serveur afin
récupération d'un d'exécuter les fonctions de d'effectuer les opérations souhaitées.
tablespace ou autre. sauvegarde, de restauration et de
récupération. Ces sessions lisent ou
écrivent des fichiers.
Session Recovery
serveur Manager Enterprise
Base de (RMAN)
données cible Manager
Lien pour effectuer les
opérations de sauvegarde
et de récupération
Session
serveur
Base de
données Canal Canal Canal
auxiliaire
MML
Des données sur les opérations Bibliothèque de gestion des supports
de sauvegarde et de récupération (MML, Media Management Library)
sont conservées dans le
référentiel RMAN. Elles sont Disque Base de
toujours stockées dans le fichier données du
de contrôle de la base cible et Zone de
peuvent être conservées dans un récupération catalogue de
catalogue de restauration. rapide restauration
Un emplacement de stockage par défaut pour
les fichiers liés à la récupération de la base
Copyright © 2004, Oracle. Tous droits réservés.
Composants de Recovery Manager (RMAN)

Exécutable Recovery Manager : L'interface de ligne de commande de Recovery


Manager est appelée via l'application client RMAN. RMAN interprète les
commandes utilisateur et appelle de manière appropriée les sessions serveur afin
d'effectuer les opérations souhaitées.

Enterprise Manager : La console Enterprise Manager Database Control fournit une


interface graphique vers les fonctionnalités les plus couramment utilisées de RMAN.

Sessions serveur : Les processus serveur appelés par RMAN se connectent à la


base de données cible afin d'exécuter les fonctions de sauvegarde, de restauration
et de récupération, par l'intermédiaire d'une interface PL/SQL. Ces sessions lisent
ou écrivent des fichiers sur disque, sur bande ou dans la zone de récupération
rapide, un emplacement de stockage désigné comme emplacement par défaut pour
les fichiers liés à la récupération de la base de données.

Copyright © 2004, Oracle. Tous droits réservés.


Composants de Recovery Manager (RMAN)

Base de données cible : la base de données pour laquelle les opérations de


sauvegarde et de récupération sont effectuées via RMAN est appelée base de
données cible.

Base de données auxiliaire : elle est utilisée lors de la création d'une base de
données dupliquée ou lors de la récupération d'un tablespace jusqu'à un point
dans le temps (TSPITR). Une base de données auxiliaire peut résider sur le
même hôte que son parent, ou sur un hôte différent.

Canal : pour effectuer et enregistrer les opérations de sauvegarde et de


récupération, RMAN nécessite un lien vers la base de données cible. Ce lien est
appelé canal. Vous pouvez allouer les canaux manuellement ou les préconfigurer
à l'aide de la fonctionnalité d'allocation automatique des canaux.

Copyright © 2004, Oracle. Tous droits réservés.


Composants de Recovery Manager (RMAN)

Référentiel (repository) RMAN : les métadonnées sur la base de données cible et


sur ses opérations de sauvegarde et de récupération sont conservées dans le
référentiel RMAN. Les données du référentiel RMAN sont toujours stockées dans le
fichier de contrôle de la base de données cible.

Catalogue de restauration : les données du référentiel RMAN peuvent


éventuellement être conservées dans un catalogue de restauration, c'est-à-dire une
base de données distincte qui conserve les données historiques relatives aux
activités de sauvegarde beaucoup plus longtemps que le fichier de contrôle et qui
préserve les informations de sauvegarde en cas de perte du fichier de contrôle.

Bibliothèque de gestion des supports (MML, Media Management Library) : elle


est utilisée par RMAN lors de l'écriture ou de la lecture sur bande.

Copyright © 2004, Oracle. Tous droits réservés.


Gestionnaire des supports média

Session
Recovery Il faut qu’il soit
serveur compatible avec la
Manager
(canal) spécification MML
d’Oracle!!!
Bibliothèque de
gestion des
supports
Logiciel serveur
Il s'agit d'un utilitaire permettant de charger, de libeller et de de gestion
décharger des supports séquentiels, tels que des lecteurs des supports
de bande, pour la sauvegarde, la restauration et la
récupération des données. La base de données Oracle
appelle les routines logicielles MML afin de sauvegarder les
fichiers de données sur les supports contrôlés par le
gestionnaire de support, ainsi que pour les restaurer à partir
de ces supports.

Copyright © 2004, Oracle. Tous droits réservés.


Zone de récupération rapide

RMAN génère les noms des fichiers


de sauvegarde automatiquement.
Chaque fois que RMAN crée un fichier
dans la zone de récupération rapide, la
base Oracle met à jour la liste des
fichiers qui ne sont plus nécessaires
Manque d’espace :
sur le disque.
supprimer les fichiers
de la zone de
Processus de récupération rapide à
sauvegarde RMAN l'aide de RMAN, ou
envisager de changer
de stratégie de
conservation RMAN

Zone de base de données Zone de récupération rapide


RMAN place automatiquement les fichiers de sauvegarde
dans cette zone, en indiquant le paramètre d'initialisation
DB_RECOVERY_FILE_DEST.

Copyright © 2004, Oracle. Tous droits réservés.


Zone de récupération rapide

La fonctionnalité de sauvegarde et de récupération rapide


simplifie la gestion de l'espace disque et des fichiers liés à la
sauvegarde et à la récupération. Il n'est pas nécessaire
d'indiquer le nom des fichiers de sauvegarde, car RMAN génère
les noms des fichiers automatiquement. Lorsque la zone de
récupération rapide est utilisée, RMAN utilise automatiquement
OMF (Oracle Managed Files) pour ses fichiers de sauvegarde.

Chaque fois que RMAN crée un fichier dans la zone de


récupération rapide, la base de données Oracle met à jour la
liste des fichiers qui ne sont plus nécessaires sur le disque.

Copyright © 2004, Oracle. Tous droits réservés.


Zone de récupération rapide

Lorsque la zone de récupération rapide est confrontée à un


manque d'espace ou que l'espace libre est faible parce qu'aucun
fichier ne peut être supprimé, un avertissement est généré. Pour
résoudre le problème, vous pouvez ajouter de l'espace disque,
sauvegarder les fichiers sur un périphérique tiers, supprimer les
fichiers de la zone de récupération rapide à l'aide de RMAN, ou
envisager de changer de stratégie de conservation RMAN.

Par défaut, RMAN place automatiquement les fichiers de


sauvegarde dans une zone de récupération rapide lorsque vous
définissez le paramètre d'initialisation
DB_RECOVERY_FILE_DEST.

Copyright © 2004, Oracle. Tous droits réservés.


Considérations relatives à l'utilisation de RMAN
• Paramètres d'initialisation de la base de données :
– CONTROL_FILE_RECORD_KEEP_TIME : le nombre
minimum de jours pendant lesquels les informations RMAN
sont stockées dans le fichier de contrôle avant d'être
remplacées. La valeur par défaut est de sept jours.
– Pour définir la taille et l'emplacement de la zone de
récupération rapide :
• DB_RECOVERY_FILE_DEST
• DB_RECOVERY_FILE_DEST_SIZE
• Variables d'environnement :
– NLS_DATE_FORMAT
– NLS_LANG
==> déterminent le format utilisé pour les paramètres
temporels dans les commandes RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Considérations relatives à l'utilisation de RMAN

• Ressources : mémoire partagée, plus de processus


– Les opérations RMAN peuvent être effectuées en parallèle afin
d'accroître le débit. Cela implique que la valeur du paramètre de
base de données PROCESSES soit suffisamment élevée.

• Privilèges accordés aux utilisateurs


– Base de données : SYSDBA
– Système d'exploitation : accès aux périphériques

• Opérations à distance
– Configurez le fichier de mots de passe.
– Assurez-vous que ce fichier est sauvegardé.

• Utilisation du catalogue de restauration

Copyright © 2004, Oracle. Tous droits réservés.


Types de connexion avec RMAN
Extraire des informations
sur les sauvegardes Effectuer la récupération d'un
Effectuer les opérations RMAN tablespace

Base de données Base de données du Base de données


cible catalogue de auxiliaire
restauration

Recovery
Manager

Copyright © 2004, Oracle. Tous droits réservés.


Types de connexion avec RMAN

• Options de connexion pour RMAN :

– AUXILIARY : indique une chaîne de connexion à une base


auxiliaire.

– CATALOG : indique une chaîne de connexion à la base


contenant le catalogue de restauration.

– NOCATALOG : indique que vous utilisez RMAN sans


catalogue de restauration.

– TARGET : indique une chaîne de connexion à la base cible.

Copyright © 2004, Oracle. Tous droits réservés.


Démarrer RMAN

• Démarrer RMAN localement et se connecter à la base cible


C:\> rman target / ou rman ensuite connect target /

• Démarrer RMAN à distance et se connecter à la base cible


rman target sys/password@dbname

• Démarrer RMAN localement, se connecter à la base cible et


écrire la sortie RMAN vers un fichier journal :

C:\>rman target / log=...\rman.log append

• Exécuter un fichier de commande lorsque RMAN est appelé :

rman target / CMDFILE=…/my_rman_script.rcv

Copyright © 2004, Oracle. Tous droits réservés.


Exécuter des commandes RMAN

• Client interactif
– Commandes tapées à l'invite RMAN
rman TARGET /
RMAN> BACKUP DATABASE;

• Mode batch
– Utiliser ce mode avec les travaux automatisés
– Indiquer un fichier de commande lors du démarrage de RMAN
– Configurer le fichier journal pour obtenir des informations

Copyright © 2004, Oracle. Tous droits réservés.


Exécuter des commandes RMAN
Les commandes RMAN peuvent être de différents types :
• Autonomes
– Exécutées individuellement à l'invite RMAN
– Ne peuvent pas apparaître sous forme de sous-commandes de la
commande RUN
• Travail
– Doivent être incluses entre les accolades de la commande RUN
– Exécutées en tant que groupe
• Autonomes ou travail
– Peuvent être exécutées individuellement à l'invite RMAN
– Peuvent être incluses entre les accolades de la commande RUN et
être exécutées dans un groupe
RMAN> RUN {
2> BACKUP DATABASE;
3> SQL 'alter system archive log current';
4> }

Copyright © 2004, Oracle. Tous droits réservés.


La base de données du catalogue de restauration

Si cette base n’existe pas, il faudra réaliser les étapes suivantes :


- Créer la base de données du catalogue de restauration
- Créer les tablespaces
- Créer l’utilisateur propriétaire du catalogue
- Créer le catalogue
- Enregistrer la base à sauvegarder

Copyright © 2004, Oracle. Tous droits réservés.


La base de données du catalogue de restauration

Créer une base avec cette exemple de paramètres (outil DBCA):

SID rcat
Configurer la base avec OEM

block size 8k

Copyright © 2004, Oracle. Tous droits réservés.


La base de données du catalogue de restauration

Avec SQL*Plus
create tablespace rcat
datafile ‘…/oradata/rcat/rcat.dbf' size 100M;

create temporary tablespace rcattmp


tempfile ‘…/oradata/rcat/rcattmp.dbf' size 10M;

create user cat identified by CATPASSWD


default tablespace rcat
temporary tablespace rcattmp;

grant connect, resource, recovery_catalog_owner to cat;

Copyright © 2004, Oracle. Tous droits réservés.


La base de données du catalogue de restauration

Avec cmd

Créer le catalogue (utilitaire rman)


Set oracle_sid=nomBDcible
rman catalog cat/CATPASSWD@rcat (se connecter à la base rcat)
Rman>create catalog tablespace rcat; (créer le catalogue)

Enregistrer la base à sauvegarder


Rman>Connect target / (se connecter à la base cible)
register database; (associer la base cible au catalogue)

Copyright © 2004, Oracle. Tous droits réservés.


Configurer des paramètres persistants pour RMAN

• RMAN est préconfiguré avec des paramètres par défaut.


• Utilisez la commande CONFIGURE pour :
– Configurer des canaux automatiques
– Définir la stratégie de conservation des sauvegardes
– Définir le nombre de copies de sauvegarde à créer
– Définir le type de sauvegarde BACKUPSET ou COPY par défaut
– Limiter la taille des jeux de sauvegarde
– Exempter un tablespace de la sauvegarde
– Activer et désactiver l'optimisation de la sauvegarde
– Configurer la sauvegarde automatique des fichiers de contrôle et
du spfile

Copyright © 2004, Oracle. Tous droits réservés.


Configurer des paramètres persistants pour RMAN
Editeur RMAN

• CONFIGURE RETENTION POLICY TO REDUNDANCY 2;


• CONFIGURE BACKUP OPTIMIZATION OFF;
• CONFIGURE DEFAULT DEVICE TYPE TO DISK;
• CONFIGURE CONTROLFILE AUTOBACKUP ON;
• CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '..';
• CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
• CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
• CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1;
• CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 2 G;
• CONFIGURE MAXSETSIZE TO 512 M;
• CONFIGURE EXCLUDE FOR TABLESPACE nomtbs ;

Copyright © 2004, Oracle. Tous droits réservés.


Configurer les paramètres RMAN avec OEM
Pour définir les paramètres de sauvegarde, sélectionnez Configurer les
paramètres de sauvegardes dans la section Sauvegardes/Récupération de
la page Maintenance.
La page de propriétés Configurer les paramètres de sauvegardes contient trois
onglets : Périphérique, Ensemble de sauvegarde et Règle.
• L'onglet Périphérique permet de définir les paramètres de configuration
des disques et des bandes.
• L'onglet Ensemble de sauvegarde permet de définir les paramètres des
jeux de sauvegarde et de saisir les informations d'identification et de
connexion auprès de l'hôte.
• L'onglet Règle permet de définir différentes stratégies de sauvegarde et de
conservation avant le lancement d'une sauvegarde, telles que la
sauvegarde automatique du fichier de contrôle et du fichier SPFILE. Il vous
permet également de configurer la prise en charge du suivi des
modifications des blocs, une fonctionnalité qui permet des sauvegardes
incrémentielles plus rapides.

Copyright © 2004, Oracle. Tous droits réservés.


Configurer la sauvegarde automatique du fichier
de contrôle et du spfile
QUAND ?
• Une sauvegarde réussie doit être enregistrée dans le référentiel RMAN.
• Une modification structurelle de la base de données affecte le contenu du
fichier de contrôle, lequel doit donc être sauvegardé.

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Copyright © 2004, Oracle. Tous droits réservés.


Configurer la Stratégie de conservation des
sauvegardes
• Une stratégie de conservation décrit les sauvegardes qui
seront conservées, et pendant combien de temps.
• Il existe deux types de stratégie de conservation :
– Période de récupération (recovery window) : établit une période
au cours de laquelle une récupération jusqu'à un point dans le
temps (instant juste avant l'erreur) doit être possible.
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;
– Redondance : établit un nombre fixe de sauvegardes du même
fichier qui doivent être conservées (au-delà, les sauvegardes
peuvent être supprimées)
configure retention policy to redundancy n;
• Ces stratégies s'excluent mutuellement et peuvent être
définies à l'aide de la commande CONFIGURE.

Copyright © 2004, Oracle. Tous droits réservés.


Gérer les paramètres persistants

• Utilisez la commande SHOW pour répertorier les paramètres


actuels :
RMAN> SHOW CONTROLFILE AUTOBACKUP FORMAT;
RMAN> SHOW EXCLUDE;
RMAN> SHOW ALL;
• Utilisez la commande CLEAR pour réinitialiser un paramètre
persistant à sa valeur par défaut :

RMAN> CONFIGURE BACKUP OPTIMIZATION CLEAR;


RMAN> CONFIGURE MAXSETSIZE CLEAR;
RMAN> CONFIGURE DEFAULT DEVICE TYPE CLEAR;

Copyright © 2004, Oracle. Tous droits réservés.


Configuration de canaux

Session Canal RMAN


serveur (DISK)
BACKUP
Base de RESTORE
données RECOVER
cible Session Canal
serveur (SBT)

Copyright © 2004, Oracle. Tous droits réservés.


Allocation automatique de canaux

• Changer le type de périphérique par défaut pour


l'allocation automatique des canaux :
RMAN> CONFIGURE DEFAULT DEVICE TYPE TO sbt;

• Configurer le parallélisme :
RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 3;

• Configurer un canal pour DISK et Définir la taille


maximale des éléments de sauvegarde :
RMAN> CONFIGURE CHANNEL DEVICE TYPE DISK
2> MAXPIECESIZE 2G;

Copyright © 2004, Oracle. Tous droits réservés.


Allocation manuelle de canaux

• Allouer manuellement un canal :

RMAN> RUN {
2> ALLOCATE CHANNEL c1 DEVICE TYPE disk;
3> BACKUP DATAFILE '…/oradata/user01.dbf';
4> }

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 3
Configuration de RMAN
Atelier pratique
Cf. Manuel des exercices
Outils utilisés :
• L'utilitaire rman
• Oracle Enterprise Manager
• SQL*Plus

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 4
Sauvegardes physiques gérées
par RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :

• connaître les options de la commande RMAN


"BACKUP"
• utiliser la commande RMAN "BACKUP" pour créer
des jeux de sauvegarde (as BackupSet) et des
copies d'image (as Copy)
• gérer les jeux de sauvegarde et les copies d'image
effectuées avec RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Contraintes de la sauvegarde
Commande Backup de RMAN
• La base de données doit être montée ou ouverte.
• Les sauvegardes des fichiers de journalisation en ligne ne sont
pas prises en charge.
• Seules les sauvegardes à froid des tablespaces et des
fichiers de données peuvent être effectuées (c'est-à-dire des
sauvegardes de tablespaces dans l'état "offline-normal" ou de
tablespaces en "lecture seule") sont utilisables en mode
NOARCHIVELOG.
• Les sauvegardes à chaud des fichiers de données ne sont
utilisables qu’en mode ARCHIVELOG.
• Si un catalogue de restauration est utilisé, sa base de données
doit être ouverte.

Copyright © 2004, Oracle. Tous droits réservés.


La commande BACKUP

• BACKUP permet de sauvegarder une base de données, un


tablespace, un fichier de données, un fichier de contrôle, un fichier
SPFILE, un fichier de journalisation archivé ou un jeu de
sauvegarde pour une base de données cible.

Vous pouvez indiquer lors d’une sauvegarde à l'aide de RMAN :


• Le type de sauvegarde à effectuer, des sauvegardes de tous les
blocs de données (FULL) ou des sauvegardes incrémentielles
(INCREMENTAL), que des blocs de données modifiées depuis la
dernière sauvegarde.
• Si AUTOBACKUP est activée, RMAN sauvegarde automatiquement
le fichier de contrôle et le fichier spfile après les commandes
BACKUP.

Copyright © 2004, Oracle. Tous droits réservés.


La commande BACKUP

Vous pouvez indiquer lors d’une sauvegarde à l'aide de RMAN :


• Ce qui doit être sauvegardé : les valeurs valides sont
DATABASE, DATAFILE, TABLESPACE, ARCHIVELOG,
CURRENT CONTROLFILE et SPFILE.

• Si une copie d'image (AS COPY) ou un jeu de sauvegarde (AS


BACKUPSET) est créé(e).

• Le format de nom de fichier et l'emplacement des éléments de


sauvegarde (FORMAT).

Copyright © 2004, Oracle. Tous droits réservés.


La commande BACKUP

Vous pouvez indiquer lors d’une sauvegarde à l'aide de RMAN :

• Quels fichiers de données ou fichiers de journalisation archivés


doivent être exclus du jeu de sauvegarde (SKIP).

• La taille maximale du jeu de sauvegarde (MAXSETSIZE).

• Que les fichiers d'entrée doivent être supprimés suite à la


création réussie du jeu de sauvegarde (DELETE INPUT).

Copyright © 2004, Oracle. Tous droits réservés.


La commande BACKUP

Vous pouvez indiquer lors d’une sauvegarde à l'aide de RMAN :

• DURATION : définit la durée d'exécution du travail de sauvegarde, en


heures et en minutes. La définition de la durée peut en outre être complétée
comme suit :
• PARTIAL : aucune erreur n'est signalée si la sauvegarde n'est pas
terminée après la durée indiquée.
• MINIMIZE TIME : la sauvegarde s'exécute à pleine vitesse et se termine
si possible dans le temps imparti.
• MINIMIZE LOAD : RMAN surveille la vitesse de la sauvegarde et réduit
automatiquement la vitesse de traitement s'il détecte que la sauvegarde
sera terminée plus rapidement que le délai imparti. Cette opération n'est
pas autorisée lors de l'écriture sur bande, étant donné qu'il est
souhaitable qu'une telle opération soit la plus rapide possible.

Copyright © 2004, Oracle. Tous droits réservés.


La commande BACKUP
Jeu de sauvegarde(BackupSet)

RMAN> BACKUP AS BACKUPSET


2> FORMAT ‘…/BACKUP/df_%d_%s_%p.bkp'
3> TABLESPACE hr_data;

Fichier de
données 1
Fichier de Fichier de
données 1 données 3
Fichier de
Fichier de données 2
données 2
Tablespace Fichier de
données 3
HR_DATA Jeu de
sauvegarde

Copyright © 2004, Oracle. Tous droits réservés.


Exécution en parallèle de jeux de sauvegarde

Allouez plusieurs canaux et affectez les fichiers à des


canaux spécifiques.
Fichier de Fichier de Fichier de
données données données Canal
1 4 5
MML Elément de
sauvegarde 1
Fichier de Fichier de Fichier de
données données données Canal
2 3 9
MML Elément de
sauvegarde 2
Fichier de Fichier de Fichier de
données données données Canal
6 7 8
MML Elément de
sauvegarde 3

Copyright © 2004, Oracle. Tous droits réservés.


Exécution en parallèle de jeux de sauvegarde

RMAN> RUN {
2> ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
3> ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
4> ALLOCATE CHANNEL c3 DEVICE TYPE sbt;
5> BACKUP
6> INCREMENTAL LEVEL = 0 // == FULL
7>
8> (DATAFILE 1,4,5 CHANNEL c1)
9> (DATAFILE 2,3,9 CHANNEL c2)
10> (DATAFILE 6,7,8 CHANNEL c3);
11> SQL ‘ALTER SYSTEM ARCHIVE LOG CURRENT’;
12> }

Copyright © 2004, Oracle. Tous droits réservés.


Exécution en parallèle de jeux de sauvegarde

Lorsque vous créez plusieurs jeux de sauvegarde et que vous


allouez plusieurs canaux, RMAN s'exécute automatiquement en
parallèle et écrit plusieurs jeux de sauvegarde en parallèle. Les
sessions serveur allouées partagent le travail de sauvegarde
des fichiers de données, des fichiers de contrôle et des fichiers
de journalisation archivés désignés. Notez que vous ne pouvez
pas répartir un même jeu de sauvegarde sur plusieurs canaux.

L'exécution en parallèle des jeux de sauvegarde nécessite les


opérations suivantes :
• Configurer PARALLELISM à une valeur supérieure à 1
ou allouer plusieurs canaux
• Indiquer de nombreux fichiers à sauvegarder

Copyright © 2004, Oracle. Tous droits réservés.


Copie d'image

RMAN> BACKUP AS COPY


2> DATAFILE ’.../ORADATA/users01.dbf'
3> FORMAT ’.../BACKUP/users01.bak' tag=DF3;
RMAN> BACKUP AS COPY
4> ARCHIVELOG LIKE 'arch_1060.arc'
5> FORMAT 'arch_1060.bak';

Fichier de Fichier de Copie du fichier


données 3 données 3 de données 3

Fichier de Fichier de Copie du fichier de


journalisation journalisation
archivé archivé
journalisation archivé

Copyright © 2004, Oracle. Tous droits réservés.


Copie d'image

Une copie d'image présente les caractéristiques suivantes :


• Elle peut être écrite uniquement sur disque.
• Si les fichiers sont stockés sur disque, ils peuvent être utilisés immédiatement
par la commande SWITCH de Recovery Manager, laquelle est équivalente à
l'instruction SQL ALTER DATABASE RENAME FILE.
• Dans une copie d'image, tous les blocs sont copiés, qu'ils contiennent ou non
des données
• Une copie d'image peut faire partie d'une sauvegarde complète ou
incrémentielle de niveau 0, car elle inclut toujours tous les blocs. Vous devez
utiliser l'option de niveau 0 si la copie est utilisée conjointement avec un jeu
de sauvegarde incrémentiel.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegardes compressées
La compression s'applique uniquement
aux jeux de sauvegarde et non aux
copies d'image!!

RMAN> BACKUP AS
2> COMPRESSED BACKUPSET
3> DATABASE; Fichiers de
Fichiers de base sauvegarde
de données compressés

RMAN> CONFIGURE DEVICE TYPE


2> DISK PARALLELISM 2
3> BACKUP TYPE TO
4> COMPRESSED BACKUPSET;

Copyright © 2004, Oracle. Tous droits réservés.


Dupliquer les sauvegardes

Vous pouvez créer un maximum de quatre copies identiques de


chaque élément de sauvegarde en duplexant le jeu de sauvegarde.

Utilisez l'une des commandes suivantes pour générer un jeu de


sauvegarde duplexé :
BACKUP COPIES
SET BACKUP COPIES
CONFIGURE ... BACKUP COPIES

RMAN ne génère pas plusieurs jeux de sauvegarde, mais il génère


des copies identiques de chaque élément de sauvegarde du jeu.

Vous ne pouvez pas utiliser cette option avec la commande


BACKUP AS COPY pour créer plusieurs copies d'image.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde des fichiers de journalisation archivés
• Le changement de fichier de journalisation en ligne est
automatique.
• La gestion des incidents affectant les fichiers de journalisation
archivés est assurée.
• Vous pouvez indiquer une plage de fichiers de journalisation
archivés à sauvegarder.
• Les jeux de sauvegarde incluent uniquement les fichiers de
journalisation archivés.

RMAN> BACKUP
2> FORMAT '/disk1/backup/ar_%t_%s_%p'
3> ARCHIVELOG FROM SEQUENCE=234
4> DELETE INPUT;

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde de la base de données complète

RMAN> BACKUP DATABASE


PLUS ARCHIVELOG;

Copies des
fichiers de
données Fichier de
contrôle

Copies des fichiers de SPFILE


journalisation archivés

Copyright © 2004, Oracle. Tous droits réservés.


Créer des sauvegardes incrémentielles

• Une sauvegarde incrémentielle de Sauvegarde complète


niveau 0, semblable à une
sauvegarde complète, contient tous
les blocs de fichier de données.
• Une sauvegarde incrémentielle
cumulative de niveau 1 contient Sauvegarde
uniquement les blocs modifiés incrémentielle cumulative
depuis la dernière sauvegarde
incrémentielle de niveau 0.
• Une sauvegarde incrémentielle
différentielle de niveau 1 contient
Sauvegarde
uniquement les blocs modifiés incrémentielle différentielle
depuis la dernière sauvegarde
incrémentielle.

Copyright © 2004, Oracle. Tous droits réservés.


Créer des sauvegardes incrémentielles

Pour procéder à une sauvegarde incrémentielle de niveau 0,


utilisez la commande suivante :
RMAN> BACKUP INCREMENTAL LEVEL 0 DATABASE;

Pour procéder à une sauvegarde incrémentielle différentielle,


utilisez la commande suivante :
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;

Pour procéder à une sauvegarde incrémentielle cumulative,


utilisez la commande suivante :
RMAN> BACKUP INCREMENTAL LEVEL 1 CUMULATIVE
DATABASE;

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde incrémentielle : exemple

• Une sauvegarde incrémentielle différentielle contient tous


les blocs modifiés depuis la dernière sauvegarde
incrémentielle.
• Une sauvegarde incrémentielle cumulative contient tous
les blocs modifiés depuis la dernière sauvegarde
incrémentielle de niveau 0.
Niveau 0 Niveau 0

Niveau 0 1 1 1c 1 1c 1 0
Jour
Dim Lun Mar Mer Jeu Ven Sam Dim

Copyright © 2004, Oracle. Tous droits réservés.


Gestion des sauvegardes physiques
réalisées via RMAN

Les commandes RMAN d'édition d'états :

• LIST pour interroger le catalogue de restauration ou le fichier de


contrôle de la base cible et pour générer la liste des jeux de
sauvegarde, des copies d’image.

• REPORT pour procéder à des analyses détaillées du catalogue de


restauration ou du fichier de contrôle de la base cible. Elle permet
entre autres de lister les fichiers de données qui nécessitent une
sauvegarde...

• DELETE pour supprimer des fichiers de sauvegarde

Copyright © 2004, Oracle. Tous droits réservés.


La commande LIST
• Elle répertorie les jeux de sauvegarde et les copies des fichiers de
données.
RMAN> LIST BACKUP OF DATABASE;

RMAN> LIST BACKUP OF DATAFILE


2> ‘.../db01/ORADATA/u03/users01.dbf’;

• Elle répertorie les jeux de sauvegarde et les copies de n'importe


quel fichier de données pour un tablespace désigné.
RMAN> LIST COPY OF TABLESPACE SYSTEM;
• Elle répertorie les jeux de sauvegarde et les copies contenant les
fichiers de journalisation archivés pour une plage désignée.
RMAN> LIST COPY OF DATABASE ARCHIVELOG
2> FROM TIME='SYSDATE-7';

Copyright © 2004, Oracle. Tous droits réservés.


La commande REPORT

• Elle génère une analyse détaillée du référentiel.


• Elle génère des états permettant de répondre aux
questions suivantes :
– Quelle est la structure de la base de données ?
RMAN> REPORT SCHEMA;
– Quels fichiers nécessitent une sauvegarde ?
RMAN> REPORT NEED BACKUP ...;
– Quelles sauvegardes peuvent être supprimées ?
RMAN> REPORT OBSOLETE;
– Quels fichiers ne peuvent pas être récupérés ?
RMAN> REPORT UNRECOVERABLE ...;

Copyright © 2004, Oracle. Tous droits réservés.


La commande REPORT NEED BACKUP

• Elle répertorie tous les fichiers de données qui nécessitent


une sauvegarde.
• Elle suppose que la sauvegarde la plus récente est utilisée
au cours d'une restauration.
• Elle offre quatre options :
– Incremental
– Days
– Redundancy
– Recovery window
• Elle utilise la configuration de la stratégie de conservation
actuelle si aucune option n'est indiquée.

Copyright © 2004, Oracle. Tous droits réservés.


REPORT NEED BACKUP : exemples

• Fichiers nécessitant trois sauvegardes incrémentielles ou


plus pour la récupération :
RMAN> REPORT NEED BACKUP incremental 3;

• Fichiers n'ayant pas été sauvegardés depuis trois jours :


RMAN> REPORT NEED BACKUP days 3;
• Sauvegarde requise s'il n'y a pas au moins deux
sauvegardes :
RMAN> REPORT NEED BACKUP redundancy 2;

• Sauvegarde requise pour une récupération sur 3 jours :


RMAN> REPORT NEED BACKUP
2> recovery window of 3 days;

Copyright © 2004, Oracle. Tous droits réservés.


REPORT OBSOLETE et DELETE OBSOLETE

• Rechercher tous les fichiers de sauvegardes obsolètes à l'aide


des paramètres de stratégie de conservation actuels :
RMAN> REPORT OBSOLETE;
• Répertorier les fichiers de sauvegardes obsolètes si pas plus de
deux copies de sauvegarde sont nécessaires :
RMAN> REPORT OBSOLETE REDUNDANCY 2;
• Supprimer le jeu de sauvegarde dont la clé (numéro du
BackupSet) est 4 :
RMAN> DELETE BACKUPSET 4;

• Supprimer les fichiers de sauvegardes considérés comme


obsolètes s’il y a plus de deux sauvegardes :
RMAN> DELETE OBSOLETE REDUNDANCY 2;

Copyright © 2004, Oracle. Tous droits réservés.


Vues dynamiques RMAN

• V$ARCHIVED_LOG
• V$BACKUP_CORRUPTION
• V$BACKUP_DEVICE
• V$BACKUP_FILES
• V$BACKUP_PIECE
• V$BACKUP_REDOLOG
• V$BACKUP_SET
• V$BACKUP_SPFILE
• V$COPY_CORRUPTION
• V$RMAN_CONFIGURATION

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 4
Sauvegardes physiques gérées par RMAN

Atelier pratique
Cf. Manuel des exercices
Outils utilisés :
• L'utilitaire RMAN
• Oracle Enterprise Manager
• SQL*Plus

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 5
Restauration et Récupération
gérées par RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• restaurer les fichiers d’initialisation et de contrôle
• restaurer et récupérer les fichiers de données
• expliquer les raisons d'une récupération incomplète
• décrire la méthodologie de récupération incomplète
• récupérer la base de données jusqu'à un point dans
le temps, …

Copyright © 2004, Oracle. Tous droits réservés.


Principes généraux
restauration/récupération
• L’étape de restauration consiste à extraire d’une sauvegarde les
fichiers nécessaires pour restituer les fichiers perdus.
• L’étape de récupération consiste à appliquer les fichiers de
journalisation (current et archivés) aux fichiers restaurés de la
sauvegarde.

La stratégie de restauration/récupération dépend de plusieurs facteurs :


• De la nature du fichier endommagé ou perdu
• Du mode de fonctionnement de la base (Archivelog ou Noarchivelog)
• Des sauvegardes disponibles

Que faire en cas de problèmes ?


1.Identifier la nature du problème
2.Définir le mode opératoire en tenant compte du mode de fonctionnement et du
statut de la base et des sauvegardes disponibles

Copyright © 2004, Oracle. Tous droits réservés.


Principes généraux
restauration/récupération

1.Mode opératoire pour une base en mode Noarchivelog


• Restaurer la dernière sauvegarde complète de la base
• Redémarrer la base
=>Toutes les modifications apportées depuis la dernière
sauvegarde seront perdues

2. Mode opératoire pour une base en mode Archivelog


• Restaurer la dernière sauvegarde de chaque fichier perdu
• Appliquer les fichiers de journalisation (archivés et en ligne(current))
• Redémarrer la base
=>Toutes les modifications apportées depuis les sauvegardes
utilisées seront récupérées. La récupération est dite complète.

Copyright © 2004, Oracle. Tous droits réservés.


Procédure de récupération
Fichier de
journalisation
archivé
Fichier de
journalisation
archivé
Fichier de
journalisation
en ligne

Informations
d'annulation appliquées
Modifications appliquées

2 4

Fichiers de Fichiers de données


Fichiers de données
données restaurés récupérés
contenant des transactions
validées et non validées

1 3 5

Copyright © 2004, Oracle. Tous droits réservés.


Restauration et Récupération gérées par RMAN
Commandes RESTORE et RECOVER
run{
sql ‘ALTER TABLESPACE indx_tbs OFFLINE IMMEDIATE’;
RESTORE TABLESPACE indx_tbs;
RECOVER TABLESPACE indx_tbs DELETE ARCHIVELOG;
sql ‘ALTER TABLESPACE indx_tbs ONLINE’;
}

La commande RESTORE extrait le fichier de données sur disque à partir d'un


emplacement de sauvegarde, puis elle le met à la disposition du serveur de base
de données. La commande RECOVER utilise la copie restaurée du fichier de
données et applique au fichier les modifications enregistrées dans les fichiers de
journalisation de la base de données.
L'option DELETE ARCHIVELOG provoque la suppression des fichiers de
journalisation archivés sur le disque dès lors qu'ils ne sont plus nécessaires pour
l'opération RECOVER.

Copyright © 2004, Oracle. Tous droits réservés.


Restaurer une sauvegarde automatique du
fichier de contrôle
Si la sauvegarde automatique n’est pas stockée dans la zone de
récupération rapide
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP NOMOUNT;
RMAN> SET DBID 320066378;
RMAN> RUN {
SET CONTROLFILE AUTOBACKUP FORMAT
FOR DEVICE TYPE DISK TO 'autobackup_format';
RESTORE CONTROLFILE FROM AUTOBACKUP; }
RMAN utilise le format de sauvegarde automatique et le DBID pour
déterminer où trouver la sauvegarde automatique du fichier de contrôle. Si
une telle sauvegarde est trouvée, RMAN restaure le fichier de contrôle vers
tous les emplacements répertoriés dans le paramètre d'initialisation
CONTROL_FILES.
Si vous disposez d'un catalogue de restauration
RMAN> RESTORE CONTROLFILE;

Copyright © 2004, Oracle. Tous droits réservés.


Perte de tous les fichiers de contrôle
Créer un nouveau fichier de contrôle

Fichier de Fichier de
SYSTEM USERS journalisation journalisation
Fichier de 1A 1B
paramètres

SYSAUX INDEX Fichier de Fichier de


journalisation journalisation
Fichier de 2A 2B
mots de passe
UNDO TEMP Fichiers de contrôle

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;


Copiez le fichier trace vers un fichier script, tel que new_control.sql, supprimez les
informations d'en-tête du fichier trace avant les mots STARTUP NOMOUNT, puis apportez les
autres modifications souhaitées, par exemple l'augmentation des paramètres
MAXDATAFILES, MAXLOGFILES, etc. Exécutez le script afin de créer un nouveau fichier de
contrôle.

Copyright © 2004, Oracle. Tous droits réservés.


Restaurer une sauvegarde automatique du
fichier d’initialisation
La base de données doit être dans un état NOMOUNT
RMAN> RESTORE SPFILE TO
2> ‘…/spfile.bkp' FROM AUTOBACKUP;

Recovery
Manager
(RMAN) Zone de récupération
rapide

Fichier d’initialisation

Base de
données

Copyright © 2004, Oracle. Tous droits réservés.


Présentation de la récupération incomplète
La récupération incomplète, ou récupération jusqu'à un point dans le temps,
utilise une sauvegarde pour générer une version non actuelle de la base de
données. Autrement dit, vous n'appliquez pas tous les enregistrements de
journalisation générés après la sauvegarde la plus récente.
Pour effectuer une récupération incomplète, les éléments suivants sont
nécessaires :
• Une sauvegarde base fermée ou base ouverte valide de tous les
fichiers de données, effectuée avant le point de récupération
• Tous les fichiers de journalisation archivés entre le moment de la
sauvegarde et l'heure de récupération indiquée
La récupération jusqu'à un point dans le temps est la seule possibilité si vous
devez effectuer une récupération et que vous constatez qu'il manque un
fichier de journalisation archivé contenant des transactions ayant eu lieu entre
le moment de la sauvegarde à partir de laquelle vous effectuez la restauration
et le numéro SCN cible de la récupération.

Copyright © 2004, Oracle. Tous droits réservés.


Situations nécessitant une récupération incomplète

• La récupération complète échoue parce qu'un fichier de


journalisation archivé est manquant.
– La récupération ne peut être effectuée que jusqu'à un point
dans le temps, avant application du fichier de journalisation
archivé manquant.
• Un ou plusieurs fichiers de journalisation non archivés
(en ligne) et un fichier de données sont manquants.
– La récupération ne peut pas se poursuivre au-delà de fichier
de journalisation perdu

• Une sauvegarde du fichier de contrôle est utilisée pour


ouvrir ou récupérer la base de données.
– La structure de la base a changée

Copyright © 2004, Oracle. Tous droits réservés.


Types de récupération incomplète

Il existe quatre types de récupération incomplète :


• Récupération jusqu'à un point dans le temps
(Avec la clause UNTIL TIME)
• Récupération jusqu'à annulation
(Avec la clause UNTIL CANCEL)
• Récupération basée sur le SCN
(Avec la clause UNTIL SCN)
• Récupération jusqu'à un numéro de séquence de journal
(Avec la clause UNTIL SEQUENCE)

Copyright © 2004, Oracle. Tous droits réservés.


Utiliser RECOVER pour la
récupération incomplète
• Récupérer une base de données jusqu'à un instant donné :
RMAN> RECOVER DATABASE UNTIL
2 TIME '2010-11-14:12:10:03';
• Récupérer une base de données jusqu'à annulation :
SQL> RECOVER DATABASE UNTIL CANCEL;
• Récupérer une base de données à l'aide du fichier de
contrôle de sauvegarde :
RMAN> RECOVER DATABASE
2 UNTIL TIME '2010-12-14:12:10:03'
3 USING BACKUP CONTROLFILE;

Copyright © 2004, Oracle. Tous droits réservés.


Exemple de récupération UNTIL TIME

146 146 146


Fichier de Fichiers de Fichierde
Fichier de
données 1 journalisation11
contrôle journalisation

146 145
Fichier de Fichier de
données 2 journalisation 2

146 144 146 146


Fichier de OE.ORDERS Fichier de Fichiers de Fichier de
données 3 données 1 contrôle journalisation 1
Base de données
144 145
Fichier de
Fichier de journalisation 2
données 2
1 1 1
Fichier de 144
Fichier de Fichiers de 144 OE.ORDERS
données 1 contrôle journalisation 1
Fichier de 4 Fichier de
0 données 3 journalisation
1 Fichier de
Base de données restaurée archivé
Fichier de journalisation 2
données 2

1
Fichier de OE.ORDERS
données 3 Base de données récupérée

Copyright © 2004, Oracle. Tous droits réservés.


Récupération incomplète d'une base de
données avec RMAN

1. Montez la base de données.


2. Allouez plusieurs canaux pour l'exécution en
parallèle.
3. Restaurez tous les fichiers de données.
4. Récupérez la base de données avec UNTIL TIME,
UNTIL SEQUENCE ou UNTIL SCN.
5. Ouvrez la base de données avec RESETLOGS.
6. Effectuez une sauvegarde totale de la base de
données.

Copyright © 2004, Oracle. Tous droits réservés.


Récupération incomplète via RMAN avec
UNTIL TIME : exemple

RMAN> RUN {
2> SET UNTIL TIME ='2010-11-28:11:44:00';
3> RESTORE DATABASE;
4> RECOVER DATABASE;
5> sql ‘ALTER DATABASE OPEN RESETLOGS’; }

Copyright © 2004, Oracle. Tous droits réservés.


Récupération incomplète via RMAN avec
UNTIL SEQUENCE : exemple

RMAN> RUN {
2> SET UNTIL SEQUENCE 145;
3> sql ‘ALTER DATABASE MOUNT’;
4> RESTORE DATABASE;
5> RECOVER DATABASE; # recovers through log 144
6> sql ‘ALTER DATABASE OPEN RESESTLOGS’;
7> }

Copyright © 2004, Oracle. Tous droits réservés.


Récupération simplifiée via RESETLOGS
• La base de données peut être ouverte immédiatement après
RESETLOGS. Il n'est plus nécessaire de procéder à une
sauvegarde complète.
• Aucune modification n'est requise pour les scripts de
sauvegardes existants.
• La récupération avec RESETLOGS peut être utilisée pour :
– Une récupération incomplète
– Une récupération avec un fichier de contrôle de sauvegarde

t1 t2 t3 t4 t5

Récupération
incomplète Ouverture avec Récupération
Sauvegarde requise
effectuée RESETLOGS Sauvegarde
effectuée
complète

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 5
Restauration et Récupération gérées par RMAN

Atelier pratique
Cf. Manuel des exercices
Outils utilisés :
• SQL*PLUS
• RMAN

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 6
Sauvegarde, Restauration et
Récupération gérées par
l’utilisateur

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• sauvegarder des tablespaces online ou offline
• mettre un tablespace en mode Backup
• restaurer des fichiers
• récupérer des tablespaces

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde offline

Une sauvegarde offline (à froid) est très simple :


• la base de données a été arrêtée/fermée proprement : tous les
datafiles sont cohérents (ils ont le même SCN) et aucun redo-log
n'est nécessaire en cas de restauration
• les datafiles sont fermés (offline) : ils ne seront pas mis à jour
pendant l'opération de copie
• les datafiles sont online read only : ils ne seront pas mis à jour
pendant l'opération de copie

=>Ainsi, le backup peut être restauré entièrement et la base de


données peut être ouverte sans faire une récupération.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde online

Une sauvegarde online (à chaud) effectue la copie des fichiers


pendant que la base est ouverte (online RW). Cela signifie que la copie
est incohérente et nécessitera d'appliquer du redo pour être utilisable.
Lorsque la copie se fait à partir du système d'exploitation (c'est à dire
avec un outil qui ne connaît pas la structure interne des fichiers
Oracle), plusieurs problèmes se posent :
• la cohérence entre les fichiers de données (SCN)
• la cohérence à l'intérieur de ces fichiers
• la cohérence au sein des blocs de données

Il faut garder cette cohérence dans les fichiers courants de la base


mais aussi dans le backup, puisqu'elle sera nécessaire en cas de
restauration.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde online
Mode BACKUP

Le but du mode Backup est de prendre des mesures lors de


l'écriture dans les datafiles en cours afin de rendre leur copie
utilisable, quelle que soit la manière dont la copie est faite, et ce
sans affecter les opérations courantes.
L'enjeu est d'avoir une copie cohérente qui peut être
récupérée, sans avoir aucun contrôle sur le programme externe
qui fait cette copie, et ce avec un impact minimum sur la base
courante.
L'instance qui fera le recovery doit savoir:
• pour les fichiers qui ont besoin de recovery, à partir de quel
moment (SCN) les redo sont à appliquer
• comment réparer les blocs fracturés
• et jusqu'à quel SCN au minimum le recovery doit se faire

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde online
Mode BACKUP - BEGIN BACKUP
<ALTER TABLESPACE ... BEGIN BACKUP>
Lorsque la commande BEGIN BACKUP est exécutée:

Un checkpoint est lançé pour les fichiers du tablespace, afin qu'il


ne reste plus de modifications faites en mémoire et non encore
écrites sur disque.

La commande BEGIN BACKUP ne rend la main que lorsque ce


checkpoint est terminé.

L'en-tête des fichiers est figé (SCN), de sorte que la copie


reflète l'état du 'checkpoint' correspondant au début du
backup.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde online
Mode BACKUP - END BACKUP
<ALTER TABLESPACE ... END BACKUP>
Lorsque la commande END BACKUP est exécutée:
Un enregistrement de redo qui marque la fin du mode backup est écrit
dans les journaux.
Si la copie est restaurée, le recovery doit se poursuivre au moins
jusqu‘au « end Backup ».
Le SCN de l'en-tête est mis à jour avec le SCN courant.
Conséquence sur la copie (le backup)
Lorsque la copie a été faite entre begin backup et le end backup, la copie
est entièrement disponible pour être restaurée (restore) et récupérée
(recovery) à l'aide des journaux archivés (archived logs) qui ont été
générés depuis le begin backup.
Une fois les fichiers restaurés, Oracle voit que le SCN est plus ancien que
celui en cours et indique que la base de données a besoin de faire un
recovery.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde au niveau OS d’un fichier

La commande copy de Windows ou le logiciel ocopy.exe

Lancer l’éditeur de commandes et taper :


• ocopy <fichier à sauvegarder> <destination>
• copy <fichier à sauvegarder> <destination>

Lancer Sql*Plus
SQL> host ocopy <fichier à sauvegarder> <destination>
SQL> host copy <fichier à sauvegarder> <destination>

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde d’un tablespace online R/W

Pour sauvegarder le tablespace x en ligne, il faut


procéder ainsi :

SQL> ALTER TABLESPACE x BEGIN BACKUP


Sauvegarde au niveau système d’exploitation de tous les
fichiers du tablespace
➥à l’aide de l’outil Oracle OCOPY.EXE ou la commande
copy de Windows
SQL> ALTER TABLESPACE x END BACKUP

Note : La sauvegarde de la base entière s’effectue


tablespace par tablespace, y compris pour le
tablespace SYSTEM.

Copyright © 2004, Oracle. Tous droits réservés.


Sauvegarde d’un tablespace offline

Pour sauvegarder le tablespace X hors ligne, il faut


procéder comme suit :

SQL> ALTER TABLESPACE x OFFLINE

Sauvegarde au niveau système d’exploitation de tous les


fichiers du tablespace
➥à l’aide de l’outil Oracle OCOPY.EXE ou la commande
copy de Windows

SQL> ALTER TABLESPACE x ONLINE

Copyright © 2004, Oracle. Tous droits réservés.


Procédures de récupération gérée par
l'utilisateur : commande RECOVER

• Restaurer tous les fichiers de base de données à partir d'une sauvegarde et


récupérer la base de données (base fermée !):

SQL> RECOVER DATABASE

• Restaurer les fichiers de données endommagés à partir d'une sauvegarde


et récupérer les fichiers de données (base ouverte et tablespace offline !):

SQL> RECOVER TABLESPACE index_tbs

Ou (base fermée ou ouverte avec datafile offline !)

SQL> RECOVER DATAFILE


2> '/oradata/indx01.dbf'

Copyright © 2004, Oracle. Tous droits réservés.


Exemple de récupération UNTIL TIME

146
Fichier de
146 146
Fichierde
de
1 Arrêtez et sauvegardez la base.
Fichiers de Fichier
données 1 journalisation11
contrôle journalisation Restaurez tous les fichiers de base de
145
2 données.
146
Fichier de
données 2
Fichier de
journalisation 2 3 Montez la base de données.
146 144 146 146
Fichier de OE.ORDERS Fichier de Fichiers de Fichier de
données 3 données 1 contrôle journalisation 1
Base de données
144 145
Fichier de
Fichier de journalisation 2
données 2
1 1 1
Fichier de 144
Fichier de Fichiers de 144 OE.ORDERS
données 1 contrôle journalisation 1
Fichier de 4 Fichier de
0 données 3 journalisation
1 Fichier de
Base de données restaurée archivé
Fichier de journalisation 2
données 2 4 Récupérez la base de données.
1
Fichier de OE.ORDERS 5 Ouvrez la base avec Resetlogs.
données 3 Base de données récupérée
6 Sauvegardez la base de données.

Copyright © 2004, Oracle. Tous droits réservés.


Procédure de récupération UNTIL TIME
Prenons l'exemple suivant :
• Il est actuellement 12:00 le 28 novembre 2010.
• La table OE.ORDERS a été supprimée.
• La table a été supprimée à environ 11:45.
• L'activité de la base de données est minimale, car l'essentiel du
personnel est actuellement en réunion. La table doit être récupérée.

SQL> shutdown immediate


Faire un backup et un restore de la base
SQL> startup mount
SQL> recover database until time '2010-11-28:11:44:00';
SQL> alter database open resetlogs;
SQL> shutdown;
Refaire un backup de la base

Copyright © 2004, Oracle. Tous droits réservés.


Perte d’un fichier temporaire
Créer un nouveau tablespace temporaire
Fichier de Fichier de
SYSTEM USERS journalisation journalisation
Fichier de 1A 1B
paramètres
Fichier de Fichier de
SYSAUX INDEX journalisation journalisation
2A 2B

Fichier de
mots de passe UNDO TEMP Fichiers de
contrôle

SQL> CREATE TEMPORARY TABLESPACE temp2


2> TEMPFILE ’.../oradata/temp2_01.tmp'
3> SIZE 25M;
SQL> ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp2;

SQL> DROP TABLESPACE temp INCLUDING CONTENTS AND DATAFILES;

Copyright © 2004, Oracle. Tous droits réservés.


Perte d’un fichier redolog (groupe avec au moins deux fichiers redolog)
Recréer des fichiers de journalisation

Fichier de Fichier de
SYSTEM USERS journalisation journalisation
Fichier de 1A 1B
paramètres
Fichier de Fichier de
SYSAUX INDEX journalisation journalisation
2A 2B

Fichier de
mots de passe UNDO TEMP Fichiers de
contrôle

SQL> ALTER DATABASE DROP LOGFILE MEMBER


2> ’.../oradata/redo01b.log';
SQL> ALTER DATABASE ADD LOGFILE MEMBER
2> ’.../oradata/redo01b.log'
3> TO GROUP 1;

Copyright © 2004, Oracle. Tous droits réservés.


Perte du datafile du tablespace d’INDEX

Fichier de Fichier de
SYSTEM USERS journalisation journalisation
Fichier de 1A 1B
paramètres
Fichier de Fichier de
SYSAUX INDEX journalisation journalisation
2A 2B

Fichier de
mots de passe UNDO TEMP Fichiers de
contrôle

1.Déterminez les index que vous devez recréer.


2.Supprimez le tablespace d'index :
DROP TABLESPACE index_tbs INCLUDING CONTENTS AND DATAFILES;
3.Recréez le tablespace :
CREATE TABLESPACE index_tbs
DATAFILE '/oradata/indx01.dbf' SIZE 10M;
4.Recréez tous les index qu'il contient.

Copyright © 2004, Oracle. Tous droits réservés.


Perte du datafile du tablespace d’INDEX

Utilisez des options afin de réduire le temps de création


de l'index :
• PARALLEL (nombre de processus serveur mis en jeu pour la
création de l’index)

SQL> CREATE INDEX rname_idx


2 ON hr.regions (region_name)
3 PARALLEL 4;

• NOLOGGING (ALTER INDEX NOLOGGING/LOGGING)


• Aucune entrée n'est écrite dans le fichier de journalisation au cours de
la durée de vie de l'index

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 6
Sauvegarde, Restauration et Récupération gérées par l’utilisateur

Atelier pratique
Cf. Manuel des exercices
Outil utilisé :
• SQL*PLUS

Copyright © 2004, Oracle. Tous droits réservés.


Administration ORACLE
Niveau II

Chapitre 7
Sauvegarde et Restauration
logiques gérées par Export/Import

Copyright © 2004, Oracle. Tous droits réservés.


Objectifs

A la fin de ce chapitre, vous pourrez :


• Exporter et importer une base
• Exporter et importer des utilisateurs
• Exporter et importer des tables

Copyright © 2004, Oracle. Tous droits réservés.


Principe de Export/Import

Le principe de l’Export/Import est d’extraire des données d’une


base Oracle dans un format indépendant de tout système
d’exploitation et de les réintégrer ailleurs, pour ce qui concerne
l’Import. Cet objectif se réalise en deux étapes :

• Extrayez tous les objets (tablespaces, tables, index,


procédures…) de la base de données. Ce sont les vues
interrogeant le dictionnaire de la base Oracle qui réalisent cette
fonction. Les objets sont extraits dans un ordre particulier.
• Extrayez les données contenues dans les tables. Ce sont
des ordres SELECT qui interrogent les tables et enregistrent les
données dans un format d’Export particulier.

Copyright © 2004, Oracle. Tous droits réservés.


Principe de Export/Import

Copyright © 2004, Oracle. Tous droits réservés.


Principe de Export/Import

L’opération d’Export est graduelle. Elle permet de transférer, par


étapes, le contenu de la base :
• full : exportation complète de la base
• user : exportation de l’ensemble des objets propriétés d’un
utilisateur
• table : exportation d’une table particulière.
L’opération d’Import insère le contenu d’un Export dans une base.
De même que l’Export, il fonctionne suivant plusieurs modes :
• full : importation complète de tous les objets présents dans le fichier
export en entrée
• user : importation de l’ensemble des objets propriétés d’un
utilisateur
• table : importation d’une table particulière.

Copyright © 2004, Oracle. Tous droits réservés.


Que contient un fichier export ?

Un fichier export est d’une taille beaucoup plus réduite que celle
de la base de données exportée. Il ne contient que les ordres
SQL de création des index, rollback segments, tablespaces,
utilisateurs, droits, etc. Pour les autres objets, il contient à la
fois leur définition, leur données (ex. table)
Cette technique fait gagner beaucoup d’espace disque par
rapport au volume de l’ensemble des fichiers qui composent la
base de données.

Le format interne d’un fichier export n’est pas lisible


facilement. Il faut toujours passer par les programmes d’Export/
Import pour en manipuler le contenu.

Copyright © 2004, Oracle. Tous droits réservés.


Comment transférer des fichiers Export ?

Il faut toujours utiliser un outil (par exemple ftp) qui permet de


transférer les fichiers d’Export de machine à machine sous
forme binaire. Cette erreur (transfert en mode texte et non
binaire) fréquente se manifeste par l’impossibilité de charger le
fichier dans la base cible.

Où trouver les programmes d’Export/Import ?

Les programmes d’Export/Import sont indépendants de la base


de données. Ils peuvent être lancés en client-serveur pour
accéder à des bases locales ou distantes. Sous Windows, les
exécutables se nomment exp (Export) et imp (Import). Ils sont
situés dans ORACLE_HOME\bin.

Copyright © 2004, Oracle. Tous droits réservés.


Comment lancer un Export/Import ?

Lancer un Export/Import par la commande exp (ou imp), suivie du nom


d’utilisateur et du mot de passe. Par exemple :
exp userid=u1/pwd

Dans ce cas, l’Export propose un mode interactif et guide l’utilisateur


pour les opérations à effectuer. Vous pouvez aussi commander
l’Export en précisant dans sa ligne de commande le paramètre piloté
et sa valeur :
exp PARAMETRE=valeur ou PARAMETRE=(valeur1,..., valeurN)

Par exemple :
exp userid=u1/pwd file=nomfichier.dmp tables=(emp,dept)

Copyright © 2004, Oracle. Tous droits réservés.


L’Export en mode USER

Un utilisateur peut exporter plus ou moins d’éléments selon les droits


qu’il possède :
• un utilisateur exporte ses propres objets :
exp userid=u1/pwd file=u1_export.dmp

• un administrateur DBA peut exporter plusieurs utilisateurs :


exp userid=‘sys as sysdba’ owner=(u1, u2) file=export.dmp

Dans les deux cas, les exportations sont considérées de type utilisateur
(USER), mais les utilisateurs possèdent des droits différents qui
permettent d’exporter les objets de plusieurs d’entre eux ou d’un seul

Copyright © 2004, Oracle. Tous droits réservés.


L’Export en mode TABLE

D’une façon similaire à l’Export en mode USER, tout dépend des droits de
l’utilisateur qui réalise l’exportation. Certains n’accéderont qu’à leurs
propres objets :
exp userid=scott/pwd tables=(scott.emp, scott.dept)

D’autres, de droits plus étendus, exportent des tables propriétés de


plusieurs utilisateurs :
exp userid=‘sys as sysdba’ tables=(scott.emp)

Dans les deux cas, les exportations sont considérées comme des
exportations en mode TABLE.

Copyright © 2004, Oracle. Tous droits réservés.


L’Export en mode FULL

Qui peut réaliser une exportation complète ?

Une exportation complète (FULL) est réalisable par tout utilisateur


possédant le rôle EXP_FULL_DATABASE. Par défaut, c’est le cas
de tous les utilisateurs DBA. On peut aussi attribuer ce rôle à
d’autres utilisateurs pour réaliser des exportations complètes.

Toutefois, par prudence, il est recommandé de réserver les Exports


FULL aux seuls administrateurs DBA de la base de données.
exp userid=‘sys as sysdba’ full=Yes

Copyright © 2004, Oracle. Tous droits réservés.


Paramètres de exp

Comment utiliser un fichier de commande ?

Pour éviter une ligne de commande trop complexe ou écrire des


scripts réutilisables ==>utiliser un fichier de commande.

exp PARFILE=fichier_de_commande.txt
Le fichier de commande contient les paramètres sous la forme
PARAMETRE=valeur.
Par exemple :
USERID=‘sys as sysdba’
FULL=yes
FILE=mon_fichier_export.dmp

Copyright © 2004, Oracle. Tous droits réservés.


Paramètres de exp

Comment utiliser l’option QUERY ?


Extraire qu’une partie d’une table. Par exemple :
exp userid=u1/pwd TABLES=emp QUERY="""WHERE job='CLERK' and
sal>1000\"""

Dans ce cas, les données extraites depuis la table EMP correspondront au


résultat de l’ordre SQL :
SELECT * from emp WHERE job='CLERK' and sal>1000

Comment limiter la taille d’un fichier export ?


exp user/mot_de_passe FILE=exp1.dmp FILESIZE=600MB
Un fichier d’export sera créé d’une taille maximale de 600 Mo. Si la taille du
fichier export est supérieure, un nouveau nom de fichier sera demandé

Copyright © 2004, Oracle. Tous droits réservés.


Comment créer le clone d’une base ?

Pour effectuer une copie d’une base existante, il faut créer une
base cible « minimale » puis procéder comme suit :

• exportez complètement la base source :


exp userid=‘sys as sysdba’ full=Yes file=expfull.dmp
• importez ce fichier dans la base cible :
imp userid=‘sys as sysdba’ full=Yes file=expfull.dmp

Pour copier la base sur la même machine ou si le système


d’exploitation change, il faut au préalable créer les tablespaces
manuellement sur la base cible, car l’Import cherchera à en
créer les fichiers sous le même nom et aux mêmes endroits que
les fichiers des tablespaces source.

Copyright © 2004, Oracle. Tous droits réservés.


Remarques générales

Peut-on remplacer des données existantes par celles issues


d’une importation ?
La réponse est non, avant de réaliser l’importation, il faut
supprimer manuellement les données que vous souhaitez mettre
à jour. Par défaut, l’Import ajoute les données importées à celles
qui existent déjà. C’est le principe de l’importation incrémentale.
Les informations du tablespace SYSTEM sont-elles
automatiquement exportées ?
Non, les informations concernant les fichiers du tablespace
SYSTEM (emplacement, nombre, taille...) ne sont pas exportées.
En effet, pour importer une base, la base cible fonctionne, donc
son tablespace SYSTEM et ses fichiers existent déjà.

Copyright © 2004, Oracle. Tous droits réservés.


Chapitre 7
Sauvegarde et Restauration logiques gérées par Export/Import

Atelier pratique
Cf. Manuel des exercices
Outils utilisés :
• SQL*PLUS
• Programmes exp et imp

Copyright © 2004, Oracle. Tous droits réservés.


BIBLIOGRAPHIE

• Oracle 10g sous Windows, Gilles Briard. Ed.


Eyrolles, 2006.

• Administration Oracle 11g, Razvan Bizoï. Ed.


Eyrolles, 2011.

• Documentation officielle d’ORACLE :


URL : http://docs.oracle.com/en/database/

• Documentation ORACLE DBA :


URL : http://www.oracle-dba-online.com

Copyright © 2004, Oracle. Tous droits réservés.

Vous aimerez peut-être aussi