D78850FR20 sg2
D78850FR20 sg2
D78850FR20 sg2
Il est à noter que les versions d'Oracle Secure Backup (OSB) ne suivent pas la même
numérotation que celles de la base de données. Ainsi, OSB 10.4 est la version correcte pour
Oracle Database 12c.
• La page d'accueil des produits est accessible via le site Oracle Technology Network (OTN) :
http://www.oracle.com/technetwork/products/secure-backup/overview/index.html.
• Vous pouvez télécharger de la documentation sur les produits à partir de ce site :
http://www.oracle.com/technetwork/products/secure-backup/documentation/index.html.
Client
• Client
Domaine
– Contient les données à
d'administration sauvegarder, par exemple :
Données à
sauvegarder
— Base de données Oracle
— Système de fichiers
Un domaine d'administration est un groupe d'ordinateurs de votre réseau que vous gérez comme
une unité globale pour exécuter des opérations de sauvegarde et de restauration. Il comprend un
serveur d'administration, un ou plusieurs clients, et un ou plusieurs serveurs de média.
• Le serveur d'administration est un ordinateur du domaine d'administration qui inclut une
installation complète du logiciel Oracle Secure Backup. Cet hôte gère les fichiers
du catalogue de sauvegarde ainsi que d'autres fichiers contenant des paramètres de
configuration et des données d'administration. Le serveur d'administration exécute le
planificateur, lequel lance et surveille les travaux exécutés dans le domaine d'administration.
Un seul serveur d'administration est nécessaire pour chaque domaine d'administration d'un
site. Vous configurez un serveur d'administration lors de l'installation d'Oracle Secure
Backup sur l'hôte.
• Un serveur de média est un ordinateur auquel sont connectés un ou plusieurs
périphériques de stockage secondaires, par exemple une librairie de sauvegarde.
Il échange des données avec les périphériques de stockage qui lui sont connectés.
Au cours de l'installation, vous pouvez configurer plusieurs périphériques de stockage
secondaires sur les serveurs de média.
• Un client est un ordinateur dont les données accessibles en local sont sauvegardées par
Oracle Secure Backup. Ces données peuvent être des bases de données ou des systèmes
de fichiers Oracle.
Outil Web
EM
Oracle
RMAN Secure obtool
SBT
Backup
La diapositive ci-dessus décrit quatre façons différentes d'accéder à Oracle Secure Backup en
fonction de ce que vous voulez faire :
• Enterprise Manager fournit une interface graphique pour les opérations de
sauvegarde/restauration sur bande via l'intégration avec RMAN. EM comprend un lien vers
l'outil Web d'Oracle Secure Backup pour les opérations de sauvegarde et de restauration
basées sur des systèmes de fichiers.
• Utilisez RMAN pour sauvegarder vos bases de données directement sur bande. RMAN est
accessible au moyen du client RMAN en mode ligne de commande et via l'interface
graphique Enterprise Manager. RMAN communique avec Oracle Secure Backup via
l'interface SBT (System Backup to Tape).
• L'outil Web est une application à interface graphique pour les tâches relatives à OSB.
Il vous permet de configurer des domaines d'administration, de gérer des opérations,
de parcourir le catalogue de sauvegarde, de sauvegarder et restaurer des données. Cette
interface graphique interactive fournit l'accès à l'utilitaire obtool. Vous devez l'utiliser pour
sauvegarder des données au niveau système de fichiers.
• L'utilitaire obtool fournit une interface en mode ligne de commande vers Oracle Secure
Backup.
Image de Image de
sauvegarde sauvegarde
Images OSB
La sauvegarde d'une base de données Oracle créée par RMAN produit un jeu de sauvegarde
(une structure logique propre à RMAN) contenant au moins un élément de sauvegarde (fichier
physique propre à RMAN incluant les données sauvegardées).
Oracle Secure Backup (OSB) sauvegarde et gère dans son propre catalogue les métadonnées de
sauvegarde relatives aux différents éléments de sauvegarde RMAN écrits sur bande. Vous
pouvez consulter les éléments de sauvegarde à l'aide de l'outil en mode ligne de commande
obtool ou de l'interface Web d'Oracle Secure Backup.
Remarque : La meilleure solution est de mettre à jour les éléments de sauvegarde à l'aide
de RMAN, en évitant toute mise à jour manuelle via Oracle Secure Backup.
Lorsque vous gérez les éléments de sauvegarde stockés sur bande avec les utilitaires d'Oracle
Secure Backup plutôt qu'avec RMAN, le catalogue OSB et le référentiel RMAN peuvent être
désynchronisés. Le cas échéant, utilisez la commande RMAN CROSSCHECK avant de prendre
d'autres mesures correctives.
La diapositive ci-dessus présente une vue générale des composants RMAN et OSB. La partie
gauche illustre la relation entre les fichiers de données au niveau du système d'exploitation et les
copies d'image et éléments de sauvegarde RMAN, ainsi que les liens de ces derniers avec les
images de sauvegarde OSB. Les fichiers d'un système de fichiers n'ont pas d'équivalents RMAN
et sont donc reliés directement aux images de sauvegarde OSB.
La partie droite de la diapositive montre comment les images de sauvegarde OSB sont stockées
en tant que sections de volume dans des jeux de volumes appartenant chacun à une famille de
supports au sein d'une librairie de sauvegarde.
EM
5 4
RMAN 1
2 Serveur
d'administration
3
Données en cours
Client OSB : de sauvegarde Serveur de
Serveur de bases média
de données
1. RMAN lance une sauvegarde et transmet à OSB le sélecteur de stockage des sauvegardes
de base de données. Si RMAN est démarré à partir de l'interface EM (Enterprise Manager),
vous devez configurer le serveur d'administration dans EM (configuration effectuée une fois
pour toutes).
2. Oracle Secure Backup crée le travail de sauvegarde. En principe, il utilise l'espace de noms
de système d'exploitation qui est associé à l'utilisateur OSB de la session en cours.
3. Oracle Secure Backup exécute le travail (il transfère les données du client au média).
4. Oracle Secure Backup met à jour son propre catalogue.
5. RMAN met à jour son référentiel.
Ce flux de processus et ses aspects les plus intéressants sont décrits en détail dans les pages
qui suivent.
Réponse : b
La diapositive ci-dessus présente un aperçu des tâches de configuration initiale qui seront
décrites plus en détail dans les pages suivantes. Les tâches indiquées sont exécutées par
un utilisateur doté de privilèges élevés.
Vous devez déterminer les rôles d'hôte avant de commencer une installation. En effet,
la procédure d'installation OSB permet de configurer des rôles d'hôte initiaux.
[stage] $ su - root
Password: oracle [[** not displayed **]]
[stage]# mkdir -p /usr/local/oracle/backup
[stage]# cd /usr/local/oracle/backup
[backup]# /stage/osb_installmedia/setup
Quelques exemples :
• Afficher les processus Oracle Secure Backup dans Linux :
$ ps -e | grep ob
Le processus d'installation crée des objets par défaut. La diapositive présente quelques manières
de vérifier votre installation à l'aide de commandes obtool :
ob> lsuser
admin admin
oracle oracle
ob> lsmf --long
OSB-CATALOG-MF:
Write window: 7 days
Keep volume set: 14 days
Appendable: yes
Volume ID used: unique to this media family
Comment: OSB catalog backup media family
RMAN-DEFAULT:
Keep volume set: content manages reuse
Appendable: yes
Volume ID used: unique to this media family
Comment: Default RMAN backup media family
ob> logout
• Pour accéder au logiciel Oracle Secure Backup, vous devez entrer un nom utilisateur et un
mot de passe, ou utiliser une préautorisation. Chaque utilisateur d'Oracle Secure Backup
est affecté à une classe qui définit les actions qu'il est autorisé à exécuter.
• Tous les hôtes du domaine d'administration utilisent des certificats SSL et X.509 pour
vérifier et authentifier l'identité des utilisateurs. Les données sensibles sont cryptées avant
d'être transmises sur le réseau. Le serveur Web exige un certificat X.509 signé et des clés
publiques et privées associées pour établir une connexion SSL avec un navigateur client. Le
certificat X.509 destiné au serveur Web est auto-signé par le script d'installation lorsque
vous installez OSB sur le serveur d'administration.
Remarque : Actuellement, le protocole NDMP (Network Data Management Protocol)
n'inclut pas de mécanisme permettant la négociation d'une connexion SSL avec des
serveurs de fichiers NDMP.
• Pour les sauvegardes de base de données, vous avez le choix entre le cryptage RMAN et le
cryptage OSB. Pour les sauvegardes de système de fichiers, utilisez le cryptage OSB.
Choix possibles pour le cryptage de la base de données :
- Cryptage de sauvegarde RMAN : les données sont cryptées au sein de la base.
- Cryptage OSB : les données sont cryptées après que RMAN les a transmises à OSB
via l'interface SBT.
Vous pouvez accorder aux utilisateurs Oracle Secure Backup une préautorisation d'accès à la
ligne de commande obtool (cmdline), à rman ou aux deux.
La préautorisation pour les sauvegardes au niveau système de fichiers sert principalement
à éviter la procédure de connexion à Oracle Secure Backup lors de l'exécution de scripts
personnalisés. A défaut de préautorisation cmdline, le script échouerait car l'accès à Oracle
Secure Backup n'est accordé qu'à l'issue d'une procédure de connexion de l'utilisateur.
La préautorisation RMAN est requise pour sauvegarder ou restaurer la base de données Oracle.
Ces sauvegardes de base de données peuvent être exécutées à partir de RMAN ou d'Enterprise
Manager. Quand il reçoit une communication en provenance de RMAN (via sbt), Oracle Secure
Backup vérifie que l'utilisateur OSB répond aux critères suivants :
1. Préautorisation RMAN sur l'hôte.
2. Correspondance avec l'identité utilisateur du système d'exploitation de l'instance Oracle
associée à la base de données (par exemple, oracle).
3. Affectation à une classe OSB comprenant les droits de sauvegarder et/ou restaurer la base
de données :
- access Oracle backups (défini sur owner, class, ou all)
- perform Oracle backups and restores
Si ces trois critères ne sont pas remplis, Oracle Secure Backup n'exécute pas les demandes de
sauvegarde ou de restauration RMAN.
Lorsque vous définissez des périodes de conservation dans RMAN, une combinaison de
sauvegardes sur disque et sur bande est utilisée pour répondre à vos besoins en matière de
récupération. Si vous utilisez Oracle Secure Backup et la zone de récupération rapide, la stratégie
de conservation RMAN recommandée est la définition par l'utilisateur de l'option RECOVERY
WINDOW. Cela signifie que vous définissez la période pendant laquelle la récupération jusqu'à un
point dans le temps doit être possible. Lorsque vous définissez la fenêtre de récupération, tenez
compte également des points suivants :
• La durée de conservation requise dépend des besoins en matière de récupération.
• La zone de récupération rapide doit être dimensionnée en fonction de la capacité de
récupération souhaitée à partir du disque.
• Des sauvegardes sur disque et sur bande doivent être programmées (fréquence et portée).
Si le plan de récupération prévoit un certain nombre d'heures par jour pour la restauration à partir
du disque, la zone de récupération rapide doit être suffisamment spacieuse pour pouvoir contenir
les fichiers nécessaires à la récupération pour la période considérée. La durée pendant laquelle
les sauvegardes restent dans la zone de récupération rapide est déterminée par la quantité
d'espace disque disponible et non par un paramètre temporel spécifique.
Exemple de commande obtool permettant de créer une famille de supports pour les
sauvegardes RMAN :
ob> mkmf --vidunique --writewindow forever content-man-family
Système OSB
d'exploitation
Oracle Secure Backup automatise le recyclage des bandes en réutilisant celles-ci une fois que
les sauvegardes ou les volumes ont expiré, selon la méthode de recyclage définie par l'utilisateur.
Stratégies d'expiration basées sur le temps : Le moment de l'expiration est défini au niveau du
volume pour les familles de supports gérées en fonction du temps. Lorsqu'un volume arrive à
expiration, son contenu peut être écrasé. Chaque volume d'un jeu a une date d'expiration
déterminée comme suit :
• La fenêtre d'écriture définie par l'utilisateur détermine la durée pendant laquelle la bande
peut être remplie après le premier événement d'écriture (facultatif).
• La durée de conservation définie par l'utilisateur détermine le temps pendant lequel le
volume doit être conservé après la fin de la fenêtre d'écriture ou, si aucune fenêtre d'écriture
n'a été définie, après le premier événement d'écriture sur bande. Si aucune fenêtre
d'écriture n'a été définie, le volume accepte des insertions jusqu'à ce qu'il soit plein.
• L'expiration intervient au terme de la durée de la fenêtre d'écriture augmentée de la durée
de conservation.
En résumé, les volumes gérés en fonction du temps pour les sauvegardes de système de fichiers
ont une période d'expiration définie par l'utilisateur qui ne dépend pas de leur contenu. (Cette
stratégie ne concerne pas RMAN.)
RMAN OSB
Nom de BdD (* = toutes) Hôte (* = tous)
ID de BdD Sélecteur de Famille de supports
stockage des
Nombre de copies sauvegardes Périphériques restreints
de base de
Contenu : archivelog, données Temps d'attente des ressources
full, incremental, Cryptage
autobackup
Les sélecteurs de stockage de sauvegarde de base de données sont destinés aux opérations de
sauvegarde et de restauration des bases Oracle. Ils sont gérés en tant que type d'objet sur le
serveur d'administration.
Lorsque RMAN effectue une sauvegarde de base de données Oracle vers des périphériques et
des supports gérés par Oracle Secure Backup, il transmet à Oracle Secure Backup le nom de la
base, le type du contenu et le nombre de copies. A partir de ces informations, OSB détermine le
sélecteur de stockage de sauvegarde approprié. Le sélecteur indique à Oracle Secure Backup
(s'il y a lieu) les périphériques auxquels restreindre la sauvegarde et la famille de supports à
utiliser.
Les sélecteurs de stockage de sauvegarde permettent d'indiquer les ressources devant être
utilisées par les sauvegardes SBT. Un objet de type sélecteur de stockage de sauvegarde de
base de données contient les informations mentionnées dans la diapositive.
• Un astérisque (*) comme nom ou ID de base de données indique que le sélecteur de
stockage s'applique à toutes les bases de données.
• Un astérisque (*) en tant qu'hôte indique que le sélecteur s'applique aux bases résidant sur
tous les hôtes disponibles.
Si vous utilisez des sélecteurs de stockage de base de données OSB, il n'est pas nécessaire de
définir des paramètres de gestion des supports dans RMAN. Certaines circonstances peuvent
toutefois exiger d'outrepasser ces sélecteurs en définissant explicitement des paramètres RMAN.
Vous pouvez préciser des paramètres de gestion des supports de différentes manières :
• Variables d'environnement définies à l'aide du paramètre ENV de l'option PARMS dans
la commande CONFIGURE ou ALLOCATE CHANNEL
• Commande RMAN SEND
Vous pouvez utiliser les paramètres OSB répertoriés dans la diapositive dans les travaux
de sauvegarde et de restauration RMAN.
Le paramètre OB_IGNORE_NUMA (nouveauté dans OSB 10.4) régit la prise en charge de l'accès
NUMA (Non-Uniform Memory Access). Sa valeur par défaut est 1 (NUMA activé).
1. Configurez l'accès RMAN à l'interface SBT d'Oracle Secure Backup. Si vous utilisez
Enterprise Manager Database Control, cette étape consiste à enregistrer le serveur
d'administration auprès d'Enterprise Manager. (Il suffit d'indiquer le répertoire d'origine
d'Oracle Secure Backup. RMAN localise automatiquement la librairie SBT.)
2. Créez un utilisateur OSB préautorisé.
3. Oracle Corporation recommande de créer explicitement des familles de supports pour les
sauvegardes RMAN. Lorsque vous créez une famille de supports, vous indiquez un ID de
volume unique et une stratégie d'expiration qui détermine à quel moment un volume de
cette famille peut être recyclé.
Si vous ne créez pas de familles de supports dédiées, Oracle Secure Backup utilise
une famille de supports par défaut (solution suffisante dans le cadre de ce cours).
4. Créez un sélecteur de stockage des sauvegardes de base de données dans Enterprise
Manager ou à l'aide de l'utilitaire obtool.
5. Si vous utilisez des sélecteurs de stockage de base de données Oracle Secure Backup, il
n'est pas indispensable de définir les paramètres de gestion des supports dans RMAN.
Une fois que vous avez configuré RMAN pour utiliser l'interface SBT d'Oracle Secure Backup, les
procédures à accomplir pour effectuer les opérations de sauvegarde et de restauration RMAN sur
bande sont identiques à celles utilisées pour les opérations sur disque.
Pour sauvegarder la zone de récupération rapide sur bande à l'aide d'Oracle Secure Backup,
lancez la commande RMAN : BACKUP DEVICE TYPE SBT RECOVERY AREA. Cette méthode
de sauvegarde de disque à bande (au lieu d'exécuter une sauvegarde distincte de la base de
production sur bande) présente plusieurs avantages :
• Réalisation de sauvegardes optimisées de la zone de récupération rapide qui permettent
d'économiser les bandes. Elimination des sauvegardes inutiles de fichiers se trouvant déjà
sur bande.
• Utilisation par RMAN d'une logique de restauration plus performante : d'abord à partir du
disque, puis d'une bande si nécessaire. Sinon, RMAN utilise la sauvegarde la plus récente,
indépendamment du support de stockage.
• Réduction des E/S (ce qui est important dans le cas d'une base de production) car la zone
de récupération rapide utilise un groupe de disques distinct.
Journal :
Evénements importants
Travail
Sauvegarde
Restauration
ID Transcription :
Type Détails du travail
Récapitulatifs de
travaux : Fichiers
texte pour les
opérations au
niveau du système
de fichiers
Un travail est créé pour chaque opération de sauvegarde ou de restauration. Chaque travail est
associé à un ID unique, un journal et une transcription (illustrés dans le graphique ci-dessus).
• Le journal d'un travail décrit les principaux événements :
- Création du travail
- Répartition du travail
- Temps d'exécution
• La transcription décrit les détails d'un travail :
- Elle est créée au moment de la répartition
- Elle est mise à jour au fur et à mesure de la progression du travail
- Elle signale les besoins tels que la nécessité d'une intervention de l'opérateur
Il existe deux types de travail :
• Travaux sur ensembles de données (dataset jobs) pour les sauvegardes et les restaurations
des systèmes de fichiers
• Travaux de sauvegarde (backup jobs) Oracle pour les sauvegardes et les restaurations des
bases de données
Les récapitulatifs de travaux sont des fichiers texte produits par Oracle Secure Backup qui
décrivent l'état de travaux sélectionnés de sauvegarde et de restauration de système de fichiers.
Les rapports récapitulatifs de travaux peuvent être générés régulièrement puis envoyés par email
aux utilisateurs.
Si une erreur survient au cours d'une session SBT, Oracle Secure Backup essaie d'envoyer sa
description au serveur d'administration afin qu'elle soit enregistrée dans la transcription du travail.
RMAN enregistre l'erreur dans le fichier trace sbtio.log, sauf si l'utilisateur a configuré un
fichier différent. Le paramètre d'initialisation DIAGNOSTIC_DEST indique l'emplacement de la
base ADR (Automatic Diagnostic Repository), c'est-à-dire du répertoire qui contient un ou
plusieurs répertoires d'origine ADR. Par défaut, le fichier sbtio.log se trouve dans le sous-
répertoire trace.
La description d'une erreur SBT contient les informations suivantes :
• Emplacement (fonction) où l'erreur s'est produite (par exemple, sbtbackup)
• Opération qui était en cours d'exécution (par exemple, "creating a backup piece")
• Description succincte du problème (par exemple, "unable to contact admin server")
• Description succincte de la solution que l'utilisateur peut appliquer (s'il y a lieu)
• Nom d'un fichier trace ou d'un fichier de débogage contenant des informations
complémentaires sur le problème (s'il y a lieu)
Vous pouvez obtenir d'autres informations de trace à l'aide de l'option TRACE de la commande
ALLOCATE CHANNEL. Par exemple : ALLOCATE CHANNEL c1 TYPE sbt TRACE 5 …
La fourchette des niveaux de trace va de 0 (erreurs uniquement) à 6 (informations détaillées de
débogage).
Hôtes lshost -l
Périphériques lsdev
La diapositive ci-dessus répertorie quelques-unes des commandes obtool courantes que vous
pouvez utiliser pour interroger les données d'administration et de catalogue d'Oracle Secure
Backup. D'autres options permettent de préciser les informations à extraire, par exemple la liste
de tous les volumes d'une famille de supports ou la liste des travaux terminés.
Pour plus d'informations sur ces options, reportez-vous au manuel Oracle Secure Backup
Reference.
Ces commandes peuvent vous aider à résoudre les problèmes liés à l'installation et à la
configuration d'OSB. Par exemple, la commande lshost affiche les rôles actuels d'un hôte. Si
vous souhaitez ajouter un périphérique à votre domaine OSB, l'hôte doit avoir le rôle
mediaserver, lequel n'est pas installé par défaut.
Réponses : a, b, d
Réponses : a, d, e
Réponse : a
Réponses : c, d
80
Temps de récupération
60
40
20
0
Copyright © 2015, Oracle et/ou ses affiliés. Tous droits réservés.
Données
d'origine dans
le cache de
tampons
Opérations DML
Lorsqu'une transaction commence, un segment d'annulation lui est affecté. Pendant la durée de
vie de la transaction, lorsque des données sont modifiées, les "anciennes" valeurs d'origine sont
copiées dans ce segment. Pour voir les affectations de segments d'annulation aux transactions,
consultez la vue V$TRANSACTION.
Les segments d'annulation sont des segments spécialisés créés automatiquement par l'instance
pour la prise en charge des transactions. Comme n'importe quel segment, ils sont constitués
d'extents (ensembles de blocs contigus), eux-mêmes composés de blocs de données. Les
segments d'annulation changent de taille en fonction des besoins, agissant comme un tampon de
stockage circulaire pour les transactions qui leur sont affectées.
Lorsqu'une transaction a rempli tous les blocs de son extent de segment d'annulation en cours,
un autre bloc lui est affecté dans le même extent. S'il ne reste plus de blocs libres, elle obtient un
bloc provenant de l'extent suivant du segment. Une fois tous les extents consommés, la
transaction revient au premier extent ou demande à ce qu'un nouvel extent soit alloué au
segment d'annulation.
La partie gauche du graphique de la diapositive représente une table dans laquelle sont stockées
des données d'origine provenant d'une opération DML. Ces données sont conservées dans le
cache de tampons (si elles ne sont pas retirées de la mémoire sur la base de la liste LRU) puis
écrites dans le tablespace d'annulation (représenté par une forme circulaire dans la partie droite).
Remarque : Les opérations DML en parallèle peuvent forcer une transaction à utiliser plusieurs
segments d'annulation. Pour plus d'informations sur l'exécution de code DML en parallèle,
reportez-vous au manuel Oracle Database VLDB and Partitioning Guide.
Mise à jour avec une clause WHERE Table Données d'annulation Oui
incorrecte
Vous pouvez utiliser la technologie Flashback lorsqu'une corruption logique se produit dans une
base Oracle et que vous avez besoin de récupérer rapidement les données. Comme dans le cas
des erreurs humaines, il est difficile d'identifier les objets et les lignes affectés par une transaction
incorrecte. Avec la technologie Flashback, il est possible de déterminer de quelle façon les
erreurs ont été introduites dans la base de données, puis de réparer les dommages. Vous pouvez
afficher les transactions qui ont contribué à des modifications de ligne spécifiques, afficher toutes
les versions d'une ligne spécifique sur une période donnée ou simplement afficher des données
telles qu'elles apparaissaient à un point spécifique dans le temps. Le tableau de la diapositive
présente des utilisations standard de la technologie Flashback. L'opération Flashback Database
s'appuie sur les journaux Flashback. Flashback Drop utilise la corbeille. Toutes les autres
fonctionnalités utilisent les données d'annulation.
Les fonctionnalités Flashback ne modifient pas toutes la base de données. Certaines servent
simplement à interroger d'autres versions des données. Vous pouvez faire appel à ces dernières
pour analyser un problème et pour vous aider lors de la récupération :
• Déterminer le type d'opération flashback à utiliser pour corriger le problème.
• Utiliser le résultat de l'interrogation dans une commande INSERT, UPDATE ou DELETE
permettant de réparer les données erronées.
Pour activer les fonctionnalités Flashback pour une application, vous devez :
• Octroyer des privilèges Flashback aux utilisateurs, rôles ou applications qui ont besoin
d'utiliser ces fonctionnalités.
• Avoir un tablespace d'annulation disposant d'un espace suffisant pour conserver les
données requises par les opérations Flashback. Plus la fréquence de mise à jour des
données par les utilisateurs est élevée, plus l'espace requis est important.
Pour un tablespace d'annulation automatiquement extensible (option par défaut), la base Oracle
conserve les données d'annulation de manière à pouvoir répondre au minimum aux besoins de
conservation de l'interrogation dont l'exécution est la plus longue et au seuil de conservation des
informations d'annulation défini par le paramètre UNDO_RETENTION. Vous pouvez interroger la
vue V$UNDOSTAT.TUNED_UNDORETENTION pour déterminer la durée pendant laquelle les
données d'annulation sont conservées au niveau du tablespace d'annulation actuel. La définition
du paramètre UNDO_RETENTION ne garantit pas qu'il n'y aura aucun écrasement de données
d'annulation non parvenues à expiration. Le comportement par défaut consiste à écraser les
informations d'annulation de transactions validées même si elles n'ont pas encore expiré plutôt
que de laisser une transaction active échouer à cause d'un manque d'espace. En cas de conflit,
les transactions sont prioritaires sur les interrogations. Ce comportement peut toutefois être
modifié via la garantie de la période de conservation.
Conservation garantie :
15 minutes
Avec une durée de conservation garantie, les paramètres de conservation des informations
d'annulation sont appliqués même s'ils entraînent l'échec de transactions. (En cas de conflit, les
interrogations sont prioritaires sur les transactions, comme le montre le schéma de la diapositive
ci-dessus.)
Indiquez la clause RETENTION GUARANTEE au niveau du tablespace d'annulation pour garantir
que les données d'annulation non expirées ne seront pas supprimées. En configurant la garantie
de conservation, vous devez comprendre que les opérations en cours qui ont besoin d'espace
d'annulation dans les segments du tablespace concerné risquent d'échouer. RETENTION
GUARANTEE est un attribut de tablespace et non un paramètre d'initialisation. La diapositive ci-
dessus en présente un exemple. Pour rétablir le comportement par défaut :
SQL> ALTER TABLESPACE undotbs1 RETENTION NOGUARANTEE;
Si vous devez satisfaire à des besoins de conservation de longue durée, créez un historique.
Réponses : c, d, e, f
11:00 11:10
La technologie Flashback permet d'interroger des versions antérieures des objets de schéma et
des données historiques, et d'effectuer une analyse des modifications. D'un point de vue logique,
chaque transaction génère une nouvelle version de la base de données. Avec la technologie
Flashback, vous pouvez accéder à ces versions pour rechercher une erreur et son origine :
• Flashback Query : Interroger toutes les données telles qu'elles se présentaient à un point
dans le temps spécifique.
• Flashback Version Query : Consulter toutes les versions d'une ligne entre deux points
dans le temps, ainsi que les transactions qui ont modifié cette ligne.
• Flashback Transaction Query : Consulter toutes les modifications effectuées par une
transaction et, si nécessaire, annuler les effets d'une transaction à l'aide de commandes
SQL "undo".
Mises à jour
indésirables
T1 T2
La fonctionnalité Flashback Version Query permet d'utiliser la clause VERSIONS pour extraire
toutes les versions des lignes entre deux points dans le temps ou deux numéros SCN. Les lignes
renvoyées représentent un historique des modifications effectuées par différentes transactions.
Flashback Version Query extrait uniquement les données validées (commit) dans la base. Les
versions non validées des lignes au sein d'une transaction ne sont pas affichées. Les lignes
renvoyées incluent également les versions supprimées puis réinsérées des lignes.
Utilisez cet historique pour auditer les lignes d'une table et obtenir des informations sur les
transactions qui les ont affectées. L'identificateur de transaction renvoyé (pseudo-colonne
VERSIONS_XID) peut ensuite servir à effectuer une extraction de transactions à l'aide de
LogMiner ou à lancer une opération Flashback Transaction Query.
• La clause VERSIONS ne peut pas être utilisée pour interroger des tables externes, des
tables temporaires, des tables fixes ou des vues. En revanche, vous pouvez l'utiliser pour
créer une vue.
• La clause VERSIONS d'une instruction SELECT ne peut pas produire les versions des lignes
modifiées par des instructions DDL (Data Definition Language) qui changent la structure des
tables correspondantes. Cela signifie que l'interrogation cesse de produire des lignes
lorsqu'elle atteint un point dans le passé correspondant à la modification de la structure de
la table.
• Certaines opérations de maintenance, par exemple une récupération d'espace dans les
segments, sont susceptibles de déplacer des lignes au sein des blocs. Dans ce cas,
l'interrogation exclut les versions fantômes de ce type car les données de la ligne restent
inchangées.
Flashback Table permet de récupérer des tables à un moment spécifique de leur évolution sans
avoir à effectuer les opérations traditionnelles de récupération jusqu'à un point dans le temps.
Une opération Flashback Table est réalisée sur place, pendant que la base de données est en
ligne, en annulant (rollback) uniquement les modifications apportées aux tables indiquées ainsi
qu'à leurs objets dépendants.
Une instruction Flashback Table est exécutée en tant que transaction unique. Si elle ne réussit
pas pour toutes les tables, l'intégralité de la transaction est annulée.
Remarque : Vous pouvez utiliser Flashback Version Query et Flashback Transaction Query pour
déterminer l'instant de flashback approprié.
Flashback Table vous permet de récupérer une ou plusieurs tables jusqu'à un point dans le
temps spécifique sans avoir à restaurer de sauvegarde. Lorsque vous utilisez cette fonctionnalité,
les données des tables sont restaurées avec les objets associés (index, contraintes,
déclencheurs (triggers), etc.). Les données utilisées pour répondre à une demande Flashback
Table sont extraites du tablespace d'annulation. Vous pouvez utiliser Flashback Version Query et
Flashback Transaction Query pour déterminer l'instant de flashback approprié.
Flashback Table permet aux utilisateurs d'effectuer facilement et rapidement une récupération
suite à des modifications accidentelles, sans l'intervention d'un administrateur de base de
données. Vous devez octroyer le privilège système FLASHBACK TABLE ou FLASHBACK ANY
TABLE à tout utilisateur qui emploie la fonctionnalité Flashback Table. Vous devez également lui
octroyer les privilèges objet SELECT, INSERT, DELETE et ALTER.
Vous pouvez utiliser Enterprise Manager ou SQL*Plus pour effectuer un flashback sur une table.
L'assistant vous guide tout au long du processus.
Pour pouvoir effectuer un flashback sur une table, vous devez activer le déplacement de lignes
(row movement) dans cette table. Le serveur Oracle peut alors déplacer une ligne dans la table.
Utilisez Enterprise Manager ou la commande ALTER TABLE pour activer le déplacement de
lignes.
• L'instruction FLASHBACK TABLE est exécutée dans son ensemble dans le cadre d'une
transaction unique. Le flashback est effectué pour toutes les tables indiquées, ou pour
aucune.
• L'instruction Flashback Table acquiert des verrous DML (Data Manipulation Language) de
type Exclusive sur toutes les tables indiquées, pour la période nécessaire à l'opération.
• Les statistiques relatives aux objets concernés ne font pas partie du flashback.
• Tous les index existants sont conservés. Les index supprimés ne sont pas recréés. Les
vues matérialisées sur validation (commit) dépendantes sont également conservées
automatiquement.
• Les tables indiquées dans l'instruction FLASHBACK TABLE font l'objet d'un flashback, à
condition qu'aucune des contraintes définies sur ces tables ne soit enfreinte. Si des
contraintes sont enfreintes pendant l'exécution du flashback, l'opération est abandonnée et
les tables sont laissées dans l'état où elles se trouvaient avant l'appel de l'instruction
FLASHBACK TABLE.
• Vous ne pouvez pas appliquer une opération Flashback Table jusqu'à un point dans le
temps antérieur au point d'exécution d'une opération DDL (Data Definition Language) qui a
altéré la structure d'une table ou qui a permis de récupérer de l'espace dans une table
impliquée dans l'opération Flashback. Cette restriction ne s'applique pas aux instructions
DDL qui modifient uniquement les attributs de stockage des tables.
• L'opération Flashback Table ne peut pas être exécutée sur des tables système, des tables
distantes ou des tables fixes.
DBA
FLASHBACK_TRANSACTION_QUERY
Flashback Version Query
Flashback Transaction Backout
Code DML
erroné Code SQL
d'annulation
Flashback Transaction Query est un outil de diagnostic que vous pouvez utiliser pour consulter
les modifications apportées à la base de données au niveau transaction. Il permet de
diagnostiquer les problèmes dans la base de données et d'effectuer des analyses et des audits
sur les transactions (comme illustré dans le graphique ci-dessus).
Vous pouvez utiliser la vue FLASHBACK_TRANSACTION_QUERY pour déterminer toutes les
instructions SQL à utiliser pour annuler les modifications apportées par une transaction spécifique
ou sur une période donnée.
Cette fonctionnalité est utilisée en liaison avec la fonctionnalité Flashback Version Query avec
l'aide de l'assistant Perform Recovery Wizard.
Dans la base de données, les opérations DDL sont simplement une série d'opérations de gestion
de l'espace et de modifications du dictionnaire de données. Une opération Flashback Transaction
Query sur une transaction portant une commande DDL affiche les modifications apportées au
dictionnaire de données.
Lorsque Flashback Transaction Query implique des tables qui ont été supprimées de la base de
données, les noms de ces tables n'apparaissent pas. Ils sont remplacés par des numéros d'objet.
Si l'utilisateur qui a exécuté une transaction est supprimé, l'opération Flashback Transaction
Query sur cette transaction affiche uniquement l'ID de l'utilisateur correspondant. Le nom de
l'utilisateur n'apparaît pas.
Remarque : Lorsque les données d'annulation sont en nombre insuffisant pour une transaction
spécifique, une ligne contenant la valeur UNKNOWN dans la colonne OPERATION de
FLASHBACK_TRANSACTION_QUERY est renvoyée.
Avec Flashback Transaction, vous pouvez annuler les effets d'une transaction ainsi que des
transactions qui en dépendent. Oracle Database détermine les dépendances entre transactions
et, de fait, crée une transaction de compensation qui défait les modifications non souhaitées. La
base de données est "rembobinée", comme si la transaction (et toutes celles qui pourraient en
dépendre) n'avait jamais eu lieu.
Vous pouvez utiliser la fonctionnalité Flashback Transaction à partir d'Enterprise Manager ou par
le biais de packages PL/SQL.
Pour procéder à un flashback ou une annulation (back-out) de transaction (c'est-à-dire pour créer
une transaction de compensation), vous devez disposer de privilèges SELECT, FLASHBACK et
DML sur toutes les tables concernées.
Certaines commandes DDL qui modifient la structure d'une table invalident les données
d'annulation concernant cette table. Il s'agit notamment des commandes qui suppriment et
modifient des colonnes, déplacent des tables, suppriment des partitions ou vident des tables ou
des partitions. Il n'est pas possible d'extraire des données antérieures à l'exécution de ces
commandes DDL. Toute tentative à cet effet génère une erreur ORA-1466. Cette restriction ne
s'applique pas aux opérations DDL qui modifient les attributs de stockage d'une table, notamment
PCTFREE, INITRANS et MAXTRANS.
2 3
DROP TABLE employees; FLASHBACK TABLE
employees
TO BEFORE DROP;
Par erreur
A l'aide de la commande FLASHBACK TABLE, vous pouvez annuler les effets d'une instruction
DROP TABLE sans avoir recours à une récupération jusqu'à un point dans le temps (comme le
montre le graphique ci-dessus).
1. Le paramètre d'initialisation RECYCLEBIN permet de contrôler si la fonction Flashback Drop
est activée (ON) ou désactivée (OFF). Lorsqu'il est défini sur OFF, les tables supprimées ne
sont pas placées dans la corbeille.
2. Si ce paramètre a la valeur (par défaut) ON, les tables supprimées vont dans la corbeille.
3. Les tables supprimées peuvent être récupérées à l'aide de la commande FLASHBACK
TABLE …TO BEFORE DROP.
BIN$zbjrBdpw==$0 EMPLOYEES
BIN$zbjra9wy==$0 EMPLOYEES_PK
Corbeille
DBA_FREE_SPACE
EMPLOYEES BIN$zbjrBdpw==$0
3
EMPLOYEES_PK BIN$zbjra9wy==$0
Les objets :
– sont renommés
– ne sont pas
1 déplacés
Si la corbeille n'est pas activée et que vous supprimez une table, l'espace correspondant peut
être utilisé immédiatement par d'autres objets. En revanche, si vous supprimez une table alors
que la corbeille est activée, l'espace associé à la table et aux objets dépendants n'est pas
immédiatement récupérable, même s'il apparaît dans DBA_FREE_SPACE. Les objets supprimés
sont référencés dans la corbeille et appartiennent toujours à leur propriétaire. L'espace utilisé par
les objets de la corbeille n'est jamais récupéré automatiquement, sauf en cas de manque
d'espace. Cela vous permet de récupérer les objets de la corbeille pendant un laps de temps le
plus long possible.
Lorsqu'une table supprimée est "déplacée" vers la corbeille, elle est renommée à l'aide d'un nom
généré par le système, de même que les objets et contraintes associés. Le modèle de nom utilisé
est BIN$unique_id$version, où unique_id est un identificateur unique de niveau global
(GUID) de 26 caractères pour cet objet (rendant ainsi le nom de la corbeille unique sur l'ensemble
des bases de données) et version est un numéro de version attribué par la base.
La corbeille proprement dite est une table du dictionnaire de données qui gère les relations entre
les noms d'origine des objets supprimés et les noms générés par le système pour ces derniers.
Vous pouvez interroger la corbeille à l'aide de la vue DBA_RECYCLEBIN. Le diagramme de la
diapositive illustre ce comportement :
1. Vous avez créé une table nommée EMPLOYEES dans votre tablespace.
2. Vous supprimez la table EMPLOYEES.
3. Les extents (ensembles de blocs contigus) qui étaient occupés par la table EMPLOYEES sont
libérés.
4. La table EMPLOYEES est renommée et son nouveau nom est enregistré dans la corbeille.
• Vous pouvez exécuter la commande DROP TABLE PURGE pour supprimer définitivement de
la base de données une table et ses objets dépendants. Lorsque vous utilisez cette
commande, les objets correspondants ne sont pas envoyés dans la corbeille.
• Lorsque vous exécutez la commande DROP TABLESPACE ... INCLUDING CONTENTS, les
objets du tablespace supprimé ne sont pas placés dans la corbeille. En outre, les objets de
la corbeille qui appartiennent à ce tablespace sont purgés. Si vous exécutez la même
commande sans la clause INCLUDING CONTENTS, il faut que le tablespace soit vide pour
que l'exécution réussisse. Cependant, la corbeille peut contenir des objets appartenant au
tablespace. Dans ce cas, ces objets sont purgés.
• Lorsque vous exécutez la commande DROP USER ... CASCADE, l'utilisateur et tous les
objets dont il est propriétaire sont supprimés de façon permanente de la base de données.
Tous les objets de la corbeille appartenant à l'utilisateur supprimé sont purgés.
Pour des raisons de sécurité, vous pouvez décider de ne pas autoriser l'accès à la corbeille (par
exemple, l'objet en cours est crypté mais l'objet supprimé est en texte clair et risque de dévoiler
des données sensibles). Connecté en tant que SYSDBA, vous pouvez effectuer les opérations
suivantes :
• Afficher le statut de la corbeille : SHOW PARAMETER RECYCLEBIN
• Désactiver l'utilisation de la corbeille : ALTER SYSTEM SET RECYCLEBIN=OFF
SCOPE=SPFILE; Vous devez redémarrer la base de données après avoir exécuté cette
commande.
Flashback Data Archive constitue un mécanisme de suivi des modifications apportées aux bases
de production qui est à la fois sûr, efficace, facile d'emploi et transparent pour les applications.
Cette technologie permet de surveiller et stocker automatiquement les données dans les tables
activées pour FDA. Les interrogations Flashback obtiennent ainsi un accès de niveau SQL aux
versions des objets de base de données sans recevoir d'erreur Snapshot Too Old.
Une archive FDA permet le suivi et le stockage de toutes les modifications transactionnelles
apportées à une table "surveillée" pendant toute sa durée de vie. Il n'est plus nécessaire
d'intégrer cette fonctionnalité à l'application. Vous pouvez utiliser Flashback Data Archive pour
créer des rapports de conformité ou d'audit, analyser des données ou alimenter des systèmes
d'aide à la décision.
Optimisation FDA autre que par défaut avec compression et suppression des doublons
Historique
Table de base
Une archive FDA (Flashback Data Archive) est composée d'au moins un tablespace. Vous
pouvez disposer de plusieurs archives FDA. Celles-ci sont configurées avec une durée de
conservation. En fonction des durées de conservation exigées, il est recommandé de créer
différentes archives : par exemple, une pour tous les enregistrements qui doivent être conservés
pendant deux ans et une autre pour tous les enregistrements qui doivent être conservés pendant
cinq ans. Le serveur de base de données purge automatiquement toutes les informations
historiques dès le lendemain du jour où la période de conservation expire.
1. Créez un tablespace pour votre archive FDA. La taille dépend de la table de base et de
l'activité DML et DDL attendue.
2. Créez une archive FDA avec une durée de conservation (par défaut, avec duplication et
sans compression). Les données archivées seront conservées pendant cette durée. Cette
tâche nécessite le privilège système FLASHBACK ARCHIVE ADMINISTER. Si vous avez
besoin de définir plusieurs durées de conservation, créez plusieurs archives. La clause
OPTIMIZE DATA crée l'archive FDA avec compression des données et suppression des
doublons.
3. Activez l'archivage Flashback pour l'ensemble d'une table (puis désactivez-le). Cette tâche
requiert le privilège objet FLASHBACK ARCHIVE. Même quand l'archivage Flashback est
activé sur une table, certaines instructions DDL ne sont pas autorisées sur cette table.
L'archivage Flashback est désactivé par défaut pour toutes les tables.
Processus en
arrière-plan fbda help Esclaves fbda (selon les besoins)
données historiques
• Partitions créées
automatiquement, sur des critères
de temps et de volume
• Les partitions non liées sont
EMPLOYEES FDA1 ignorées par les interrogations
Les données historiques sont capturées à partir des données d'annulation (et du cache de
tampons) par le processus en arrière-plan fdba selon des intervalles réguliers définis
automatiquement. L'intervalle par défaut est de cinq minutes. Une ligne mise à jour de la table de
base est stockée dans son intégralité, quel que soit le nombre de colonnes modifiées.
• La clause OPTIMIZE DATA active automatiquement la compression des tables et des
objets LOB et la suppression des doublons LOB, avec des options variées : Compression
avancée de table au niveau ligne, compression et déduplication intelligentes SecureFiles,
compression ILM aux niveaux segment et ligne. La gestion de cycle de vie (ILM, Information
Lifecycle Management) est activée pour permettre aux nouvelles données d'être archivées
sans compression, puis compressées en arrière-plan au bout d'un certain temps.
Remarque : Si la table de base utilise la compression de colonne hybride, elle ne peut pas
être activée pour l'archivage FDA.
• Les tables d'historique FDA déjà compressées et débarrassées des doublons qui
proviennent de versions inférieures à 12.1 ne sont pas modifiées. Elles continuent d'être
stockées sous forme compressée et sans duplication de données.
• Pour cesser d'optimiser les tables d'historique FDA, exécutez l'instruction suivante :
SQL> ALTER FLASHBACK ARCHIVE fla1 NO OPTIMIZE DATA;
• Chaque partition Flashback Data Archive (FDA) dispose d'au moins 1 jour et 1 Mo, avec un
partitionnement sur ENDSCN. Les interrogations Flashback sur les archives ignorent les
partitions non liées.
• Le processus fbda peut appeler jusqu'à dix processus esclaves d'archivage Flashback.
• Si ces processus sont trop occupés, l'archivage peut être effectué en ligne, mais cela affecte
notablement les temps de réponse.
• Le contexte utilisateur d'une transaction exécutée sur une table avec historique peut être
collecté et extrait. Les paramètres de l'espace de noms USERENV décrivent la session en
cours. Le contexte utilisateur est obtenu à l'aide de
DBMS_FLASHBACK_ARCHIVE.GET_SYS_CONTEXT.
• Sa collecte est contrôlée par un paramètre (défini par
DBMS_FLASHBACK_ARCHIVE.SET_CONTEXT_LEVEL) qui admet les valeurs NONE,
TYPICAL et ALL. Par défaut, aucun contexte utilisateur n'est collecté.
Dans le cas TYPICAL, les informations collectées sont notamment l'ID utilisateur de la base
de données, l'ID utilisateur global, l'identifiant de client, le nom du service, le nom du module
ou le nom d'hôte.
• Les lignes de ces tables sont purgées lorsque la date de validation est antérieure à la plus
ancienne des dates de conservation des archives Flashback.
• Chaque ligne du contexte utilisateur peut être lue uniquement par le DBA ou par le
propriétaire de la transaction.
Ajouter une
une colonne
2
Supprimer
colonne
3
temps
Les commandes DDL (Data Definition Language) les plus courantes peuvent être utilisées avec
les archives FDA (Flashback Data Archive). Lorsqu'un schéma évolue (de l'une des façons
indiquées dans la diapositive), la technologie d'historique (Temporal History) garde
automatiquement une trace des modifications. Flashback Query renvoie les lignes appropriées
avec le schéma correspondant (comme indiqué dans le diagramme).
Toutes les modifications DDL qui ne sont pas prises en charge automatiquement peuvent être
exécutées via le package DBMS_FLASHBACK_ARCHIVE.
Remarque : Utilisez cette fonction avec précaution, en sachant que l'archive ne peut plus être
garantie comme immuable puisque l'historique a pu être modifié au moment de la dissociation.
Un message est consigné dans le catalogue système lorsque la dissociation se produit.
Le diagramme de la diapositive illustre le workflow suivant :
1. Si vous disposez du privilège FLASHBACK ARCHIVE ADMINISTER, vous pouvez dissocier
l'archive de la table de base à l'aide de la procédure DISASSOCIATE_FBA.
2. Apportez les modifications nécessaires à la table de base.
3. Apportez les modifications nécessaires à l'archive correspondante.
4. Associez ensuite la table à l'archive au sein du même schéma, à l'aide de la procédure
RESASSOCIATE_FBA. La fonctionnalité d'historique vérifie que les schémas sont identiques
après l'association.
Les tables d'historique ne sont pas transportables. Certaines instructions DDL provoquent une
erreur ORA-55610 lorsqu'elles sont appliquées à une table activée pour FDA, par exemple :
• ALTER TABLE …avec la clause UPGRADE TABLE
• instruction ALTER TABLE qui déplace ou échange une opération sur une partition ou sous-
partition
• instruction DROP TABLE
Les applications annotent souvent la validité d'un fait enregistré dans une table avec des dates ou
des horodatages adaptés aux besoins métier sous-jacents (par exemple, la date d'embauche d'un
employé dans des applications de ressources humaines ou la date effective des garanties dans le
secteur des assurances). Cet attribut temporel de validité est généralement contrôlé par
l'utilisateur qui définit la dimension de période de validité lors de la création des tables.
Les dates et horodatages de validité temporelle diffèrent de ceux mentionnés au moment où le
fait a été enregistré dans la base de données. Les dates et horodatages de l'enregistrement des
faits dans la base de données sont des attributs de l'historique (également appelé Flashback
Data Archive - FDA) ; ils sont gérés par le système.
Dans l'exemple de la diapositive, l'employé 400 a été embauché le 22 mars, mais la ligne
correspondante n'a été entrée que le 23 mars dans la table HR.EMP. 22-MAR-12 est la date de
valeur dans l'historique, tandis que 23-MAR-12 est la date d'opération dans l'historique.
Avec l'application implicite du filtre sur la dimension Période de validité, une interrogation peut
obtenir les lignes qui sont actuellement valides ou qui seront valides à l'avenir. L'interrogation
peut masquer les lignes dont les faits ne sont actuellement pas valides.
Les interrogations bi-temporelles peuvent utiliser à la fois la date de validité et la date de
transaction.
Une dimension de date de valeur (représentée par la nouvelle clause PERIOD FOR) se compose
de deux colonnes de date/heure qui peuvent être indiquées dans la définition de table (premier
exemple ci-dessus) ou qui sont créées automatiquement (second exemple ci-dessus).
Pour masquer les colonnes correspondant à la dimension de période de validité, il suffit d'indiquer
une clause PERIOD FOR sans mentionner les colonnes de date/heure. Oracle crée deux
colonnes masquées et utilise le nom de la dimension Période de validité comme préfixe de leurs
noms. Le nom de la dimension Période de validité est utilisé pour supprimer cette dimension au
besoin. Dans le deuxième exemple, vous avez défini le nom user_time pour cette dimension et
ce nom est utilisé comme préfixe pour les deux colonnes de date/heure créées
automatiquement : USER_TIME_START et USER_TIME_END.
Pour insérer des lignes dans une table dotée d'une dimension de période de validité, vous
nommez les deux colonnes de date/heure correspondantes de la manière suivante :
SQL> INSERT INTO emp2 (empno, salary, deptid, name, user_time_start,
user_time_end) VALUES (1,1000,20, 'John', SYSDATE, NULL);
SQL> select EMPNO, user_time_start, user_time_end from emp2;
EMPNO USER_TIME_START USER_TIME_END
---------- ----------------------------------- ------------------
1 17-AUG-12 09.58.03.000000 AM +00:00
JEAN
SCOTT
ADAM
KIM
Comment filtrer les données sur les colonnes de période de validité ? Exécutez l'instruction
SELECT avec la clause PERIOD FOR ou utilisez la procédure DBMS_FLASHBACK_ARCHIVE.
• Il existe un ensemble de données "valide" en fonction des horodatages de début et de fin de
la dimension Période de validité et en fonction de l'horodatage de l'interrogation (clause
AS OF ou aucun attribut).
• D'autre part, il existe un autre ensemble de lignes où l'horodatage de l'interrogation n'est
pas inclus dans la période de validité.
Ces deux ensembles de lignes résident dans la même table. En limitant la visibilité des données
aux lignes valides, vous pouvez contrôler la portée des interrogations et des instructions DML.
Jusqu'à présent, vous pouviez effectuer des interrogations avec la clause AS OF et des
interrogations de versions pour la période de transaction uniquement. Vous pouvez désormais
faire la même chose pour la période de validité.
Pour chaque nouvel employé que vous avez inséré dans la table, vous avez inclus une date
d'embauche et des dates de début et de fin de validité. Ces dates indiquent si une ligne est active
ou inactive. Elles sont entrées par l'application et correspondent à des dates valides. Le moment
où les lignes ont été insérées et validées dans la table correspond à la date de transaction.
Vous pouvez filtrer les employés actifs en utilisant la nouvelle clause PERIOD FOR.
L'interrogation présentée dans la diapositive affiche tous les employés actifs qui étaient valides à
la date explicite '01-DEC-1992', c'est-à-dire pour lesquels cette date est comprise dans la
période de validité située entre USER_TIME_START et USER_TIME_END.
JEAN
SCOTT
ADAM
KIM
Vous pouvez filtrer les employés actifs en utilisant la clause VERSIONS PERIOD FOR
BETWEEN :
select * from hr.emp VERSIONS PERIOD FOR user_time
BETWEEN to_date('31-DEC-2011', 'dd-mon-yyyy')
AND to_date('31-DEC-2012', 'dd-mon-yyyy') ;
Cette interrogation extrait tous les employés pour lesquels la date VALID_TIME_START est
antérieure ou égale à '31-DEC-2011' et la date VALID_TIME_END est égale ou ultérieure à
'31-DEC-2012'.
Les interrogations qui combinent les dimensions de période de validité et de période de
transaction sont dites "bitemporelles".
Cet exemple affiche les lignes correspondant à la date de transaction spécifiée et qui sont valides
actuellement.
select * from hr.emp
as of period for user_time to_date('31-DEC-1992', 'dd-mon-yyyy')
as of timestamp to_date ('30-mar-2012','dd-mon-yyyy');
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME('CURRENT')
DBMS_FLASHBACK_ARCHIVE.ENABLE_AT_VALID_TIME('ALL')
Les utilisateurs peuvent modifier la visibilité des données au sein d'une session à l'aide du
nouveau package DBMS_FLASHBACK_ARCHIVE. Le contrôle de la visibilité s'applique à toutes les
instructions SQL SELECT et au code DML (Data Manipulation Language).
Pour les instructions DDL (Data Definition Language), les données visibles sont par défaut toutes
les données de la table. Par exemple, les opérations CTAS (create table as select), de
redéfinition en ligne et ALTER TABLE MOVE ont une visibilité totale sur les données de la table.
Les colonnes masquées sont également visibles pour les opérations DDL, ce qui assure leur
préservation (et celle de leurs données).
Le premier exemple de la diapositive définit la visibilité de la période de validité à la date '29-
SEP-2010' et affiche uniquement les lignes englobant cette date de validité.
Le deuxième exemple limite la visibilité aux données qui sont actuellement valides au sein de la
période au niveau de la session.
Le troisième exemple définit une visibilité qui s'étend à la table entière. C'est la visibilité de table
temporelle par défaut.
Réponse : c
Réponse : b
Pour compléter votre formation, vous pouvez consulter les vidéos relatives à Flashback qui sont
disponibles sur YouTube et OLL.
Flashback Database est une fonctionnalité unique de récupération jusqu'à un point dans le temps
qui permet de "rembobiner" rapidement une base de données pour la ramener à un état antérieur.
Elle restaure la base plus rapidement que les méthodes classique de restauration et récupération
parce que seuls les blocs de données impactés sont traités.
Flashback Database utilise des journaux qui enregistrent les anciennes versions des blocs. Le
diagramme de la diapositive montre le processus qui écrit l'ancienne version du bloc dans le
journal et la nouvelle version dans le fichier de données lorsque des opérations d'écriture sur
disque sont lancées et que la fonctionnalité Flashback Database est activée. Lorsque la
commande FLASHBACK DATABASE est émise, seuls les blocs modifiés sont extraits des journaux
Flashback. Ces blocs sont ensuite récupérés à l'aide des journaux archivés appropriés pour
atteindre le point dans le temps qui convient.
Avec Flashback Database, vous pouvez rapidement rétablir la base de données dans un état
correspondant à un point dans le passé en annulant toutes les modifications effectuées après ce
point. Cette opération est rapide car elle ne nécessite pas la restauration de sauvegardes. Vous
pouvez utiliser cette fonctionnalité pour annuler des modifications ayant entraîné des corruptions
logiques des données.
Lorsque vous effectuez une opération Flashback Database, le serveur Oracle Database utilise
des images passées des blocs pour "défaire" les modifications récentes. Au cours du
fonctionnement normal de la base de données, le serveur de base de données Oracle consigne
occasionnellement ces images de bloc dans des journaux Flashback. Ces derniers sont écrits de
façon séquentielle et ne sont pas archivés. Le serveur Oracle Database crée, supprime et
redimensionne automatiquement les journaux Flashback dans la zone de récupération rapide.
Vous n'avez à utiliser les journaux Flashback que pour surveiller les performances et déterminer
l'espace disque à leur allouer dans la zone de récupération rapide.
Le temps nécessaire au "rembobinage" de la base de données à l'aide de Flashback Database
est proportionnel à la longueur de la période à remonter et à l'activité de la base pendant cette
période. Il faudrait bien plus longtemps pour restaurer et récupérer l'ensemble de la base. Les
images "avant" figurant dans les journaux Flashback sont utilisées uniquement pour restaurer un
état passé de la base de données, tandis que la récupération avant (forward recovery) permet
d'amener la base jusqu'à un état cohérent correspondant à un point du passé.
Enregistrement
périodique des
images "avant"
des blocs.
Journaux Fichiers
RVWR de journa-
Flashback Restauration physique
lisation
avec réimplémentation
Annulation des de modifications.
1 modifications à l'aide 2
des images "avant".
… …
Vous pouvez utiliser la commande RMAN FLASHBACK DATABASE pour exécuter l'opération
Flashback Database. Les options SEQUENCE et THREAD permettent de préciser un numéro
séquentiel et un thread de fichier de journalisation en tant que limite inférieure. RMAN sélectionne
uniquement les fichiers qui peuvent être utilisés pour effectuer le flashback jusqu'au numéro de
séquence indiqué (ce dernier étant exclu).
Vous pouvez également utiliser la commande SQL FLASHBACK DATABASE pour ramener la base
de données jusqu'à un instant ou un numéro SCN du passé. Si vous utilisez la clause TO SCN,
vous devez indiquer un numéro. Si vous utilisez TO TIMESTAMP, vous devez indiquer un
horodatage. Il est également possible d'indiquer le nom d'un point de restauration.
La vue V$SESSION_LONGOPS permet de surveiller la progression des opérations Flashback
Database.
Remarque : La base de données doit être montée en mode exclusif pour la commande
FLASHBACK DATABASE. Elle doit être ouverte en lecture seule pour l'examen des modifications. A
l'issue de l'opération, la base doit être ouverte en lecture/écriture avec l'option RESETLOGS.
Lorsque vous ne pouvez pas utiliser la fonctionnalité Flashback Database, vous devez utiliser une
opération de récupération incomplète afin de rétablir la base de données dans un état antérieur.
Une fois l'opération Flashback Database terminée, vous pouvez ouvrir la base de données en
mode lecture seule afin de vous assurer que le point dans le temps ou le SCN indiqué a été
utilisé. Si ce n'est pas le cas, vous pouvez procéder à un nouveau flashback de la base ou
effectuer une récupération afin de réimplémenter les modifications requises.
Vous ne pouvez pas utiliser Flashback Database pour récupérer un fichier de données qui a été
supprimé pendant la période de flashback. Le fichier supprimé est ajouté au fichier de contrôle et
marqué comme étant hors ligne (offline), mais il n'est pas pris en compte dans le flashback.
Flashback Database ne peut pas ramener un fichier de données jusqu'à un point dans le temps
postérieur à sa création et antérieur à une opération de redimensionnement. Si un fichier a été
redimensionné pendant la période sur laquelle vous voulez procéder au flashback de la base,
vous devez mettre ce fichier hors ligne avant de lancer l'opération Flashback Database. Cette
restriction s'applique aux fichiers ayant fait l'objet d'une récupération d'espace, pas aux fichiers
qui ont été étendus. Vous pouvez utiliser Flashback Database avec les fichiers de données
configurés pour l'extension automatique. Un flashback peut remonter juste avant la dernière
opération RESETLOGS si vous indiquez la clause TO BEFORE RESETLOGS dans la commande
FLASHBACK DATABASE.
Remarque : La période cible de conservation des données Flashback ne garantit pas la
disponibilité de ces données au moment voulu. Si de l'espace est nécessaire pour des fichiers
requis dans la zone de récupération rapide, les journaux Flashback peuvent être supprimés
automatiquement.
Il est important de surveiller l'utilisation de l'espace de la zone de récupération rapide pour savoir
si le délai de conservation ciblé est respecté. Pour cela, consultez la vue
V$FLASHBACK_DATABASE_LOG :
• ESTIMATED_FLASHBACK_SIZE utilise les données Flashback journalisées précédemment
pour évaluer l'espace disque requis dans la zone de récupération rapide pour que les
journaux Flashback puissent être conservés pendant la durée demandée. Cette estimation
est basée sur la charge globale observée pendant la plus courte des deux périodes
suivantes : période écoulée depuis le démarrage de l'instance ou période la plus récente
égale à la durée de conservation cible.
• FLASHBACK_SIZE indique (en octets) la taille actuelle des données Flashback.
• OLDEST_FLASHBACK_SCN et OLDEST_FLASHBACK_TIME indiquent approximativement le
SCN et le point dans le temps les plus éloignés jusqu'où la base peut être ramenée par
flashback. La colonne CURRENT_SCN de la vue V$DATABASE indique le SCN actuel de la
base.
Utilisez la vue V$FLASHBACK_DATABASE_STAT pour surveiller la surcharge liée à la
consignation des données Flashback dans les journaux Flashback Database. Cette vue contient
24 heures d'informations, chaque ligne représentant un intervalle d'une heure. Vous pouvez
l'utiliser pour repérer les changements dans le débit de génération des données Flashback.
A l'instar des points de restauration normaux, les points de restauration garantis peuvent être
utilisés en tant qu'alias de SCN dans le cadre d'opérations de récupération. La principale
différence réside dans le fait que les points de restauration garantis sont conservés sans limite de
date dans le fichier de contrôle et doivent être supprimés de façon explicite. Toutefois, ils
fournissent également une fonctionnalité spécifique liée à l'utilisation de la fonctionnalité
Flashback Database.
Lorsque vous créez un point de restauration garanti au niveau d'un SCN spécifique, vous êtes
certain de pouvoir exécuter une opération Flashback Database pour rétablir votre base dans l'état
correspondant à ce SCN, même si la journalisation Flashback n'est pas activée. Si la
journalisation Flashback est activée, la création d'un point de restauration garanti impose la
conservation des journaux Flashback qui sont nécessaires pour effectuer une opération
Flashback Database jusqu'à n'importe quel point dans le temps postérieur à la création du point
de restauration garanti le plus ancien.
Vous pouvez utiliser un point de restauration garanti pour ramener la base de données entière à
un état antérieur correct remontant à plusieurs jours ou à plusieurs semaines dès lors que
l'espace disque disponible dans la zone de récupération rapide est suffisant pour le stockage des
journaux requis. Comme les points de restauration normaux, les points de restauration garantis
peuvent être utilisés pour indiquer le point dans le temps des opérations RECOVER DATABASE.
Remarque : Les limitations qui s'appliquent à Flashback Database s'appliquent également aux
points de restauration garantis. Par exemple, la récupération d'espace dans un fichier de données
ou la suppression d'un tablespace peut empêcher le flashback des fichiers de données affectés
jusqu'au point de restauration garanti.
Pour prendre en charge l'utilisation de points de restauration garantis, la base de données doit
satisfaire aux prérequis suivants :
• La valeur du paramètre d'initialisation COMPATIBLE doit être supérieure ou égale à 10.2.
• La base de données doit être exécutée en mode ARCHIVELOG.
• Pour le rembobinage de la base de données jusqu'à un point de restauration garanti, la
commande FLASHBACK DATABASE a besoin de fichiers de journalisation archivés
(archived redo logs) à compter de l'heure du point de restauration.
• Une zone de récupération rapide doit être configurée car c'est là que le serveur Oracle
Database stocke les journaux requis.
• Si la fonctionnalité Flashback Database n'est pas activée, la base de données doit être
montée, mais non ouverte, lors de la création du premier point de restauration garanti (ou si
tous ceux créés précédemment ont été supprimés).
La journalisation pour la fonctionnalité Flashback Database et les points de restauration garantis
implique la capture d'images des blocs de fichiers de données avant application des
modifications. La commande FLASHBACK DATABASE peut utiliser ces images pour rétablir l'état
antérieur des fichiers de données. Les principales différences entre la journalisation flashback
classique et la journalisation pour les points de restauration garantis portent sur le moment où les
blocs sont consignés et sur le fait que les journaux peuvent ou non être supprimés pour répondre
à un manque d'espace dans la zone de récupération rapide. Ces différences affectent l'utilisation
de l'espace pour les journaux, ainsi que les performances de la base de données.
Pour obtenir de bonnes performances avec Flashback Database dans les bases de données de
production volumineuses, Oracle émet les recommandations suivantes :
• Utilisez un système de fichiers rapide pour la zone de récupération rapide, de préférence
sans mise en mémoire cache des fichiers du système d'exploitation. Les fichiers qui sont
stockés dans la zone de récupération rapide, y compris les journaux Flashback, sont
généralement volumineux. La mise en mémoire cache des fichiers du système d'exploitation
est en principe inefficace. Par ailleurs, elle risque d'augmenter la surcharge de la CPU en
raison des opérations de lecture et d'écriture impliquant ces fichiers. Utilisez un système de
fichiers de type ASM.
• Configurez suffisamment de disques pour le système de fichiers hébergeant la zone de
récupération rapide. Il peut être nécessaire de recourir à plusieurs disques pour fournir le
débit dont le serveur de base de données Oracle a besoin pour écrire efficacement les
journaux Flashback.
• Si le système de stockage utilisé pour héberger la zone de récupération rapide n'est pas
doté d'une mémoire RAM non volatile, essayez de configurer le système de fichiers au-
dessus des volumes de stockage en mode stripe, avec une taille de stripe relativement
petite (par exemple, 128 ko). Cela permet de répartir chaque écriture vers les journaux
Flashback entre plusieurs disques et donc d'améliorer les performances.
• Définissez le paramètre d'initialisation LOG_BUFFER avec une valeur égale ou supérieure à
8 Mo. Cela permet au serveur de base de données Oracle d'allouer une quantité de
mémoire maximale (en général 16 Mo) pour l'écriture dans les journaux Flashback.
Réponse : a
Réponse : a
Pour compléter votre formation, vous pouvez consulter les vidéos relatives à Flashback
qui sont disponibles sur YouTube et OLL.
RMAN permet de transporter des bases de données, des fichiers de données et des tablespaces
entre plates-formes. Il peut s'agir notamment de transférer des tablespaces entre des plates-
formes associées à différents formats endian (ordre des octets). Vous pouvez convertir une base
de données sur l'hôte de destination ou l'hôte d'origine. Pour les plates-formes présentant le
même format endian, aucune conversion n'est requise.
• Le transport de données entre plates-formes peut utiliser des copies d'image ou des jeux de
sauvegarde.
• Vous pouvez également créer des sauvegardes inter-plateformes avec tablespace
incohérent à l'aide de copies d'image et de jeux de sauvegarde. Une sauvegarde est dite
"avec tablespace incohérent" lorsqu'elle est créée alors que le tablespace n'est pas en
lecture seule.
Lorsque vous utilisez des jeux de sauvegarde, vous pouvez choisir des options de compression
et de sauvegarde multisection qui réduisent le temps de transport.
Remarque : RMAN ne catalogue pas les jeux de sauvegarde créés pour le transport inter-
plateformes dans le fichier de contrôle. Cela garantit qu'ils ne seront pas utilisés pour des
opérations classiques de restauration.
Lorsque vous développez une stratégie de transport de base de données, vous devez tenir
compte du format endian des plates-formes et du mode d'ouverture de la base.
• Un transport au niveau base de données nécessite le même format endian sur la source et
la destination et le mode d'ouverture READ ONLY de la base source (ce qui n'est pas
souhaitable pour une base que les utilisateurs ont besoin de mettre à jour fréquemment).
• Les tablespaces et les jeux de sauvegarde peuvent être transportés entre des plates-formes
présentant différents formats endian et en laissant la base de données source en ligne (en
mode READ WRITE).
La diapositive ci-dessus décrit un workflow qui tient compte de ces exigences. Il est d'intérêt
stratégique de réduire au minimum le temps d'indisponibilité de la base de données en effectuant
la majeure partie du travail lorsque celle-ci est ouverte en mode READ WRITE. Ce n'est qu'à
l'étape finale (sauvegarde incrémentielle de petite envergure) que la base de données est en
mode READ ONLY car cela permet d'ouvrir les deux bases dans un état parfaitement cohérent.
Remarque : La note My Oracle Support numéro 1389592.1 fournit des informations sur la
manière d'implémenter ce scénario pour les bases de données Oracle de version 11.2.
La cible
utilise-t-elle le même Non
format endian ?
Convertir les fichiers
de données avec RMAN.
Oui
Pour transporter un tablespace d'une plate-forme source vers une plate-forme cible, il faut d'abord
convertir les fichiers de données du tablespace dans un format compréhensible par la base cible.
Les structures de disque Oracle Database ont généralement un format commun, mais il est
possible que les plates-formes source et cible utilisent des formats endian (ordre des octets selon
leur poids) différents. Lorsque vous passez à une plate-forme présentant un format endian
différent, vous pouvez utiliser la commande CONVERT de l'utilitaire RMAN pour convertir l'ordre
des octets. Cette opération peut être effectuée sur la plate-forme source ou sur la plate-forme
cible. Pour les plates-formes présentant le même format endian, aucune conversion n'est requise.
Le schéma de la diapositive ci-dessus décrit les étapes possibles pour transporter un tablespace
d'une plate-forme source vers une plate-forme cible. Il est aussi possible d'effectuer la conversion
après avoir fourni les fichiers à la plate-forme cible. Les deux dernières étapes doivent être
exécutées sur la plate-forme cible.
Pour l'essentiel, la procédure est la même qu'avec les versions antérieures du serveur de base de
données Oracle, excepté lorsque les deux plates-formes utilisent des formats endian différents. Il
est supposé que les deux plates-formes sont compatibles avec la fonctionnalité de tablespace
transportable.
A l'aide de tablespaces transportables, des fichiers de données Oracle (contenant des données
de table, des index et quasiment tout objet de base de données Oracle) peuvent être directement
transportés d'une base vers une autre. Les tablespaces transportables permettent également de
transporter des métadonnées.
Vous pouvez utiliser la fonctionnalité de tablespace transportable pour déplacer des données
entre différentes plates-formes (avec le même jeu de caractères). Cela permet de simplifier la
distribution des données entre un environnement de data warehouse et des datamarts, lesquels
s'exécutent souvent sur des plates-formes plus restreintes. Cela permet également de migrer une
base de données d'une plate-forme vers une autre, via la reconstruction du dictionnaire et le
transport des tablespaces utilisateur.
Le déplacement de données à l'aide de tablespaces transportables est bien plus rapide que la
réalisation d'un export/import ou d'un déchargement/chargement des mêmes données. En effet,
les fichiers contenant l'ensemble des données réelles sont juste copiés vers l'emplacement de
destination et vous utilisez Data Pump pour transférer uniquement les métadonnées des objets
de tablespace vers la nouvelle base.
Pour pouvoir transporter des fichiers de données d'une plate-forme vers une autre, vous devez
vous assurer que le système source et le système cible s'exécutent sur l'une des plates-formes
prises en charge. Interrogez la vue V$TRANSPORTABLE_PLATFORM pour savoir si le format
endian (ordre des octets) est le même sur les deux plates-formes. La vue V$DATABASE comporte
deux colonnes permettant de déterminer le nom et l'identificateur de votre plate-forme.
Vous utilisez la commande RMAN CONVERT pour convertir un tablespace, un fichier de données
ou une base au format d'une plate-forme de destination afin de préparer le transport entre
différentes plates-formes :
• CONVERT DATAFILE
• CONVERT TABLESPACE
• CONVERT DATABASE
Les fichiers d'entrée ne sont pas modifiés par la commande CONVERT car la conversion n'est pas
effectuée "sur place". RMAN écrit les fichiers convertis vers la destination indiquée.
Lorsque vous utilisez la commande RMAN CONVERT, vous pouvez effectuer la conversion des
données sur la plate-forme source après l'export Data Pump ou sur la plate-forme cible avant
l'import Data Pump. Dans les deux cas, vous devez transférer les fichiers de données du système
source vers le système cible.
Restrictions : La commande CONVERT ne traite pas les types de données utilisateur qui
nécessitent des conversions de format endian. Pour transporter entre différentes bases des objets
qui sont construits sur des types sous-jacents stockant les données dans un format spécifique à
la plate-forme, recourez aux utilitaires d'import et d'export Data Pump.
Pour plus d'informations sur les prérequis, l'utilisation, les restrictions et la syntaxe à prendre en
considération, reportez-vous aux manuels Oracle Database Backup and Recovery Reference et
Oracle Database Administrator’s Guide.
Réponses : b, c
1. Vérifiez les prérequis : La base de données source doit être ouverte en mode de
lecture/écriture.
2. Démarrez une session RMAN et connectez-vous à l'instance cible.
3. Pour transporter des tablespaces entre plates-formes, obtenez le nom exact de la plate-
forme de destination.
4. Placez le tablespace en mode de lecture seule.
5. Sauvegardez le tablespace source en utilisant la commande BACKUP avec la clause TO
PLATFORM ou FOR TRANSPORT pour indiquer le lieu de la conversion. Utilisez la clause
DATAPUMP pour signaler la nécessité d'un fichier dump d'export des métadonnées du
tablespace.
Remarque : La clause ALLOW INCONSISTENT de la commande BACKUP permet de sauvegarder
des tablespaces qui ne sont pas en mode de lecture seule. Même si la sauvegarde est créée,
vous ne pouvez pas ajouter ces tablespaces directement dans la base de données cible parce
qu'ils ne sont pas cohérents. Il vous faudra créer ultérieurement une sauvegarde incrémentielle
de ces tablespaces lorsqu'ils seront en lecture seule. Cette sauvegarde incrémentielle doit
contenir la clause DATAPUMP qui crée un fichier dump d'export des métadonnées des
tablespaces.
Pour pouvoir transporter une base de données, vous devez l'ouvrir en mode READ ONLY. Utilisez
ensuite RMAN pour convertir les fichiers de données requis de la base.
Lorsque vous effectuez la conversion sur la plate-forme source, la commande RMAN CONVERT
DATABASE génère un script qui contient la commande CREATE CONTROLFILE RESETLOGS
correcte utilisée sur le système cible pour créer la nouvelle base de données. La commande
CONVERT DATABASE convertit ensuite tous les fichiers de données identifiés pour qu'ils puissent
être utilisés sur le système cible. Vous transférez alors vers la plate-forme cible les fichiers de
données convertis et le script généré. En exécutant le script sur la plate-forme cible, vous créez
une copie de la base de données.
Pour la conversion sur la plate-forme cible, la commande CONVERT DATABASE (qui est exécutée
sur le système source) génère uniquement deux scripts qui permettent au système cible de
convertir les fichiers de données et de recréer les fichiers de contrôle pour la nouvelle base. Vous
transférez les fichiers de données identifiés et les deux scripts vers la plate-forme cible. Le
premier script utilise la commande RMAN CONVERT DATAFILE pour effectuer la conversion. Le
second script exécute la commande SQL CREATE CONTROLFILE RESETLOGS avec les fichiers
de données convertis pour créer la nouvelle base de données.
Remarque : La base de données source doit être exécutée avec un paramètre d'initialisation
COMPATIBLE de valeur 10.0.0 ou supérieure. Tous les tablespaces identifiés doivent être
passés en mode READ WRITE au moins une fois depuis la définition du paramètre COMPATIBLE
avec la valeur 10.0.0 (ou supérieure).
Fichiers
temporaires Fichiers BFILE
Répertoires
SYSTEM SYSTEM Tables exernes
Fichier de mots
SYSAUX SYSAUX de passe
Fichiers Fichiers
TBS d'annulation TBS d'annulation de de contrôle Fichiers de
journa- sauvegarde
TBS1 TBS1 lisation
… …
SPFILE PFILE
TBSn TBSn
Le schéma présenté dans la diapositive ci-dessus montre comment les différentes parties d'une
base de données sont transportées vers la plate-forme cible ou recréées sur cette plate-forme.
Les informations de journalisation et d'annulation de la base de données source sont supprimées.
Les segments d'annulation contiennent des vecteurs de modification qui ne peuvent actuellement
pas être convertis. C'est pourquoi vous devez arrêter proprement l'instance avant d'ouvrir la base
de données en lecture seule.
Pour garantir que les enregistrements d'annulation sont inaccessibles (pour lecture cohérente ou
flashback) après le transport de la base vers sa plate-forme cible, les en-têtes de ces segments
sont convertis, de sorte que toute tentative d'accès aux enregistrements d'annulation génère une
erreur "ORA-01555 Snapshot too old".
$ sqlplus / as sysdba
5 SQL> @crdb.sql
Cible
Pour transporter une base de données exécutée sous Linux IA (32 bits) vers une plate-forme
Windows et nommer la nouvelle base newdb, procédez comme suit si la conversion des fichiers
de données est effectuée sur la plate-forme source :
1. Ouvrez la base de données source en lecture seule.
2. Exécutez la fonction PL/SQL :
DBMS_TDB.CHECK_DB('Microsoft Windows IA (32 bits)').
Cette procédure vérifie si la base de données peut être transportée vers la plate-forme cible.
3. Exécutez la commande RMAN suivante :
convert database transport script 'crdb.sql' new database 'newdb'
to platform 'Microsoft Windows IA (32 bits)' format '/tmp/%U';
RMAN génère les fichiers de données et un fichier PFILE pour la nouvelle base de
données, ainsi qu'un script appelé crdb.sql dans le répertoire /tmp. Ce script crée une
base de données nommée newdb.
4. Transférez tous les fichiers de données, le fichier PFILE et le script sur la plate-forme cible.
5. Exécutez crdb.sql pour créer la base de données sur la plate-forme cible.
$ sqlplus / as sysdba
5 SQL> host rman target=/
RMAN> @cnvt.sql
6 RMAN> exit;
SQL> @crdb.sql
Procédez comme suit si la conversion des fichiers de données est effectuée sur la plate-forme
cible :
1. Ouvrez la base de données source en lecture seule.
2. Exécutez la fonction PL/SQL suivante :
DBMS_TDB.CHECK_DB('Microsoft Windows IA (32 bits)')
Cette procédure vérifie si la base de données peut être transportée vers la plate-forme cible.
3. Exécutez la commande RMAN suivante :
convert database on target platform convert script 'cnvt.sql'
transport script 'crdb.sql' new database 'newdb' format '/tmp/%U';
RMAN génère les fichiers de données et un fichier PFILE pour la nouvelle base de
données, ainsi qu'un script appelé cnvt.sql pour convertir les fichiers de données sur la
plate-forme cible et un script appelé crdb.sql pour créer la nouvelle base newdb sur la
plate-forme cible. Il est inutile d'indiquer le nom de la plate-forme cible car la commande
insère le nom de la plate-forme source dans le script cnvt.sql. Ce script contient la
commande RMAN suivante :
convert datafile <list of data files> from platform 'Linux IA (32-
bit)';
4. Transférez tous les fichiers de données, le fichier PFILE et les scripts vers la plate-forme
cible.
5. Exécutez le script cnvt.sql dans RMAN pour convertir les fichiers de données sur
la plate-forme cible.
6. Exécutez crdb.sql pour créer une base de données sur la plate-forme cible.
Les fichiers de journalisation (redo logs), les fichiers de contrôle et les fichiers temporaires ne
sont pas transportés. Ils sont recréés pour la nouvelle base de données, sur la plate-forme cible.
Par conséquent, la nouvelle base de la plate-forme cible doit être ouverte avec l'option
RESETLOGS.
Si un fichier de mots de passe est utilisé, il n'est pas transporté et vous devez le créer sur la
plate-forme cible. En effet, les types de nom de fichier autorisés pour le fichier de mots de passe
sont propres au système d'exploitation. Le résultat de la commande CONVERT DATABASE
répertorie tous les noms utilisateur et leurs privilèges système. Il conseille de recréer le fichier de
mots de passe et d'ajouter des entrées pour ces utilisateurs sur la plate-forme cible.
La commande CONVERT DATABASE permet de répertorier tous les objets répertoire et tous les
objets qui utilisent des types de données BFILE ou des tables externes dans la base source.
Vous pouvez être amené à mettre à jour ces objets avec les nouveaux noms de répertoire et de
fichier. Si des types BFILEs sont utilisés dans la base de données, vous devez les transporter.
Le fichier PFILE généré et le script de transport utilisent Oracle Managed Files (OMF) pour les
fichiers de base de données. Si vous ne souhaitez pas utiliser OMF, vous devez modifier le fichier
PFILE et le script de transport.
La base de données transportée a le même DBID que la base source. Vous pouvez faire appel à
l'utilitaire DBNEWID pour le modifier. Dans le script de transport et dans le résultat de la
commande CONVERT DATABASE, vous êtes invité à vous servir de l'utilitaire DBNEWID pour
modifier l'ID de la base de données.
1. Vérifiez les prérequis (la base de données source doit être ouverte en lecture seule si vous
la transportez en totalité).
2. Démarrez une session RMAN et connectez-vous à l'instance cible.
3. Pour transporter la base d'une plate-forme à une autre, vous aurez besoin du nom exact de
la plate-forme de destination :
SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM
WHERE UPPER(PLATFORM_NAME) LIKE '%LINUX%';
4. Sauvegardez la base de données source en utilisant la commande BACKUP avec l'option TO
PLATFORM ou FOR TRANSPORT. La clause FORMAT indique le répertoire de l'hôte source où
se trouvent les jeux de sauvegarde qui contiennent les données nécessaires au transport de
la base entre plates-formes.
Dans le premier exemple de la diapositive, la conversion a lieu sur l'hôte source et les
fichiers stockés dans le répertoire /bk sont déjà convertis pour la plate-forme UNIX HP
Tru64.
Dans le second exemple, la conversion s'effectue sur l'hôte de destination, pendant
l'exécution de la commande de restauration, et les fichiers situés dans le répertoire /bk sur
l'hôte source ne sont pas encore convertis.
Pour utiliser des tablespaces incohérents dans un workflow tel que celui décrit dans les pages
précédentes :
• Créez une sauvegarde incrémentielle autorisant les tablespaces incohérent à l'aide de la
clause ALLOW INCONSISTENT :
BACKUP INCREMENTAL FROM SCN=2720649 FOR TRANSPORT
ALLOW INCONSISTENT FORMAT '/u01/backup/inc1.bkp' TABLESPACE
users;
• Restaurez la sauvegarde inter-plateformes incohérente à l'aide de la commande RESTORE
FOREIGN TABLESPACE.
• Procédez à la récupération des fichiers de données restaurés à l'aide de sauvegardes
incrémentielles inter-plateformes en utilisant la commande RECOVER FOREIGN
DATAFILECOPY.
Remarque : La clause ALLOW INCONSISTENT permet de sauvegarder des tablespaces qui ne
sont pas en mode de lecture seule. Même si la sauvegarde est créée, vous ne pouvez pas ajouter
ces tablespaces directement dans la base de données cible parce qu'ils ne sont pas cohérents. Il
vous faudra créer ultérieurement une sauvegarde incrémentielle de ces tablespaces lorsqu'ils
seront en lecture seule. Cette sauvegarde incrémentielle doit contenir la clause DATAPUMP qui
crée un fichier dump d'export des métadonnées des tablespaces.
Réponses : a, c, d
Réponse : b
Cet exercice montre comment effectuer un transport de tablespace entre plates-formes (bien que
l'environnement des exercices comprenne un seul hôte et une seule plate-forme).
Les démonstrations du produit illustrent le transfert entre plates-formes.
Avantages :
• Récupération rapide d'un ou de plusieurs objets dans
un état antérieur
• Aucun impact sur les autres objets
Portée :
• Récupération de table (TPITR)
• Récupération de tablespace (TSPITR)
• Récupération de base de données (DBPITR)
L'un des avantages de la récupération jusqu'à un point dans le temps (PITR, Point-In-Time
Recovery) est qu'elle permet de récupérer un ou plusieurs objets (des tablespaces, par exemple)
dans un état antérieur sans affecter l'état des autres objets de la base de données.
A partir de la version Oracle Database 12c, elle offre trois niveaux différents (portées) :
• Récupération de table (TPITR), pour récupérer une ou plusieurs tables ou partitions de table
jusqu'à un point antérieur
• Récupération de tablespace (TSPITR), pour récupérer un ou plusieurs tablespaces jusqu'à
un point antérieur
• Récupération de base de données (DBPITR), pour migrer une base de données vers une
autre plate-forme : vous créez une nouvelle base sur la plate-forme de destination, puis
procédez au transport de tous les tablespaces utilisateur, à l'exclusion du tablespace
SYSTEM
La terminologie suivante est utilisée pour traiter de la récupération jusqu'à un point dans le temps
(PITR) :
• Point cible : Point dans le temps ou numéro SCN (System Change Number) jusqu'auquel
l'objet va être récupéré.
• Ensemble (ou jeu) de récupération : Dans le cas d'une opération TSPITR, par exemple, il
s'agit des fichiers de données composant les tablespaces à récupérer.
• Ensemble (ou jeu) auxiliaire : Fichiers de données requis (pour les métadonnées et les
dépendances) qui ne figurent pas dans l'ensemble de récupération. Cet ensemble inclut
généralement les éléments suivants :
- Copie du tablespace SYSTEM
- Fichiers de données contenant des segments d'annulation de type undo issus
de l'instance cible
- Dans certains cas, un tablespace temporaire, utilisé lors de l'exportation d'objets de
base de données à partir de l'instance auxiliaire
• Destination auxiliaire : Emplacement sur disque qui peut être utilisé pour stocker n'importe
quel fichier de données de l'ensemble auxiliaire, fichier de contrôle ou journal en ligne de
l'instance auxiliaire pendant l'exécution de l'opération PITR. Les fichiers stockés dans la
destination auxiliaire peuvent être supprimés une fois l'opération PITR terminée.
RMAN 1
6
Fichier de
Instance auxiliaire
contrôle 3
Sauvegardes
4 Restauration
de fichiers
Restauration
de données 5
2
Récupération
Fichiers de
journalisation Tablespace récupéré
Base cible archivés
RMAN
9
Import de métadonnées
Fichier de 10
contrôle
Fichier
Instance d'export
Tablespace auxiliaire
Base cible récupéré
8 7
Export de
Pointage sur le tablespace récupéré métadonnées
Avant d'effectuer une récupération jusqu'à un point dans le temps (PITR, Point-In-Time
Recovery), il convient de définir le point cible de cette récupération. Vous devez déterminer si
vous avez besoin de tablespaces supplémentaires dans l'ensemble de récupération. Vous devez
également identifier les objets qui seront perdus suite à l'opération PITR et, s'il y a lieu, faire le
nécessaire pour conserver ces objets.
Toutes ces étapes sont décrites en détail dans la suite du chapitre.
Pour une récupération de tablespace jusqu'à un point dans le temps (TSPITR), il est très
important de choisir le point cible ou le SCN approprié. En effet, une fois que vous avez réalisé
une opération TSPITR et mis un tablespace en ligne, vous ne pouvez plus utiliser de sauvegarde
antérieure. En pratique, cela signifie que vous ne pouvez pas effectuer une deuxième tentative
d'opération TSPITR si vous choisissez un point cible incorrect la première fois, sauf si vous
utilisez un catalogue de restauration. Dans ce cas, vous pouvez effectuer des opérations TSPITR
répétées avec différents points cible.
Si vous n'utilisez pas de catalogue de restauration, le fichier de contrôle en cours ne contient
aucun enregistrement d'une incarnation antérieure du tablespace récupéré. Une récupération qui
s'appuie sur un fichier de contrôle impliquant ce tablespace ne peut pas utiliser une sauvegarde
effectuée avant la mise en ligne du tablespace. Toutefois, vous pouvez effectuer une récupération
incomplète de l'ensemble de la base jusqu'à n'importe quel moment antérieur ou égal à la mise
en ligne du tablespace si vous êtes en mesure de restaurer un fichier de contrôle de sauvegarde
antérieur à ce moment.
Vous pouvez utiliser Oracle Flashback Query, Oracle Flashback Transaction Query et Oracle
Flashback Version Query pour identifier les modifications apportées à la base et pour vous aider
à déterminer le point cible approprié pour l'opération TSPITR.
Remarque : Si vous disposez de données d'annulation (undo), il est généralement plus simple de
recourir aux outils Flashback pour annuler une modification non souhaitée.
DBMS_TTS.TRANSPORT_SET_CHECK ('USERS,EXAMPLE');
SELECT * FROM TRANSPORT_SET_VIOLATIONS;
Pour identifier les relations entre objets qui dépassent les frontières de l'ensemble de
récupération, utilisez la procédure DBMS_TTS.TRANSPORT_SET_CHECK et interrogez la vue
TRANSPORT_SET_VIOLATIONS.
Remarque : La fonctionnalité TSPITR de RMAN exécute automatiquement la procédure
DBMS_TTS.TRANSPORT_SET_CHECK pour les tablespaces de l'ensemble de récupération et
vérifie que l'interrogation de la vue TRANSPORT_SET_VIOLATIONS ne renvoie aucune ligne. Si
des lignes sont renvoyées, RMAN arrête le traitement TSPITR et toute violation d'autonomie des
tablespaces doit être résolue pour poursuivre l'opération de récupération. Vous pouvez exécuter
cette procédure et cette interrogation comme indiqué dans la diapositive par mesure de
précaution.
Différents types de récupération de tablespace jusqu'à un point dans le temps (TSPITR) sont à
votre disposition :
• Opération TSPITR entièrement automatisée : Vous indiquez la destination auxiliaire,
après quoi RMAN gère tous les aspects de l'opération. Il s'agit de la méthode la plus simple.
Il est recommandé de l'utiliser, sauf si vous souhaitez contrôler davantage l'emplacement
des fichiers de l'ensemble de récupération après l'opération TSPITR ou l'emplacement de
l'ensemble auxiliaire pendant l'opération, ou encore si vous voulez contrôler la configuration
des canaux ou un autre aspect de l'instance auxiliaire.
• Opération TSPITR personnalisée avec instance auxiliaire automatique : Cette
opération repose sur une opération TSPITR entièrement automatisée, utilisant
éventuellement une destination auxiliaire. Vous pouvez personnaliser un ou plusieurs
aspects du comportement, par exemple l'emplacement des fichiers de l'ensemble de
récupération ou de l'ensemble auxiliaire. Vous pouvez indiquer des paramètres
d'initialisation ou des configurations de canaux pour l'instance auxiliaire créée et gérée par
RMAN.
• Opération TSPITR utilisant votre propre instance auxiliaire : Vous configurez, démarrez,
arrêtez et nettoyez l'instance auxiliaire utilisée pour l'opération TSPITR. En outre, vous
pouvez gérer le processus TSPITR grâce à certaines des méthodes disponibles dans
l'opération TSPITR personnalisée avec une instance auxiliaire automatique.
En plus des préparatifs décrits précédemment dans ce chapitre, vous devez effectuer les
opérations suivantes lorsque vous effectuez une récupération de tablespace jusqu'à un point
dans le temps (TSPITR) entièrement automatisée :
• Configurer les canaux requis pour l'opération TSPITR dans l'instance cible
• Indiquer la destination que RMAN doit utiliser pour l'ensemble auxiliaire de fichiers de
données et les autres fichiers de l'instance auxiliaire
Une fois l'opération TSPITR terminée, sauvegardez les tablespaces récupérés et mettez-les en
ligne (online). Vous ne pouvez alors plus utiliser les sauvegardes des tablespaces impliqués dans
l'opération TSPITR qui ont été effectuées avant cette opération.
Remarque : Ce format de date et d'heure suppose que NLS_DATE_FORMAT ait la valeur 'yyyy-
mm-dd:hh24:mi:ss' et que NLS_LANG ait la valeur AMERICAN_AMERICA.WE8MSWIN1252.
Pour personnaliser une récupération de tablespace jusqu'à un point dans le temps (TSPITR),
vous pouvez utiliser une instance auxiliaire gérée par RMAN et effectuer les modifications
suivantes :
• Renommez les fichiers de données de l'ensemble de récupération à l'aide de SET NEWNAME
afin qu'ils ne soient pas restaurés et récupérés à leur emplacement d'origine.
• Contrôlez l'emplacement des fichiers de données de l'ensemble auxiliaire. Pour ce faire,
attribuez des noms nouveaux aux différents fichiers avec la commande SET NEWNAME et
utilisez DB_FILE_NAME_CONVERT pour fournir des règles de conversion des noms de
fichier de données de la base cible en noms de fichier de données de la base auxiliaire.
• Utilisez des copies d'image existantes pour les fichiers de données de l'ensemble de
récupération et de l'ensemble auxiliaire sur disque au lieu de restaurer ces fichiers à partir
d'une sauvegarde ; les performances de l'opération RMAN TSPITR seront ainsi accrues.
Remarque : Pour plus d'informations, reportez-vous au manuel Oracle Database Backup and
Recovery User’s Guide.
Réponses : a, c, d
Dans Oracle Database 12c et les versions supérieures, RMAN vous permet de récupérer une ou
plusieurs tables ou partitions de table jusqu'à un point spécifique dans le temps sans affecter les
autres objets de la base de données. La récupération de tables et de partitions isolées peut être
utile dans les cas suivants :
• Vous devez récupérer un très petit nombre de tables telles qu'elles étaient à un instant
donné. Une opération TSPITR ne serait pas très efficace dans cette situation car elle
amènerait tous les objets du tablespace jusqu'au point indiqué.
• Vous devez récupérer un tablespace qui n'est pas autonome tel qu'il était à un instant
donné. L'opération TSPITR ne peut être utilisée que sur un tablespace autonome.
• Vous devez récupérer des tables qui ont été endommagées ou supprimées par l'option
PURGE, de sorte que vous ne pouvez pas faire appel à la fonctionnalité Flashback Drop.
• Vous avez activé la journalisation pour une opération Flashback Table, mais le moment ou
SCN cible du flashback est situé au-delà des informations d'annulation (undo) disponibles.
• Vous souhaitez récupérer des données qui ont été perdues après une opération DDL (Data
Definition Language) qui a modifié la structure des tables. Vous ne pouvez pas recourir à
Flashback Table pour "rembobiner" une table jusqu'à un point antérieur à une modification
structurelle (vidage d'une table, par exemple).
Nom ?
1 Temps ? 2 3
Import ?
Prérequis vérifiés
4
COMPATIBLE=12.0
(ou valeur supérieure)
Mode ARCHIVELOG
Mode d'ouverture READ WRITE
Base de données Données de Instance auxiliaire
cible sauvegarde
6
5
Fichier
dump
1. RMAN utilise les sauvegardes créées précédemment pour récupérer des tables et des
partitions de table jusqu'à un point spécifique dans le temps. Les conditions requises sont
satisfaites et vous fournissez les informations d'entrée suivantes dans la commande
RECOVER :
- Noms des tables ou partitions à récupérer
- Point dans le temps jusqu'où vous voulez récupérer ces tables ou partitions
- Nécessité éventuelle d'importer les tables ou partitions récupérées dans la base de
données cible
RMAN utilise ces informations pour automatiser le processus de récupération des
-
éléments indiqués
2. RMAN détermine la sauvegarde à utiliser en fonction de vos indications.
3. RMAN crée une instance auxiliaire.
4. RMAN récupère dans l'instance auxiliaire les tables ou partitions voulues, jusqu'au point
voulu dans le temps.
5. RMAN crée un fichier dump d'export Data Pump qui contient les objets récupérés.
6. RMAN importe les objets récupérés dans la base de données cible.
Il est possible de personnaliser ce processus comme expliqué dans les diapositives qui suivent.
La diapositive ci-dessus énumère les conditions requises et les restrictions qui s'appliquent à la
récupération de tables à partir de sauvegardes.
L'objectif d'une récupération de table est bien sûr que la table existe dans l'état où elle était à un
point antérieur dans le temps. Il peut en résulter des problèmes de cohérence.
• RMAN récupère les tables ou les partitions de table dans l'état où elles se trouvaient au
moment défini par le numéro SCN (System Change Number). Le SCN est une limite
supérieure non inclusive.
• RMAN récupère les tables ou les partitions de table telles qu'elles étaient à la date et à
l'heure indiquées. Utilisez le format de date défini dans les variables d'environnement
NLS_LANG et NLS_DATE_FORMAT. Vous pouvez également utiliser des constantes de date
telles que SYSDATE. (SYSDATE – 5 veut dire 5 jours avant la date système.)
• RMAN récupère les tables ou les partitions de table dans l'état où elles se trouvaient au
moment défini par le numéro de séquence de journal et le numéro de thread. RMAN ne
sélectionne que les fichiers qu'il peut utiliser pour restaurer ou récupérer les données
jusqu'au numéro de séquence indiqué, ce numéro n'étant pas inclus.
1. Après avoir vérifié que les conditions requises sont remplies, démarrez une session RMAN
et connectez-vous à l'instance cible.
2. Entrez la commande RECOVER TABLE avec les clauses nécessaires.
3. RMAN détermine quelle sauvegarde contient les données à récupérer en fonction du point
de récupération que vous avez indiqué.
4. RMAN crée une instance auxiliaire. Vous pouvez éventuellement préciser l'emplacement
des fichiers de l'instance auxiliaire à l'aide de la clause AUXILIARY DESTINATION ou SET
NEWNAME de la commande RECOVER. La clause recommandée est AUXILIARY
DESTINATION. En effet, si vous utilisez SET NEWNAME et oubliez un seul nom de fichier de
données, la récupération n'aura pas lieu.
5. RMAN récupère dans l'instance auxiliaire les tables ou les partitions de table indiquées
jusqu'au point dans le temps que vous avez défini.
6. RMAN crée un fichier dump d'export Data Pump qui contient les objets récupérés. Vous
pouvez éventuellement préciser le nom du fichier dump d'export (à l'aide de la clause DUMP
FILE et d'un nom par défaut propre au système d'exploitation) à utiliser pour stocker les
métadonnées issues de la base source. Vous pouvez également indiquer l'emplacement où
ce fichier est créé à l'aide de la clause DATAPUMP DESTINATION. Il s'agit généralement du
chemin du répertoire du système d'exploitation qui stocke le fichier dump. En l'absence de
cette indication, le fichier dump est créé à l'emplacement défini par AUXILIARY
DESTINATION. Si cette dernière clause n'est pas définie, le fichier dump est créé dans un
emplacement par défaut propre au système d'exploitation.
7. Par défaut, RMAN importe dans la base de données cible les objets récupérés qui sont
stockés dans le fichier dump d'export. Vous pouvez toutefois choisir de ne pas importer ces
objets en utilisant la clause NOTABLEIMPORT de la commande RESTORE.
Si telle est votre décision, RMAN récupère les tables ou les partitions de table jusqu'au point
défini, puis crée le fichier dump d'export mais ne l'importe pas dans la base cible. Dans ce
cas, vous devez procéder manuellement à cet import au moment voulu à l'aide de l'utilitaire
Data Pump.
8. RMAN offre la possibilité de renommer les tables ou partitions récupérées dans la base de
données cible au moyen de l'option REMAP TABLE.
- Si une table existe déjà et que l'option REMAP n'est pas précisée, la récupération de
cette table génère une erreur.
- Si l'option REMAP est incluse, les index et les contraintes ne sont pas importés. Vous
devez créer manuellement les objets dépendants.
Pour importer les objets récupérés dans un tablespace différent de celui où ces objets
résidaient à l'origine, utilisez la clause REMAP TABLESPACE de la commande RECOVER.
Seules les tables ou partitions qui ont été récupérées sont remappées ; les objets existants
ne sont pas affectés.
Réponse : a
Cet exercice met en oeuvre une fonctionnalité introduite par Oracle Database 12c, à savoir la
récupération d'une table à partir d'une sauvegarde à l'aide d'une instance auxiliaire gérée
automatiquement par RMAN.
Vous avez la possibilité de consulter des vidéos à ce sujet sur OLL et YouTube.
Une base de données dupliquée est une copie de la base de données cible. Avec la clause FOR
STANDBY, l'identificateur unique de la base (DBID) est conservé ; si cette clause n'est pas
indiquée, un nouveau DBID est créé. Vous pouvez exploiter la base dupliquée indépendamment
de la base cible pour effectuer les tâches suivantes :
• Tester les procédures de sauvegarde et de récupération.
• Récupérer des objets qui ont été supprimés par inadvertance de la base cible, en créant un
export contenant ces objets dans la base de données dupliquée puis en important les objets
dans la base de production. Néanmoins, vous constaterez probablement qu'il existe des
solutions plus simples et plus rapides pour récupérer des objets, notamment Flashback
Query, Flashback Drop, Flashback Table et la récupération de table à partir d'une
sauvegarde.
Pour créer une base de données dupliquée, vous pouvez utiliser la commande RMAN
DUPLICATE.
• La base dupliquée peut avoir le même contenu que la base source ou seulement un sous-
ensemble. Les deux bases peuvent résider sur le même hôte ou sur des hôtes distincts.
• La plus grande partie du travail de duplication est effectuée par les canaux auxiliaires. Pour
la duplication à partir de sauvegardes, ces canaux correspondent à une session serveur sur
l'instance auxiliaire de l'hôte cible.
• Dans le cas d'une duplication de base active, les canaux cible sont chargés de pousser les
copies des fichiers de données vers l'instance auxiliaire (si les canaux cible sont alloués en
plus grand nombre que les canaux auxiliaires).
Vous pouvez dupliquer une base de données source vers une base cible située sur le même
ordinateur ou sur une autre machine. L'instance de base de données associée à la base
dupliquée est appelée instance auxiliaire. Toutes les techniques de duplication nécessitent une
connexion à cette instance. Le diagramme de la diapositive présente les techniques de
duplication suivantes :
• A partir d'une base de données active, avec une connexion à l'instance cible et à l'instance
auxiliaire :
- A partir de la version Oracle Database 12c, un processus de "traction" (restauration)
basé sur des jeux de sauvegarde.
- Avant la version Oracle Database 12c, un processus de "poussée" basé sur des
copies d'image.
• A partir d'une sauvegarde, avec une connexion à l'instance cible et à l'instance auxiliaire.
• A partir d'une sauvegarde, avec une connexion à l'instance auxiliaire mais pas à l'instance
cible, et avec une connexion au catalogue de restauration.
• A partir d'une sauvegarde, avec une connexion à l'instance auxiliaire mais pas à l'instance
cible ni au catalogue de restauration.
Vous pouvez dupliquer des bases de données à l'aide de la ligne de commande RMAN ou de
Cloud Control.
Connexion à
Connexion l'instance
Base de à la cible auxiliaire Base de
données données
source dupliquée
Le processus de "traction" (ou restauration) fonctionne de la manière suivante : Tout d'abord, une
connexion est établie avec la base de données source. L'instance auxiliaire extrait ensuite les
fichiers de base de données requis à partir de la base source sous la forme de jeux de
sauvegarde. Une opération de restauration est effectuée à partir de l'instance auxiliaire. Par
conséquent, moins de ressources sont utilisées dans la base source. Les deux connexions TNS
sont requises sur les instances cible et auxiliaire.
En fonction des clauses de la commande DUPLICATE, RMAN détermine dynamiquement quel
processus utiliser (poussée ou traction). Cela garantit que les scripts personnalisés existants
continuent de fonctionner.
• Lorsque vous indiquez la clause USING BACKUPSET, RMAN utilise la méthode par traction.
• Lorsque vous indiquez SET ENCRYPTION avant la commande DUPLICATE, RMAN utilise
automatiquement la méthode par traction et crée des jeux de sauvegarde. Les sauvegardes
envoyées vers la base de destination sont cryptées.
• La clause SECTION SIZE divise les fichiers de données en sous-sections qui sont
restaurées en parallèle sur plusieurs canaux dans la base auxiliaire. Pour une meilleure
exploitation du parallélisme, allouez davantage de canaux AUXILIARY.
• Avec la clause USING COMPRESSED BACKUPSET, les fichiers sont transférés en tant que
jeux de sauvegarde compressés. RMAN utilise la compression des blocs inutilisés lors de la
création des sauvegardes, ce qui réduit la taille de ces dernières et optimise leur transport
sur le réseau.
Connexion
Connexion à l'instance
Base de à la cible auxiliaire Base de
données données
source dupliquée
Lorsque vous dupliquez une base de données avec une connexion à la base de données cible,
RMAN peut obtenir les métadonnées relatives aux sauvegardes à partir du fichier de contrôle de
la base de données cible ou à partir du catalogue de restauration.
Le diagramme de la diapositive illustre la duplication à partir de sauvegardes avec une connexion
à la cible. RMAN se connecte à l'instance de base de données source et à l'instance auxiliaire.
RMAN peut aussi se connecter à la base de données du catalogue de restauration (non
représentée dans le graphique). L'hôte de destination doit avoir accès aux sauvegardes RMAN
qui sont nécessaires pour créer la base dupliquée.
Connexion
à l'instance
Connexion auxiliaire
Base de données au catalogue Base de
du catalogue données
de restauration dupliquée
Hôte du Hôte de
catalogue de destination
restauration Client RMAN
Lorsque vous dupliquez une base de données sans connexion à celle-ci mais avec une
connexion au catalogue de restauration, RMAN utilise ce dernier pour obtenir les métadonnées
relatives aux sauvegardes.
Le diagramme de la diapositive illustre la duplication à partir de sauvegardes sans connexion à la
cible. RMAN se connecte à l'instance de base de données du catalogue de restauration et à
l'instance auxiliaire. L'hôte de destination doit avoir accès aux sauvegardes RMAN qui sont
nécessaires pour créer la base dupliquée.
Instance
auxiliaire
Emplacement
des sauvegardes
Base de
données
dupliquée
Connexion
à l'instance
auxiliaire Hôte de
destination
Client RMAN
Lorsque vous dupliquez une base de données sans connexion à celle-ci et sans connexion au
catalogue de restauration, RMAN utilise l'emplacement BACKUP LOCATION où sont stockées les
sauvegardes et les copies nécessaires.
Le diagramme de la diapositive illustre la duplication à partir de sauvegardes sans connexion à la
cible ni au catalogue de restauration. L'hôte de destination doit disposer d'un emplacement sur
disque contenant toutes les sauvegardes ou copies nécessaires à la duplication.
Il est important de bien comprendre les étapes élémentaires décrites ci-après ainsi que le
processus RMAN de duplication de base de données.
Si vous utilisez l'interface Enterprise Manager, la plupart de ces étapes sont réalisées par les
assistants. En revanche, si vous créez la base dupliquée à partir de la ligne de commande, vous
devez effectuer les différentes opérations manuellement. Vous pouvez utiliser l'interface EM
comme outil de modélisation et créer votre propre processus de duplication de base de données
à partir du journal généré.
Les principales étapes permettant de créer une base de données dupliquée sont présentées sur
la diapositive. Certaines de ces étapes sont décrites plus en détail dans la suite du chapitre.
Vous devez créer un fichier de paramètres d'initialisation au format texte pour l'instance auxiliaire.
Ce fichier doit résider sur le même hôte que le client RMAN utilisé pour exécuter la commande
DUPLICATE.
Notez les indications ci-après pour définir chaque paramètre :
• DB_NAME : Si la base dupliquée réside dans le même répertoire Oracle Home que la base
cible, vous devez attribuer à DB_NAME un nom différent de celui de la base cible. Si les deux
bases figurent dans des répertoires d'origine Oracle Home différents, vous devez vérifier
que le nom de la base dupliquée n'est pas identique à un autre nom existant dans le même
répertoire. Veillez à utiliser le nom de base de données affecté à ce paramètre lorsque vous
exécutez la commande DUPLICATE.
• CONTROL_FILES : Ce paramètre est requis lorsque vous n'utilisez pas l'option SET
NEWNAME et Oracle Managed Files (OMF).
Remarque : Vérifiez tous les paramètres d'initialisation qui indiquent des chemins d'accès.
Assurez-vous que les chemins indiqués sont accessibles sur l'hôte de la base de données
dupliquée.
Techniques disponibles :
• Commande SET NEWNAME
• commande CONFIGURE AUXNAME (en phase d'abandon
pour les fichiers de données des ensembles de
récupération)
• Paramètre DB_FILE_NAME_CONVERT avec la commande
DUPLICATE
Vous pouvez utiliser les techniques suivantes pour indiquer de nouveaux noms pour les fichiers
de données :
• Incluez la commande SET NEWNAME FOR DATAFILE à l'intérieur d'un bloc RUN pour indiquer
les nouveaux noms des fichiers de données.
• Utilisez la commande CONFIGURE AUXNAME.
CONFIGURE AUXNAME est une alternative à SET NEWNAME. La différence entre les deux est
que la configuration définie par la première est réutilisée par les commandes DUPLICATE
ultérieures. A l'opposé, vous devez exécuter SET NEWNAME chaque fois que vous utilisez
DUPLICATE.
Remarque : SET NEWNAME remplace CONFIGURE AUXNAME pour les fichiers
de données des ensembles de récupération.
• Indiquez le paramètre DB_FILE_NAME_CONVERT avec la commande DUPLICATE.
Vous pouvez utiliser SET NEWNAME pour définir le format de nom par défaut de tous les fichiers de données
d'un tablespace nommé et tous les fichiers de données de la base.
L'ordre de priorité associé à la commande SET NEWNAME est le suivant :
1. SET NEWNAME FOR DATAFILE et SET NEWNAME FOR TEMPFILE
2. SET NEWNAME FOR TABLESPACE
3. SET NEWNAME FOR DATABASE
Exemple :
RUN
{
SET NEWNAME FOR DATABASE TO '/u01/app/oracle/oradata/dupldb/%b';
DUPLICATE TARGET DATABASE TO dupldb
LOGFILE
GROUP 1 ('/u01/app/oracle/oradata/dupldb/redo01a.log',
'/u01/app/oracle/oradata/dupldb/redo01b.log') SIZE 50M REUSE,
GROUP 2 ('/u01/app/oracle/oradata/dupldb/redo02a.log',
'/u01/app/oracle/oradata/dupldb/redo02b.log') SIZE 50M REUSE,
GROUP 3 ('/u01/app/oracle/oradata/dupldb/redo03a.log',
'/u01/app/oracle/oradata/dupldb/redo03b.log') SIZE 50M REUSE;
}
Elément Description
de
syntaxe
%b Définit le nom de fichier sans le chemin d'accès
Lorsque vous exécutez SET NEWNAME FOR DATABASE ou SET NEWNAME FOR TABLESPACE, vous
devez indiquer des variables de substitution dans la clause TO <filename> pour éviter les
collisions de noms. Indiquez au moins une des variables de substitution suivantes : %b, %f et %U.
%I et %N sont des variables facultatives.
RMAN génère des noms pour les fichiers de base de données requis lorsque vous exécutez la
commande DUPLICATE. Vous pouvez contrôler les noms des fichiers en définissant les
paramètres suivants dans le fichier de paramètres d'initialisation de l'instance auxiliaire :
• CONTROL_FILES : Ce paramètre permet d'indiquer les noms des fichiers de contrôle. Si
vous ne définissez pas les noms via ce paramètre, le serveur Oracle crée un fichier de
contrôle OMF (Oracle Managed File) dans une destination par défaut. Pour obtenir des
informations plus précises, reportez-vous à la description de la commande SQL CREATE
CONTROLFILE dans le manuel de référence SQL.
• DB_FILE_NAME_CONVERT : Ce paramètre permet d'indiquer le nom des fichiers de
données pour la base auxiliaire. Il présente le format DB_FILE_NAME_CONVERT =
'string1', 'string2', où string1 est le modèle de nom de fichier dans la base cible
et string2 est le modèle pour la base auxiliaire. Vous pouvez également indiquer le
paramètre DB_FILE_NAME_CONVERT en tant qu'option de la commande DUPLICATE
DATABASE.
• LOG_FILE_NAME_CONVERT : Ce paramètre permet d'indiquer les noms des fichiers de
journalisation (fichiers redo log) pour la base de données auxiliaire. Il présente le format
LOG_FILE_NAME_CONVERT = 'string1', 'string2', oùstring1 est le modèle de
nom de fichier dans la base cible et string2 est le modèle pour la base auxiliaire. Vous
pouvez aussi utiliser la clause LOGFILE de la commande DUPLICATE DATABASE pour
indiquer les noms des fichiers de journalisation.
File created.
Après avoir créé le fichier de paramètres d'initialisation au format texte, appelez SQL*Plus pour
démarrer l'instance auxiliaire en mode NOMOUNT.
RMAN crée un fichier de paramètres serveur (SPFILE) par défaut pour l'instance auxiliaire si les
conditions suivantes sont remplies :
• La duplication n'implique pas de base de données de secours.
• Les fichiers de paramètres serveur ne sont pas dupliqués.
• L'instance auxiliaire n'est pas démarrée avec un fichier de paramètres serveur.
Si ces conditions ne sont pas remplies, créez un fichier de paramètres serveur à partir du fichier
de paramètres d'initialisation. Vous pouvez exécuter CREATE SPFILE avant ou après le
démarrage de l'instance.
Les sauvegardes nécessaires à la restauration des fichiers de données doivent être accessibles
sur l'hôte de duplication. Il n'est pas nécessaire de disposer d'une sauvegarde de l'ensemble de
la base cible. Pendant le processus de duplication, RMAN peut, en effet, utiliser une combinaison
de sauvegardes complètes et de sauvegardes incrémentielles pour les différents fichiers de
données.
Les fichiers de journalisation archivés (archived redo logs) nécessaires pour récupérer la base
dupliquée jusqu'au point dans le temps souhaité doivent également être accessibles. Ces fichiers
peuvent être des sauvegardes, des copies d'image ou les fichiers de journalisation archivés eux-
mêmes. Les sauvegardes ou les copies peuvent être transférées vers le disque local du noeud de
la base dupliquée ou montées sur un réseau via NFS (Network File System), par exemple.
Lorsque vous exécutez la commande DUPLICATE, RMAN effectue les opérations indiquées dans
la diapositive.
1A. RMAN crée un fichier de paramètres serveur (SPFILE) par défaut pour l'instance auxiliaire
si les conditions suivantes sont remplies :
- La duplication n'implique pas de base de données de secours.
- Les fichiers de paramètres serveur ne sont pas dupliqués.
- L'instance auxiliaire n'est pas démarrée avec un fichier de paramètres serveur.
1B. RMAN effectue une restauration des sauvegardes : toujours pour la base de secours et pour
la duplication à partir de sauvegardes sans connexion à la cible.
2. RMAN monte la sauvegarde de fichier de contrôle restaurée ou copiée à partir de la base de
données active.
3. Pour la duplication basée sur des sauvegardes : RMAN sélectionne dans son référentiel les
sauvegardes à utiliser pour restaurer les fichiers de données sur l'instance auxiliaire.
4. RMAN restaure les fichiers de données à dupliquer et les copie.
5. RMAN effectue une récupération des fichiers de données à l'aide des sauvegarde
incrémentielles et des fichiers de journalisation archivés, jusqu'à un point dans le temps.
Cette récupération est nécessaire, même si aucun point dans le temps n'est défini
explicitement. En effet, les fichiers de journalisation en ligne de la base source ne sont pas
sauvegardés et ne peuvent pas être appliqués à la base de données dupliquée. Le point de
récupération extrême de la base dupliquée correspond au fichier de journalisation archivé le
plus récent de la base source.
Vous pouvez indiquer des options supplémentaires lorsque vous exécutez la commande
DUPLICATE.
• SKIP READONLY : Permet d'exclure les fichiers de données appartenant aux tablespaces en
lecture seule.
• SKIP TABLESPACE : Permet d'exclure certains tablespaces de la base cible. Vous ne
pouvez pas exclure le tablespace SYSTEM ni les tablespaces contenant des segments
d'annulation (de type undo ou rollback).
• TABLESPACE : Permet d'inclure certains tablespaces de la base cible.
• NOFILENAMECHECK : Permet d'empêcher RMAN de vérifier si des fichiers de données de la
base cible portent le même nom que des fichiers de données de la base dupliquée. Vous
devez indiquer cette option lorsque les fichiers de journalisation et les fichiers de la base
cible et de la base dupliquée utilisent les mêmes noms. En règle générale, cette option est
utilisée lorsque la base dupliquée est créée sur un hôte qui utilise la même configuration de
disque, la même structure de répertoires et les mêmes noms de fichier que l'hôte de la base
cible. Si vous ne précisez pas NOFILENAMECHECK dans cette situation, RMAN renvoie une
erreur.
• OPEN RESTRICTED : Permet d'activer automatiquement RESTRICTED SESSION à
l'ouverture de la base.
• NOOPEN : Permet de terminer l'opération en laissant la base dupliquée en mode MOUNT.
Utilisez cette option avant de :
- changer le suivi des modifications de bloc
- configurer des sauvegardes incrémentielles rapides ou des paramètres de flashback de
base de données
- déplacer la base de données (par exemple, vers ASM)
- mettre à niveau une base de données
UNDO TABLESPACE Cette option doit être précisée lorsque la base cible n'est
pas ouverte et qu'il n'existe aucune connexion au
catalogue de restauration pour que RMAN ne vérifie pas
la présence d'objets détenus par SYS dans le tablespace.
Les options suivantes de la commande DUPLICATE sont des nouveautés de la version Oracle
Database 11g Release 2 :
• NOREDO : L'option NOREDO est utilisée pour signaler à RMAN que les fichiers de
journalisation ne doivent pas être appliqués lors de la phase de récupération de l'opération
de duplication. Elle doit être précisée lorsque la base de données était en mode
NOARCHIVELOG au moment de la sauvegarde ou lorsque les fichiers de journalisation
archivés sont indisponibles lors de l'opération de duplication. Cette option est appropriée si
une base de données dont le mode actuel est ARCHIVELOG est dupliquée jusqu'à un point
dans le temps où elle était en mode NOARCHIVELOG.
Si vous planifiez une opération DUPLICATE "sans cible" et que la base de données est en
mode NOARCHIVELOG, vous devez utiliser l'option NOREDO pour informer RMAN du mode
de la base. En l'absence de connexion à la base de données cible, RMAN ne peut pas
déterminer le mode.
• UNDO TABLESPACE : RMAN vérifie qu'aucun objet appartenant à l'utilisateur SYS ne figure
dans un des tablespaces dupliqués lors d'une duplication partielle de la base. Les
tablespaces SYSTEM, SYSAUX et les tablespaces de segments d'annulation (de type undo)
sont exclus de cette vérification. Cependant, si la base de données cible n'est pas ouverte
et qu'aucun catalogue de restauration n'est utilisé lors de la duplication, RMAN ne peut pas
obtenir les noms des tablespaces d'annulation. Vous devez donc utiliser l'option UNDO
TABLESPACE pour fournir ces noms.
RUN
{ SET NEWNAME FOR DATAFILE 1 TO '/oradata1/system01.dbf';
SET NEWNAME FOR DATAFILE 2 TO '/oradata2/sysaux01.dbf';
SET NEWNAME FOR DATAFILE 3 TO '/oradata3/undotbs01.dbf';
SET NEWNAME FOR DATAFILE 4 TO '/oradata4/users01.dbf';
SET NEWNAME FOR TABLESPACE example TO '/oradata5/%b';
DUPLICATE TARGET DATABASE TO dupldb; }
Pour éviter les conflits de noms lors de la restauration vers un autre emplacement, utilisez les
variables de substitution de la commande SET NEWNAME. Indiquez au moins une des variables
de substitution suivantes : %b, %f et %U. %I et %N sont des variables facultatives.
L'exemple utilise la commande SET NEWNAME FOR TABLESPACE pour définir les noms par défaut
avec une variable de substitution, ainsi que des clauses SET NEWNAME explicites.
Réponses : b, c
orcl rcat
Exemple de
schéma
Système de
fichiers
Dans cet exercice, vous allez cloner une base de données et recourir à des utilitaires pour
configurer une base dupliquée totalement opérationnelle.
La sortie de la commande RMAN contient les actions pertinentes pour le travail RMAN, ainsi que
les messages d'erreur générés par RMAN, le serveur et le fabricant du média. Les messages
d'erreur RMAN sont identifiés par le préfixe RMAN-nnnn. La sortie s'affiche sur le terminal (sortie
standard) mais elle peut être consignée dans un fichier si vous définissez l'option LOG ou la
redirection en shell.
Le fichier trace RMAN contient la sortie DEBUG. Il n'est utilisé que lorsque vous vous servez de
l'option de commande TRACE.
Le fichier d'alertes contient un journal chronologique des erreurs, des paramètres d'initialisation
non définis par défaut et des opérations d'administration. Dans la mesure où il enregistre les
valeurs des enregistrements remplacés du fichier de contrôle, il peut être utile pour la
maintenance de RMAN en l'absence de catalogue de restauration. Dans Cloud Control, naviguez
ainsi à partir de la page d'accueil de la base de données : Oracle Database > Logs > Alert Logs
Content > Switch to Text Alert Log Contents. Entrez éventuellement des critères de recherche.
Cliquez sur Go pour afficher le contenu du fichier d'alertes.
Le fichier trace Oracle contient la sortie détaillée générée par les processus serveur Oracle. Il est
créé à l'apparition d'un message d'erreur ORA-600 ou ORA-3113 (suivant un message ORA-
7445), chaque fois que RMAN ne peut pas allouer un canal et en cas d'échec du chargement de
la bibliothèque de gestion des supports (MML, Media Management Library). Ce fichier se trouve
dans USER_DUMP_DEST.
Le fichier sbtio.log contient des informations propres au fabricant, écrites par le logiciel de
gestion des supports et stocké dans USER_DUMP_DEST. Notez que ce journal ne contient pas les
erreurs RMAN, ni celles du serveur Oracle.
L'option DEBUG affiche toutes les instructions SQL exécutées au cours des compilations RMAN,
ainsi que les résultats de ces exécutions. Toute information générée par les packages PL/SQL du
catalogue de restauration s'affiche également. Dans l'exemple suivant, la sortie DEBUG est écrite
pendant la sauvegarde du fichier de données 3, mais pas du fichier de données 4 :
RMAN> run {
debug on;
allocate channel c1 type disk;
backup datafile 3;
debug off;
backup datafile 4; }
N'oubliez pas que la sortie de la commande DEBUG peut être volumineuse. Il est donc essentiel
de disposer de suffisamment d'espace disque pour le fichier trace. La session de sauvegarde
simple suivante, qui ne génère aucune erreur, crée un fichier trace d'environ un demi mégaoctet :
$ rman target / catalog rman/rman debug trace sample.log
RMAN> backup database;
RMAN> host "ls –l sample.log";
-rw-r--r-- 1 user02 dba 576270 Apr 6 10:38 sample.log
host command complete
En raison de la quantité de données enregistrée par RMAN, il peut s'avérer difficile d'identifier les
messages utiles dans la pile d'erreurs RMAN. Tenez compte des conseils et des suggestions ci-
après :
• Dans la mesure où nombre des messages de la pile d'erreurs ne sont pas utiles pour la
résolution des problèmes, essayez d'identifier les rares erreurs importantes.
• Recherchez les lignes comportant le texte Additional information suivi d'un nombre
entier. Ces lignes indiquent une erreur du gestionnaire de support. L'entier indiqué fait
référence à un code expliqué dans le texte du message d'erreur.
• Lisez les messages de bas en haut car RMAN les génère dans cet ordre. La pile se termine
souvent par une ou deux erreurs informatives.
• Recherchez le message RMAN-03002 ou RMAN-03009 situé juste après l'en-tête. Le
message RMAN-03009 est le même que RMAN-03002, mais il comprend l'ID de canal. Si le
problème est lié à une commande RMAN, ces messages mentionnent la commande
concernée. Les erreurs de syntaxe génèrent une erreur RMAN-00558.
I) Au cours de la phase de compilation, RMAN identifie les fichiers qui vont intervenir dans la
commande en interrogeant le référentiel de sauvegarde (lequel peut être le catalogue de
restauration ou le fichier de contrôle de la base cible).
P) A l'aide de ces informations, RMAN construit les étapes d'une procédure. Chaque étape est
constituée d'un jeu d'instructions qui sont envoyées par le client RMAN à l'instance cible en
vue d'exécuter des opérations de déplacement de données spécifiques concernant un ou
plusieurs fichiers.
C) Au cours de la phase d'exécution, RMAN envoie chaque étape de la procédure à un canal
disponible.
S) RMAN surveille les canaux qui traitent le travail en parallèle. Au terme de chaque étape,
RMAN envoie l'étape suivante à ce canal. Lorsque toutes les étapes de la procédure ont été
accomplies, l'exécution de la commande est terminée.
• Chaque canal RMAN contient une connexion OCI distincte à la base de données cible.
Chaque canal représente donc aussi un processus en arrière-plan Oracle qui effectue les
tâches de déplacement de données demandées par le client RMAN.
• Le client RMAN n'exécute pas d'opérations d'E/S. Ces tâches relèvent des processus
Oracle chargés des opérations suivantes :
L) Lecture (Un canal lit les données sur disque ou bande et les place dans des tampons
d'entrée d'E/S.)
T) Traitement de données à l'aide des ressources CPU (Un canal copie les blocs depuis
les tampons d'entrée vers les tampons de sortie et leur applique un traitement
supplémentaire : validation, cryptage et/ou compression.)
E) Ecriture (Un canal écrit les blocs provenant des tampons de sortie sur le support de
stockage, à savoir un disque ou une bande.)
Fichiers
Copies
de données
d'image
Fichier de Catalogue de Eléments de
contrôle restauration
sauvegarde
VALIDATE Données de
RMAN sauvegarde
Sauvegarde sur disque
Sauvegarde
dans le RMAN Sauvegarde
canal SBT avec un
gestionnaire de
Fichiers de
journalisation sbttest support tiers
archivés
Gestion des supports
Base cible (Exemple : Oracle Secure Backup)
Sur certaines plates-formes, Oracle fournit un outil de diagnostic nommé sbttest. Cet utilitaire
effectue un test simple du logiciel de gestion des supports en agissant comme le serveur de base
de données Oracle et en essayant de communiquer avec le gestionnaire de supports.
Utilisez sbttest pour effectuer un test rapide du gestionnaire de supports.
$ORACLE_HOME/bin/sbttest backup_file_name
Lorsque vous entrez sbttest sans le paramètre obligatoire backup_file_name,
la documentation en ligne s'affiche.
Si sbttest renvoie la valeur 0, cela veut dire que le test s'est déroulé sans erreur. Autrement dit,
le gestionnaire de supports est installé correctement et peut accepter un flux de données, puis
renvoyer les mêmes données lorsqu'elles lui sont demandées. Si sbttest renvoie une valeur
différente de zéro, cela indique que le gestionnaire de supports n'est pas installé ou qu'il n'est pas
correctement configuré.
Toute procédure de réglage commence par une étape d'analyse. Avez-vous vraiment un
problème qui peut être résolu par un réglage des opérations RMAN ? Pour le savoir, procédez
comme suit :
• Déterminez les performances de chaque composant de votre système. Par exemple, si vous
prenez la vitesse d'une unité de bande, vous allez comparer le débit de données réel d'une
sauvegarde à la vitesse maximum déclarée dans la documentation de cette unité.
• En ce qui concerne les sauvegardes, analysez les étapes de lecture et de traitement à l'aide
de la commande BACKUP VALIDATE. RMAN va effectuer toutes les étapes de la
sauvegarde jusqu'au moment d'écrire les données dans le périphérique de sortie ; les
données seront alors supprimées et rien ne sera écrit. Notez que l'opération VALIDATE
assure la compression si cette option est demandée dans la commande de sauvegarde,
mais pas le cryptage. Si la compression a été incluse dans la commande de sauvegarde,
l'opération BACKUP VALIDATE doit être exécutée d'abord sans compression pour mesurer
la vitesse à laquelle RMAN lit les fichiers d'entrée, puis ré-exécutée avec compression pour
constater les effets de la compression elle-même.
• Dans une opération RESTORE VALIDATE, RMAN effectue toutes les étapes d'une
restauration jusqu'au moment où il est sur le point d'écrire les données restaurées sur le
disque ; ces données sont alors supprimées et rien n'est écrit. Cette méthode est souvent
utilisée pour valider l'intégrité des supports de sauvegarde, mais elle permet également de
diagnostiquer des problèmes de performances dans les opérations de lecture et de
traitement d'une commande RESTORE. RESTORE VALIDATE assure à la fois le décryptage
et la décompression si la sauvegarde a été créée avec ces options.
Pour analyser un processus d'écriture sur disque, qu'il s'agisse d'une opération de sauvegarde ou
de restauration, créez un tablespace contenant un fichier de données sur le disque et notez la
durée de l'opération. Si les mêmes problèmes de performances se produisent, cela veut dire que
vous devez régler les performances Oracle générales vers le périphérique concerné plutôt que
les paramètres propres à RMAN.
Si cette technique ne convient pas, il est possible de recourir à un pilote d'E/S en écriture. Vous
accédez au pilote d'écriture en appelant la fonction DBMS_BACKUP_RESTORE.SETPARMS avec
les paramètres suivants :
• p0 => 6
• p1 => taille de tampon en octets (indiquez NULL ou 0 pour utiliser la valeur par défaut)
• p2 => nombre de tampons (indiquez NULL ou 0 pour utiliser la valeur par défaut)
• p3 => nombre de blocs à écrire
• p4 => taille des blocs en octets (à indiquer obligatoirement, 8192 est un choix pertinent)
• p5 => nom du fichier à écrire
• p6 => 1
Le pilote d'E/S en écriture est également utile lorsque vous réglez la sortie de canaux de disque
en exécutant des commandes avec des tailles et des nombres de tampons variables.
Si vous constatez des problèmes de lenteur d'exécution dans les travaux de sauvegarde et de
restauration, vous pouvez commencer votre analyse à l'aide des vues indiquées dans la
diapositive ci-dessus. La suite du chapitre fournit des informations plus détaillées sur ces vues.
La vitesse de sauvegarde maximale est limitée par le matériel disponible. Il n'est pas possible de
sauvegarder plus rapidement que ne le permet la bande passante cumulée de la bande. La seule
exception est le cas où les fichiers de données comportent de nombreux blocs vides qui n'ont pas
besoin d'être sauvegardés.
Le composant du système de sauvegarde qui constitue un goulet d'étranglement dépend de la
vitesse du disque, du lecteur de bande et des autres composants de transport tels que le réseau.
Par exemple, si le goulet d'étranglement se situe au niveau du lecteur de bande mais que la
transmission est continue, il n'est pas possible d'accélérer la sauvegarde.
Vous pouvez utiliser la vue V$BACKUP_ASYNC_IO pour surveiller les E/S asynchrones.
La colonne LONG_WAITS affiche le nombre de fois où le processus de sauvegarde ou de
restauration a ordonné au système d'exploitation d'attendre la fin d'une opération d'E/S.
La colonne SHORT_WAITS indique le nombre de fois où le processus de sauvegarde/restauration
a demandé au système d'exploitation d'être informé de la fin d'une E/S en mode non bloquant.
Sur certaines plates-formes, l'implémentation d'E/S asynchrones peut conduire le processus
appelant à attendre la fin de l'E/S pendant une interrogation d'E/S en mode non bloquant.
Le moyen le plus simple pour identifier un goulet d'étranglement consiste à interroger la vue
V$BACKUP_ASYNC_IO afin de connaître le fichier de données présentant le rapport LONG_WAITS
sur IO_COUNT le plus élevé.
Lorsque vous utilisez des E/S synchrones, il est facile de déterminer le temps nécessaire aux
travaux de sauvegarde car les périphériques effectuent une seule opération d'E/S à la fois. Les
E/S Oracle utilisent un mécanisme d'interrogation plutôt qu'un mécanisme d'interruption pour
déterminer à quel moment chaque demande d'E/S se termine. Dans la mesure où le processus
de sauvegarde ou de restauration n'est pas immédiatement informé de l'exécution des E/S par le
système d'exploitation, vous ne pouvez pas déterminer la durée de chaque opération d'E/S.
Utilisez la vue V$BACKUP_SYNC_IO pour identifier l'origine des goulets d'étranglement de
sauvegarde ou de restauration et pour évaluer la progression des travaux de sauvegarde. Cette
vue contient des lignes lorsque les E/S sont synchronisées avec le processus (ou le thread, sur
certaines plates-formes) qui effectue la sauvegarde.
Les demandes d'allocation de mémoire contiguë à partir de la zone de mémoire partagée sont
faibles, avec une taille généralement inférieure à 5 kilo-octets (K). Il peut arriver qu'une demande
plus volumineuse échoue ou nécessite des opérations importantes de gestion interne en vue de
libérer la mémoire contiguë requise. La zone de mémoire LARGE POOL est parfois capable de
répondre à ces besoins. Cette zone de mémoire ne possède pas de liste LRU (Least Recently
Used), de sorte que le serveur Oracle n'essaie pas d'en éliminer les parties obsolètes.
Pour configurer la zone de mémoire LARGE POOL, utilisez le paramètre d'initialisation
LARGE_POOL_SIZE. Interrogez la vue V$SGASTAT.POOL pour savoir dans quelle zone de
mémoire (LARGE POOL ou SGA) réside la mémoire d'un objet. La valeur suggérée pour
LARGE_POOL_SIZE est calculée comme suit :
#_of_allocated_channels * (16 MB + (4*size_of_tape_buffer ))
Pour les sauvegardes sur disque, la mémoire tampon de bande est forcément de 0. Vous devez
donc affecter au paramètre LARGE_POOL_SIZE la valeur 16 Mo. Pour les sauvegardes sur
bande, la taille d'une mémoire tampon de bande est définie par le paramètre de canal RMAN
BLKSIZE, dont la valeur par défaut est de 256 ko. Supposons que vous procédiez à une
sauvegarde sur deux lecteurs de bande. Si la taille de tampon de bande est de 256 ko, affectez
au paramètre LARGE_POOL_SIZE la valeur 34 MB. Si vous portez la valeur de BLKSIZE
à 512 KB, augmentez celle de LARGE_POOL_SIZE jusqu'à 36 MB.
Remarque : La zone de mémoire LARGE POOL est uniquement utilisée pour les mémoires
tampons de disque lorsque DBWR_IO_SLAVES > 0 et pour les mémoires tampons de bande
lorsque BACKUP_TAPE_IO_SLAVES = TRUE. Si vous utilisez ASMM (Automatic Shared Memory
Management), la taille de la zone de mémoire LARGE POOL est automatiquement ajustée en
fonction de la charge globale du système.
RMAN utilise deux types de mémoire tampon pour les E/S : les mémoires tampons de disque et
les mémoires tampons de bande. Le multiplexage RMAN détermine la façon dont RMAN alloue
les mémoires tampons de disque. Il définit le nombre de fichiers d'une sauvegarde qui sont lus
simultanément puis écrits dans un même élément de sauvegarde.
Le degré de multiplexage dépend du paramètre FILESPERSET de la commande BACKUP, mais
aussi du paramètre MAXOPENFILES de la commande CONFIGURE CHANNEL ou ALLOCATE
CHANNEL.
Remarque : Le multiplexage RMAN est défini au niveau canal. Pour les systèmes ASM et RAID1,
affectez à MAXOPENFILES la valeur 1 ou 2.
Niveau <= 4 Des tampons de 1 Mo sont alloués de telle sorte que la taille
totale de mémoire tampon pour tous les fichiers d'entrée soit
de 16 Mo.
4 < Niveau <= 8 512 kilo-octets sont alloués de telle sorte que la taille totale de
mémoire tampon pour tous les fichiers soit inférieure à 16 Mo.
Niveau > 8 RMAN alloue quatre tampons sur disque de 128 ko chacun
par canal, de telle sorte que la taille totale de la mémoire
tampon soit de 512 ko par canal pour chaque fichier.
Supposons que vous sauvegardiez deux fichiers de données avec un seul canal. Vous affectez à
FILESPERSET la valeur 3 et à MAXOPENFILES la valeur 8. Dans ce cas, le nombre de fichiers de
chaque jeu de sauvegarde est 2 (la plus petite valeur entre FILESPERSET et le nombre de
fichiers lus par chaque canal) et le niveau de multiplexage est 2 (la plus petite valeur entre
MAXOPENFILES et le nombre de fichiers dans chaque jeu de sauvegarde). Lorsque RMAN
procède à une sauvegarde à partir du disque, il utilise l'algorithme décrit dans le tableau présenté
dans la diapositive.
Pour les écritures, chaque canal alloue quatre tampons de sortie de 1 Mo chacun.
Ces mémoires tampon sont allouées à partir de la mémoire PGA, sauf si DBWR_IO_SLAVES a
une valeur différente de zéro.
Remarque : Pour optimiser les performances des opérations de restauration, n'affectez pas au
paramètre FILESPERSET une valeur supérieure à 8.
La diapositive ci-dessus présente des recommandations visant à améliorer les performances des
opérations de restauration et de récupération.
Réponse : a, b
Préparation de l'atelier
orcl
rcat
Exemple de
schéma
Système de
fichiers
emrep Enterprise
Manager
Cloud Control
Oracle Secure
Backup :
Bibliothèque de Oracle
bandes virtuelle Net
Ce chapitre ne comprend pas d'exercice, mais le formateur va vous expliquer comment préparer
l'atelier.
Pour vous aider dans ces tâches, utilisez le support de cours, les vidéos conseillées, vos notes
personnelles et les documents suivants :
• Oracle Database Backup and Recovery User’s Guide
• Oracle Database Backup and Recovery Reference
Tenez compte des exigences répertoriées dans la diapositive ci-dessus lorsque vous configurez
la base de données pour l'atelier pratique concluant ce cours.
Les étapes énoncées dans la diapositive décrivent la méthodologie générale à suivre pour
diagnostiquer les défaillances d'une base de données. Après avoir déterminé les causes
possibles de dysfonctionnement, vous pouvez vous reporter aux plans de résolution décrits dans
le Manuel d'activités pour plus d'informations.
Cette annexe fournit quelques listes "aide-mémoire" qui peuvent être utiles au cours de cette
formation.
Elle présente également des options de formation ultérieure.
Votre formateur aura peut-être des suggestions à ajouter.
Pour plus d'informations sur l'utilisation d'Enterprise Manager Cloud Control, consultez l'annexe B
de ce cours.
Rappels importants : La distinction entre majuscules et minuscules est importante dans UNIX.
Pour basculer vers un répertoire dont le nom est très long, tapez "cd Rea*".
Commandes vi
Commande Description
:wq écrire, quitter
:q! quitter sans enregistrer
[esc] sortir du mode en cours pour passer en mode de commande
a ajouter un mode
A ajouter un mode à la fin de la ligne en cours
dd supprimer la ligne en cours
i mode d'insertion (peut également insérer des retours à la ligne)
o insérer une ligne vierge sous le curseur
p coller le contenu de la mémoire tampon après le curseur
r remplacer un seul caractère
:s/a/b/ remplacer "a" par "b"
. répéter la dernière substitution
u annuler les effets de la dernière modification
Y copier la ligne en cours
x supprimer un caractère
dd supprimer toute la ligne
http://<hostname>:<port>em
Entrez votre URL, puis un nom utilisateur et un mot de passe Oracle valides.
• Pour afficher le nom d'hôte dans Linux : hostname --long
• Le numéro de port par défaut est 5500.
• Dans les environnements de cours Oracle, vous pouvez utiliser le nom utilisateur SYS et le
mot de passe indiqué par le formateur, puis sélectionner as sysdba.
La diapositive ci-dessus présente les menus proposés par Enterprise Manager Express dans les
domaines suivants :
• Configuration
• Stockage
• Sécurité
• Performances
Servlet EM Express
• Authentifie et valide la
requête
Serveur Web Oracle • Traite la requête en
exécutant les
Servlet EM interrogations requises
Navigateur Express dans la base de
Web données
• Ecrit les résultats dans
le flux des réponses
Serveurs partagés
Oracle SQL Developer est un outil graphique autonome qui permet d'examiner et de développer
des objets de schéma de base de données, mais aussi d'exécuter des tâches d'administration de
base de données.
SQL Developer permet aux utilisateurs bénéficiant de privilèges d'administrateur de base de
données (DBA) d'afficher et de modifier certaines informations concernant les DBA et de réaliser
des opérations de DBA. Pour effectuer des opérations de DBA, vous utilisez le navigateur DBA
qui, comme le navigateur Connections, comprend des noeuds pour toutes les connexions de
base de données définies. Si le navigateur DBA n'est pas visible, sélectionnez View, puis DBA.
Vous ne pouvez ajouter que des connexions pour lesquelles l'utilisateur de base de données
associé a des privilèges de DBA ou au moins des privilèges autorisant les opérations voulues du
navigateur DBA sur la base concernée.
• Documentation
• Oracle Technology Network (OTN)
– Oracle Database > High Availability
– Communautés Oracle sur Social Applications
• Cours de formation Oracle University
• Cours d'autoformation Oracle University
• Oracle Learning Library (OLL)
• My Oracle Support (MOS)
• Vidéos YouTube sur le canal Oracle Learning
Documentation :
• Oracle Database Backup and Recovery User’s Guide
• Oracle Database Backup and Recovery Reference
Oracle Technology Network (OTN) : http://www.oracle.com/technetwork/index.html
Cours de formation Oracle University :
• Oracle Database 12c: Managing Multitenant Architecture
• Oracle Database 12c: RAC Administration
• Oracle Database 12c: Data Guard Administration
• Oracle Database 12c: Security
• Oracle Enterprise Manager Cloud Control 12c: Advanced Configuration Workshop
• Oracle Database 12c: Performance Tuning
Cours d'autoformation Oracle University : Oracle Database 12c New Features series
Oracle Learning Library (OLL) : https://www.oracle.com/goto/oll
Effectuez une recherche sur le sujet qui vous intéresse, par exemple MAA (Maximum Availability
Architecture).
Pour obtenir des informations sur les sujets qui ne sont pas traités dans ce cours, reportez-vous
aux sources suivantes :
• Cours dispensés par des formateurs Oracle University sur Oracle Database 12c
• Cours d'autoformation en ligne Oracle Database 12c: New Features
• Séries OBE (Oracle By Example) : Oracle Database 12c
• Evénements Oracle OpenWorld
Remarque : Pour bien comprendre l'installation et l'utilisation d'Oracle Enterprise Manager Cloud
Control et de Database Express, reportez-vous aux manuels suivants dans la documentation
Oracle :
• Oracle Enterprise Manager Cloud Control Basic Installation Guide 12c Release 1
• Oracle Enterprise Manager Cloud Control Advanced Installation and Configuration Guide
12c Release 1
• Oracle Enterprise Manager Cloud Control Administrator’s Guide 12c Release 1
• Oracle Enterprise Manager Licensing Information 12c Release 1
A mesure qu'un centre de données se développe pour répondre aux besoins d'une activité
croissante, il devient de plus en plus difficile à gérer. Les administrateurs doivent relever de
nombreux défis et notamment :
• Assurer des niveaux élevés de performances et de disponibilité des applications
• Identifier rapidement les problèmes et les résoudre efficacement
• Permettre une utilisation rationnelle des ressources informatiques pour réduire les coûts
d'exploitation
• Aligner les ressources informatiques sur les priorités de production afin de garantir aux
entreprises une souplesse suffisante pour s'adapter à la fluctuation des besoins
Planification de
Gestion de refacturation et de
middleware capacité
Gestion de
Gestion de base
systèmes Exadata
de données
et Exalogic
Gestion de la
Gestion de
qualité des
Approvisionnement configuration
applications
en logiciels et
application de
Ce cours fait appel à quelques patches
fonctionnalités d'Oracle
Enterprise Manager Cloud
Control.
Hôtes
gérés
Enterprise Manager Cloud Control comprend les quatre composants principaux illustrés dans la
diapositive ci-dessus :
• Référentiel OMR (Oracle Management Repository)
• Service OMS (Oracle Management Service)
• Agent OMA (Oracle Management Agent) avec des modules d'extension spécifiques pour les
différentes cibles
• Console Cloud Control
Exécuté sur des hôtes, l'agent OMA recueille des données de mesure sur les environnements
concernés et utilise des modules d'extension pour surveiller la disponibilité, la configuration et les
performances et pour gérer les cibles exécutées sur les hôtes. Les agents communiquent avec le
service OMS pour charger les données de mesure que leurs modules d'extension et eux-mêmes
ont collectées. OMS stocke les données qu'il collecte dans le référentiel OMR où il peut y accéder
pour effectuer des tâches manuelles ou automatisées (création de rapports, opérations de
surveillance). OMS communique également avec les agents afin d'organiser la gestion de leurs
cibles surveillées. En plus de coordonner l'action des agents, OMS exécute également les pages
Web de la console Cloud Control qui sont utilisées par les administrateurs et les utilisateurs pour
surveiller, interroger et gérer l'environnement informatique visible depuis Cloud Control via les
agents et leurs modules d'extension.
Application
"Poussée" via SSH Cloud Control
7788 / 7801
4889 / 4900 Serveur
WebLogic
HTTP / HTTPS HTTP / HTTPS
Administrateur
OMA OMS
3872 / 3872
Agent(s) OMA
JDBC 1521
OMR
La diapositive ci-dessus illustre le flux de communication entre les composants de Cloud Control.
La communication entre l'agent OMA (Oracle Management Agent) et le service OMS (Oracle
Management Server) et entre le service OMS et la console est bidirectionnelle. Tous les numéros
de ports indiqués dans la diapositive sont des valeurs par défaut qui peuvent être modifiées
pendant l'installation, soit par le programme d'installation lorsqu'il recherche des ports
disponibles, soit explicitement par vous. Vous pouvez aussi modifier les numéros des ports après
l'installation.
• L'agent OMA charge les données dans le service OMS via HTTP sur le port 4889 ou via
HTTPS sur le port 4900. (Conception compatible avec WAN)
• Le service OMS communique avec l'agent OMA via HTTP ou HTTPS sur le port 3872.
• Les ports entre OMS et OMA sont séparés pour pouvoir communiquer entre eux de manière
asynchrone et simultanée.
• Le service OMS communique avec le référentiel OMR via JDBC sur le port 1521. OMR
renvoie des données à OMS, mais cela n'est pas considéré comme une communication
distincte, d'où la représentation d'un flux unidirectionnel de OMS vers OMR.
• Les utilisateurs de la console Cloud Control accèdent aux pages Web de Cloud Control via
HTTPS sur le port 7801 ou via HTTP sur le port 7788.
Il est important de connaître les ports utilisés dans votre installation Cloud Control, surtout si vous
gérez des hôtes situés derrière des pare-feu ou lorsque d'autres restrictions réseau s'appliquent,
car la communication doit être autorisée sur ces ports et dans les directions illustrées.
Le référentiel OMR est installé dans une base de données Oracle sous la forme d'un groupe
d'environ 4 000 objets de schéma appartenant à l'utilisateur SYSMAN qui sont stockés dans trois
tablespaces : MGMT_ECM_DEPOT_TS, MGMT_TABLESPACE et MGMT_AD4J_TS. Ces objets de
schéma contiennent des informations sur les utilisateurs et administrateurs d'Enterprise Manager
Cloud Control, sur les cibles et les applications qui sont surveillées et gérées par Enterprise
Manager Cloud Control et sur les groupes, systèmes, incidents et autres artefacts d'Enterprise
Manager Cloud Control. Le référentiel OMR est créé lors de l'installation dans une base de
données préexistante. Pour des besoins d'évolutivité, il peut être installé dans une base de
données RAC (Real Application Clusters). Dans ce cas, le deuxième noeud nécessite une licence
pour la base de données et les deux noeuds nécessitent une licence Oracle Real Application
Clusters.
La base de données utilisée pour héberger le référentiel OMR ne doit pas servir à d'autres
applications pour les raisons suivantes :
• L'utilisation de la base par Enterprise Manager Cloud Control ne doit pas rencontrer de
concurrence.
• L'utilisation de la base de données du référentiel pour d'autres applications peut limiter votre
capacité à appliquer les mises à niveau et les patches nécessaires au schéma et à la base
OMR.
• Enterprise Manager Cloud Control inclut une licence de base de données à usage restreint
qui ne peut servir que pour le référentiel OMR.
Remarque : Pour plus d'informations, reportez-vous à la section Enterprise Manager
Restricted-Use License du document Oracle Enterprise Manager Licensing Information
12c Release 1.
WebLogic
EM
OMS
Référentiel Agents
sqlplus ou
srvctl emctl emctl
lsnrctl
Chaque composant de la structure Enterprise Manager Cloud Control comprend ses propres
utilitaires qui permettent de le surveiller, de le démarrer et de l'arrêter. Dans bien des cas, ces
utilitaires fournissent également quelques possibilités de configurer le composant en plus de la
simple fonctionnalité de démarrage et d'arrêt.
Les bases de données RAC nécessitent l'utilisation des commandes Server Control ; pour les
instances simples, vous avez le choix entre SQL*Plus et Server Control. Server Control est
utilisable lorsque Oracle Restart est installé et que la base est enregistrée dans OLR.
Pour démarrer et arrêter le processus d'écoute (listener), vous pouvez recourir à l'utilitaire Server
Control ou à la commande lsnrctl.
Exemples :
srvctl stop database -d orcl -o immediate
srvctl start database -d orcl -o open
WebLogic
EM
OHS
Référentiel OMS
Agents
WebLogic
EM
OHS
Agents OMS Référentiel
Pour arrêter l'intégralité de la structure Enterprise Manager Cloud Control, effectuez les
opérations suivantes :
1. Arrêtez les agents sur les serveurs gérés :
$AGENT_HOME/bin/emctl stop agent
2. Arrêtez l'agent sur l'hôte OMS/référentiel :
$AGENT_HOME/bin/emctl stop agent
3. Arrêtez le service OMS (y compris OHS et WebLogic Managed Server) :
$OMS_HOME/bin/emctl stop oms
4. Arrêtez l'instance de la base de données du référentiel :
$ORACLE_HOME/bin/sqlplus / as sysdba
SQL> shutdown immediate
Remarque : Utilisez la commande SRVCTL si vous avez une instance RAC pour le référentiel.
Les cibles sont les entités qui sont gérées par Enterprise Manager Cloud Control. Pour cela, des
modules d'extension spécifiques aux types de cible et des agents spécifiques aux hôtes sont
utilisés.
Enterprise Manager Cloud Control peut surveiller, administrer, tenir à jour et gérer différents types
de cible répertoriés dans la diapositive ci-dessus. Vous pouvez ainsi accompagner l'évolution de
votre environnement en ajoutant ou supprimant des cibles dans Enterprise Manager Cloud
Control en fonction de vos besoins. Les cibles Oracle fréquemment utilisées (y compris les
composants d'Enterprise Manager Cloud Control, comme OMR et OMS) sont prédéfinies dans le
produit de base Enterprise Manager Cloud Control. Toutefois, Enterprise Manager Cloud Control
dispose d'une API ouverte qui vous permet de créer des cibles personnalisées.
OMA
E-Business
Suite
Repérage
Serveurs guidé
Processus Bases de
d'applications
d'écoute données
Une fois que l'agent OMA a été installé sur un hôte, il doit rechercher les cibles qu'il peut gérer.
En tant qu'administrateur d'Enterprise Manager Cloud Control, vous pouvez guider ce processus
à partir des pages de la console Cloud Control. Le repérage guidé permet de désigner une famille
de types de cible à rechercher, par exemple des bases de données et des processus d'écoute
(listeners), puis de préciser les agents où exécuter cette recherche. Si une nouvelle cible est
repérée, le module d'extension approprié est envoyé depuis le service OMS (s'il n'est pas déjà
installé sur l'agent), la cible est enregistrée dans le référentiel OMR et la surveillance commence.
Vous pouvez également configurer un repérage automatique qui s'exécute à intervalles réguliers
et qui obtient un agent pour rechercher les cibles connues sans surveillance, ce qui vous permet
d'examiner les résultats ultérieurement et de porter les cibles repérées au statut de cibles gérées.
La diapositive présente la page Enterprise Summary d'Oracle Enterprise Manager Cloud Control.
L'interface utilisateur comprend les fonctionnalités suivantes :
• Informations affichées dans des graphiques et des tableaux
• Informations de synthèse avec possibilité d'effectuer des analyses descendantes vers les
niveaux de détail pertinents
• Page d'accueil sélectionnée par l'utilisateur dans un ensemble prédéfini ou basée sur une
page quelconque de la console
• Navigation pilotée par des menus
• Recherche de cible globale
• Historique et favoris
• Pages d'accueil de cible personnalisables (par utilisateur)
Enterprise
Manager
Authentification
Enterprise Manager Authentification de cible
Cloud Control
Réponse : f
Introduction
Devenu une notion incontournable dans l'informatique d'entreprise au début du 21e siècle, le
"cloud computing" est désormais introduit progressivement dans la technologie proposée au
grand public. Le monde du cloud computing peut sembler complexe. Pourtant, il s'agit d'une
certaine façon d'un retour aux débuts de l'informatique, à l'époque où les ressources matérielles
étaient tellement onéreuses que, par nécessité, elles étaient généralement partagées par des
utilisateurs qui en ignoraient presque tout.
Autrefois 1 2
Aujourd'hui
1
Aux Etats-Unis, le NIST (National Institute of Standards and Technology) définit le cloud
computing comme un modèle permettant d'assurer en tout lieu et à la demande un accès réseau
pratique à un groupe partagé de ressources informatiques configurables (réseaux, serveurs,
espaces de stockage, applications, services...) qui peuvent être utilisées et libérées rapidement
au prix d'un effort de gestion minime et d'une intervention réduite des fournisseurs.
Des avantages multiples
Le cloud computing revêt différents aspects selon les points de vue, et tous ces aspects ont leurs
avantages propres.
Du point de vue du consommateur des ressources fournies par un cloud, il s'agit simplement
d'une fonctionnalité ou d'un service qu'il est possible d'utiliser sans savoir comment ni où son
implémentation est réalisée. La manière dont le produit consommable est fourni au
consommateur est occultée par la nature même de l'accès à ce produit via "le cloud". Le
consommateur n'ayant pas à se soucier des détails d'implémentation, il s'intéresse uniquement à
la disponibilité et à la commodité de la ressource.
Du point de vue d'un fournisseur de ressources, le cloud permet de répondre à la demande des
consommateurs en utilisant une multitude de ressources informatiques disponibles. Cela limite la
dépendance entre les ressources physiques et les topologies d'application et offre au fournisseur
la souplesse de déployer les ressources de la manière la plus efficace et rapide possible. De
même que les consommateurs de ressources en cloud, les fournisseurs sont aussi très
intéressés par les avantages de disponibilité et de commodité. En effet, la rentabilité de leur offre
est déterminée par la satisfaction des consommateurs, laquelle est généralement définie et
mesurée par le biais d'accords de niveau de service.
• Libre-service à la demande
– A tout moment, sans aucune intervention humaine
• Large accès réseau
– N'importe où, depuis n'importe quel périphérique
• Regroupement des ressources
– Ressources partagées pour satisfaire un grand nombre
de demandes
• Ajustement immédiat
– Réactivité transparente à la fluctuation des demandes
• Mesure des services
– Mesures et comptes-rendus de consommation
Personnalisations
SaaS
Application
PaaS
Plate-forme
IaaS
Infrastructure
• Privé
– Pour l'usage exclusif d'une organisation unique
• Communautaire
– Environnement commun à l'usage d'un groupe
d'organisations liées
• Public
– Environnements à l'usage de plusieurs organisations
(architecture colocative)
• Hybride
– Combinaison de clouds privés et publics à l'usage d'une
même organisation
• Normalisation
• Consolidation
• Centralisation
• Optimisation
• Abstraction
• Souplesse
• Libre-service
Clouds Oracle
Oracle propose un certain nombre de solutions de cloud qui combinent différentes technologies.
Pour plus d'informations, consultez les sites suivants :
• http://cloud.oracle.com
• http://www.oracle.com/goto/cloud
• http://www.oracle.com/technetwork/topics/cloud/index.html
Planifier
Optimiser Configurer
Mesurer
Construire
et
facturer
Gérer Tester
Surveiller Déployer
Réponse : a, c, d, f, h
Bien que le conditionnement de puissance, les périphériques de stockage remplaçables à chaud
et la fiabilité soient des caractéristiques souhaitables de tout centre de données, les
caractéristiques essentielles du cloud computing identifiées par le National Institute of Standards
and Technology concernent davantage les services que les équipements physiques.
Réponse : a, f
Enterprise Manager Cloud Control 12c ne fournit pas les outils nécessaires à l'implémentation
d'un cloud SaaS où l'infrastructure, la plate-forme et l'application sont mises à la disposition des
utilisateurs en libre-service. On pourrait opposer à cela que le modèle IaaS peut être utilisé pour
permettre aux utilisateurs de demander une pile complète comprenant infrastructure, plate-forme
et application. Au sens strict cependant, SaaS désigne un service d'application et non la capacité
de demander la fourniture d'un service d'application.