Nothing Special   »   [go: up one dir, main page]

Support Cours Module4

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 35

Oracle Database 11g:

Administration

Support de cours - Module IV

D50079EN10
Edition 1.0
July 2012
D53581

THESE eKIT MATERIALS ARE FOR YOUR USE IN THIS CLASSROOM ONLY.
Plan du cours

1 PRESENTATION GENERAL D’ORACLE_________________________________________

2 ARCHITECTURE D’UN SERVEUR ORACLE ________________________________________

3 REVISION SUR LE LANGAGE SQL _________________________________________________

4 INSTALLATION ET CREATION D’UNE BASE DE DONNEES ORACLE_________________

5 ADMINISTRATION D’UNE BASE DE DONNEES ORACLE_____________________________

6 GESTION DES UTILISATEURS_____________________________________________________

7 GESTION DES OBJECTS _________________________________________________________

8 GESTION DU STOCKAGE D’UNE BASE DE DONNEES_______________________________

9 UTILISATION DU RECOVERY MANAGER (RMAN) _________________________________

10 SECURITE ET SURVEILLANCE DE LA BASE DE DONNEES___________________________

11 MINI PROJET_____________________________________________________________________
GESTION DU STOCKAGE DE LA BASE DE DONNEES

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


Structures de stockage

Structure logique Structure physique

Base
de données

Fichier du système
Tablespace
d'exploitation

Segment

Extent

Bloc de Bloc du système


données Oracle d'exploitation

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

8-1 Structures de stockage

Une base de données est divisée en unités de stockage logiques appelées tablespaces.

Chaque tablespace comporte plusieurs blocs de données Oracle logiques. Le paramètre

DB_BLOCK_SIZE définit la taille d'un bloc logique. La taille d'un bloc logique peut être

comprise entre 2 Ko et 32 Ko. La valeur par défaut est de 8 Ko.

Un nombre donné de blocs logiques contigus constitue un extent. Un ensemble d'extents

alloué à une certaine structure logique forme à son tour un segment.

La taille de bloc utilisée le plus souvent doit être choisie comme taille de bloc standard.

La plupart du temps, c'est la seule taille de bloc que vous devez préciser. DB_BLOCK_SIZE

est généralement égal à 4 Ko ou 8 Ko. Si vous n'affectez pas de valeur à ce paramètre, la taille

des blocs de données par défaut est déterminée par le système d'exploitation et convient

généralement.
Il est impossible de modifier la taille des blocs une fois la base de données

créée. Vous devez pour cela recréer la base.

8-2 Mode de stockage des données d'une table

Lorsqu'une table est créée, un segment est créé pour le stockage de ses données.

Lorsqu'un tablespace est créé, des fichiers de données sont également créés pour

contenir ses données. Ces fichiers allouent immédiatement l'espace spécifié lors de

leur création. Chacun d'eux ne peut appartenir qu’à un seul tablespace.

Une base de données peut prendre en charge plusieurs utilisateurs, chacun d'eux

possédant un schéma, ensemble d'objets logiques de base de données appartenant à

chaque utilisateur (incluant des tables et des index) qui se réfèrent à des structures de

données physiques stockées dans des tablespaces. Les objets appartenant au schéma

d'un utilisateur peuvent être stockés dans plusieurs tablespaces, et un seul tablespace

peut contenir les objets de plusieurs schémas.

Lorsqu'un objet de base de données (comme une table ou un index) est créé, il est

assigné à un tablespace via les paramètres de stockage par défaut de l'utilisateur ou des

instructions spécifiques.

D'un point de vue logique, une table contient des lignes contenant les valeurs de colonnes.

Enfin, une ligne est stockée dans un bloc de base de données sous la forme d'un morceau de

ligne. On parle de morceau de ligne car, dans certaines conditions, une ligne n'est pas stockée

intégralement dans le même emplacement. C'est le cas lorsqu'une ligne insérée est trop

volumineuse pour tenir dans un bloc unique ou lorsque, suite à une mise à jour, la taille d'une

ligne existante dépasse l'espace en cours.


Mode de stockage des données d'une table

Colonnes Blocs

Table A Table B

Lignes

Segment Segment
Table
Tablespace

Morceau de ligne Extent

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


8-3 Tablespaces et fichiers de données

Les bases de données, les tablespaces et les fichiers de données sont étroitement liés, mais ils

présentent des différences importantes :

• Une base de données Oracle est constituée d'une ou de plusieurs unités de stockage

logiques (tablespaces) dans lesquelles sont stockées de manière collective toutes les

données de la base.

• Chaque tablespace d'une base Oracle est constitué d'un ou de plusieurs fichiers de

données. Il s'agit de structures physiques compatibles avec le système d'exploitation sur

lequel le logiciel Oracle s'exécute.

• Les données d'une base sont stockées collectivement dans les fichiers de données qui

constituent les différents tablespaces de la base. Une base de données Oracle contient au

minimum deux tablespaces (SYSTEM et SYSAUX) comprenant chacun un fichier de

données. Une base peut aussi comporter trois tablespaces comprenant chacun deux

fichiers de données (soit un total de six fichiers de données). Une base de données peut

comprendre jusqu'à 65 534 fichiers de données. Si un tablespace ne comprend qu'un seul

fichier de données pendant toute sa durée de vie, il est défini comme tablespace bigfile.

Il s'agit d'un cas spécial qui convient aux applications de data warehouse.

• Un fichier temporaire est créé à l'aide de l'option TEMPFILE dans un tablespace

temporaire. Les tablespaces temporaires ne peuvent pas contenir des objets de base de

données permanents (tables) et sont généralement utilisés pour les tris.


8-4 CREATION D’UN TABLESPACE

Syntaxe :

CREATE TABLESPACE nom_tablespace


[ DATAFILE ['nom_fichier'] [ SIZE integer {K|M|G|T} ]
[ AUTOEXTEND {OFF | ON [ NEXT integer {K|M|G|T}]
[ MAXSIZE {UNLIMITED | integer {K|M|G|T}] } ] [,...]
[{LOGGING | NOLOGGING}]
[{ONLINE | OFFLINE}];

AUTOEXTEND

L’argument active ou désactive l’extension automatique d’un nouveau fichier de données ou


temporaire. Si vous omettez cette clause, ces fichiers ne seront pas automatiquement étendus.
NEXT
Définit la taille en octets du prochain incrément d’espace disque qui doit être alloué
automatiquement au fichier lorsque davantage d’espace de stockage est requis.

MAXSIZE
Définit l’espace disque maximal autorisé pour l’extension automatique du fichier de données.

UNLIMITED
Définit une allocation d’espace illimitée pour le fichier.
LOGGING
Définit que la base de données effectue les journalisations pour toutes les opérations sur tous
les index, tables et partitions contenus dans le tablespace
NOLOGGING
Définit que la base de données n’effectue pas de journalisation pour les « INSERT » ou les
chargements des données à l’aide de SQL*Loader ainsi que les opérations DDL sur toutes les
créations d’index, tables.
ONLINE
Permet de créer un tablespace mis à la disposition des utilisateurs qui ont reçu le droit d’y
accéder immédiatement après sa création. Il s’agit du choix par défaut
OFFLINE
Permet de créer un tablespace dans un état indisponible immédiatement après sa création.

EXEMPLE:
CREATE TABLESPACE TB_APPLI DATAFILE
‘C:\app\mkassavi\oradata\dboracle\TB_APPLI01.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 1G,

‘C:\app\mkassavi\oradata\dboracle\TB_APPLI02.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 1G

LOGGING
ONLINE;
8-5 Ajout d’un fichier de donnée(Datafile) à un TABLESPACE
Syntaxe :

ALTER TABLESPACE [nom_tablespace] ADD DATAFILE ['nom_fichier'] [ SIZE integer {K|M|G|T} ]

Exemple

ALTER TABLESPACE USERS ADD DATAFILE ‘C:\app\mkassavi\oradata\dboracle\TB_APPLI02.dbf' SIZE 20M AUTOEXTEND OFF;

8-6 Suppression d’un datafile

Syntaxe :
ALTER DATABASE DATAFILE['nom_fichier'] OFFLINE DROP ;

Exemple
ALTER DATABASE DATAFILE ‘C:\app\mkassavi\oradata\dboracle\ TB_APPLI02.dbf' OFFLINE DROP ;

8-7 Allocation d’espace dans un TABLESPACE (Datafile)

Syntaxe :
ALTER DATABASE DATAFILE ['nom_fichier'] RESIZE [New Size] [K,M,G];

Exemple
ALTER DATABASE DATAFILE ' C:\app\mkassavi\oradata\dboracle\ TB_APPLI02.dbf’ RESIZE 80M;

8-8 Suppression d’un Tablespace

Syntaxe :
DROP TABLESPACE [nom_tablespace] INCLUDING CONTENTS CASCADE CONSTRAINTS ;

Exemple
ALTER DATABASE DATAFILE ‘C:\app\mkassavi\oradata\dboracle\ TB_APPLI02.dbf’ OFFLINE DROP ;

8-9 Deplacement d’un Tablespace

ALTER TABLESPACE ora_data OFFLINE NORMAL;

-- Après avoir copié le fichier ORA_DATA03.dbf

-- de g:\oracle\oradata\orafrance vers f:\oracle\oradata\orafrance

ALTER TABLESPACE ora_data

RENAME DATAFILE 'g:\oracle\oradata\orafrance\ORA_DATA03.dbf'

TO 'f:\oracle\oradata\orafrance\ORA_DATA03.dbf';

ALTER TABLESPACE ora_data ONLINE NORMAL;


8-10 les Vues Utiles pour la gestion des Tablespaces

Vous pouvez utiliser le dictionnaire de données pour déterminer l’espace disponible et

l’espace alloué aux objets de la base de données. Les principales vues qui décrivent

comment déterminer les paramètres de stockage par défaut des objets, les quotas

d’utilisation de l’espace, l’espace libre disponible et la façon dont les objets sont

stockés physiquement sont énumérés dans cette partie.

 DBA_TABLESPACES

La vue du dictionnaire de données « DBA_TABLESPACES » vous permet d’afficher les espaces


de disques logiques et les paramètres de stockage de chacun d’eux.

 DBA_DATA_FILES

La vue du dictionnaire de données « DBA_DATA_FILES » vous permet d’afficher


les fichiers de données ainsi que les espaces de disques logiques auxquels il appartient.

 DBA_TS_QUOTAS

La vue du dictionnaire de données « DBA_TS_QUOTAS » vous permet d’afficher


les quotas de stockage de tous les espaces de disques logiques ; elle se révèle très
efficace pour déterminer l’utilisation de l’espace dans l’ensemble de la base de données.

 DBA_SEGMENTS

La vue du dictionnaire de données « DBA_SEGMENTS » vous permet d’afficher les


paramètres de stockage et l’utilisation d’espace pour les segments dans la base de données.

 DBA_EXTENTS

La vue du dictionnaire de données « DBA_EXTENTS » vous permet d’afficher les


paramètres de stockage et l’utilisation d’espace pour les extents des segments.
Sauvegarde et Restauration des Données

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


9-1 INTRODUCTION

Les données d'une entreprise représentent une part importante du capital de celle-ci.

A ce titre, les données doivent être protégées. Pour cela, Oracle offre de nombreuses fonctionnalités

parmi lesquels, la sauvegarde de la base et de ses données afin de garantir son intégrité et sa

disponibilité.

A travers ce chapitre, nous nous intéresserons à trois (3) types de sauvegardes des données

et aussi à la restauration des données. Nous allons donc dans un premier temps pressentez la

sauvegarde logique (Export/Import) puis la sauvegarde physique et enfin le RMAN-Backup.

9-2 Sauvegarde Logique (EXPORT-IMPORT)

Avant tout il faut préciser que cette méthode est une méthode logique de sauvegarde (Export) et de

restauration des données (Import). Elle permet de sauvegarder le contenu logique d'une base de

données dans un fichier de transfert Oracle au format binaire, ou fichier dump. Ce fichier pourra

donc être relu pour recréer des objets qu'il contient. Ce transfert peut s'accomplir sur une même

base ou même sur deux bases Oracle, et cela même si leurs configurations matérielles et logicielles

diffèrent. Cela signifie que l'on peut tout à fait exporter une base sous Windows pour l'importer

sous Linux ou Unix.


9-2.1 Les différents modes d'export et d'import

* Niveau base de données complète

C'est le mode le plus complet, lors de ce type d'exportation tous les objets de la base sont exportés.
les informations relatives aux structures de base de données, telles que les définitions de tablespaces et de
segments de roll back, sont incluses. Lors de L'insertion des données tout ces objets sont importés et créés
dans la base de destination : le paramètre FULL permet de spécifier ce mode pour l'exportation et
l'importation. Voici le script d’exportation de toute la base:

exp userid=system/passwd@DB file=c:\backup\export_full.dump

log=c:\control\export_full.log full=y rows=y

Ici, on se connecte à la base (DB) en tant que SYSTEM (userid=system/password et on exporte toute la base
(full=y) avec les données (rows=y). On sauvegarde la sortie dans le fichier de log
(log=c:\control\export_full.log).

Exemple :

exp userid=system/system123@DBORACLE file=c:\backup\export_full.dump log=c:\control\export_full.log full=y rows=y direct=y

Pour pouvoir restituer les données, on utilise la commande imp pour faire l’importation :
Voici le script d’importation de toute la base:

imp userid= system/passwd@DB file=c:\backup\export_full.dump

log=c:\control\export_full.log commit=y ignore=y


* Niveau utilisateur

Dans ce cas là, ce sont tous les objets appartenant à un utilisateur qui sont exportés: tables, fonctions,
synonymes, déclencheurs, liens de bases de données… Le paramètre OWNER permet de désigner les
utilisateurs que l'on désire exporter.

Voici le script d’exportation de l’utilisateur TABS :

exp userid= TABS /passwd@DB file=c:\backup\export_full.dump log=c:\control\export_full.log owner= TABS

Example :
exp userid= scott/scott123@DBORAcLE file=c:\backup\export_full.dump log=c:\control\export_full.log owner= scott

Pour pouvoir restituer les données de l’utilisateur TABS, on utilise la commande imp pour faire
l’importation : Voici le script d’importation des données du user TABS:

imp userid= TABS /passwd@DB file=c:\backup\export_full.dump


log=c:\control\export_full.log owner= TABS commit=y ignore=y

* Niveau table

Lors de l'exportation de tables individuelles tous leurs objets associés (index, contraintes, déclencheurs,
privilèges …) sont écrits dans le fichier DUMP. Lors de l'importation tout comme l'exportation les tables
doivent être nommées grâce au paramètre TABLES.

Voici le script d’exportation de la table ACCOUNT de l'utilisateur TABS:

exp userid= TABS /passwd@DB file=c:\backup\export_full.dump

log=c:\control\export_full.log tables=TABS. Account

Exemple:

exp userid= scott/scott123@DBORAcLE file=c:\backup\export_table.dump log=c:\control\export_full.log tables=scott.emp

Exercice:

Insérer deux enregistrements dans la table dept de scott puis faire le backup de la table ensuite supprimer la table puis la
restaurer.
Pour pouvoir restituer les données de la table ACCOUNT de l'utilisateur TABS, on utilise la commande imp
pour faire l’importation : Voici le script d’importation de la table ACCOUNT de l'utilisateur TABS:

Imp userid= TABS /passwd@DB file=c:\backup\export_full.dump

log=c:\control\export_full.log tables=TABS. Account commit=y ignore=y

* Niveau tablespace

Lors de l'exportation, des métas donnés concernant les tablespaces spécifiés et les objets qu'ils contiennent
sont écrites dans un fichier DUMP

Voici le script d’exportation du tablespace USER:

exp userid=system/passwd@DB file=c:\backup\export_full.dump

log=c:\control\export_full.log tablespaces=user

Pour pouvoir restituer les données du tablespace user, on utilise la commande imp pour faire l’importation :
Voici le script d’importation du Tablespace User.

imp userid=system/passwd@DB file=c:\backup\export_full.dump

Log=c:\control\export_full.log tablespaces=user commit=y ignore=y


9-2 Sauvegarde Physique (Hot Backup)

Pour faire la sauvegarde physique il faut mettre la base de données en mode ARCHIVELOG grâce à
l'instruction SQL : alter database archivelog après avoir montée la base de données (SHUTDOWN
IMMEDIATE puis STARTUP MOUNT). Ensuite il faut placer les tablespaces dans le mode de sauvegarde :
Pour cela, on tape la commande

Alter Tablespace nom tablespace begin backup. Ce qui permet de copies les fichiers au niveau du système
d'exploitation. Pour connaître l'ensemble des tablespaces disponibles dans la base de donnée, vous pouvez
exécuter la requête SQL :

Select * From dba tablespaces.

Replacer les tablespaces dans le mode normal : Il faut exécuter la commande

Alter tablespace nom tablespace end backup.

Contrôler si la sauvegarde a fonctionner : Pour cela il faut contrôler si les enregistrements redo, on bien été
généré. Pour cela, on exécute l'instruction
Archive log current.

 Etapes à suivre pour effectuer la sauvegarde

1- la sauvegarde physique

Pour effectuer toutes ces tâches vous devez créer un script de « backup » que vous lancer à partir de sqlplus
ou de l’environnement Dos l’instruction suivante : start ‘chemin-du-fichier.sql’

Dans le cas suivant le fichier qui contient le script s’appelle Sbackup et se trouve dans le répertoire c:\oracle
donc vous lancé start c:\oracle\Sbackup.sql.

Vous devez également créer le répertoire qui va contenir les fichiers sauvegardé.

Voici le contenu du script que vous pouvez exécuter ligne par ligne également:
------------------------Contenu du Fichier Sbackup.sql---------------------------------------------------

Archive log start;


Alter system archive log current ;

alter tablespace system begin backup;


host copy C:\ORACLE\ORADATA\ORAMTN\SYSTEM01.DBF c:\oracle\backup\system01.dbf;
alter tablespace system end backup;

alter tablespace users begin backup;


host copy c:\oracle\oradata\ORAMTN\users01.dbf c:\oracle\backup\users01.dbf;
alter tablespace users end backup;

alter tablespace undotbs1 begin backup;


host copy c:\oracle\oradata\ORAMTN\UNDOTBS01.dbf c:\oracle\backup\undotbs01.dbf;
alter tablespace undotbs1 end backup;

alter tablespace tools begin backup;


host copy c:\oracle\oradata\ORAMTN\tools01.dbf c:\oracle\backup\tools01.dbf;
alter tablespace tools end backup;

alter tablespace CWMLITE begin backup;


host copy C:\ORACLE\ORADATA\ORAMTN\CWMLITE01.DBF
c:\oracle\backup\CWMLITE01.DBF;
alter tablespace CWMLITE end backup;

alter tablespace DRSYS begin backup;


host copy c:\oracle\oradata\ORAMTN\DRSYS01.dbf c:\oracle\backup\DRSYS01.dbf;
alter tablespace DRSYS end backup;

alter tablespace EXAMPLE begin backup;


host copy c:\oracle\oradata\ORAMTN\EXAMPLE01.dbf c:\oracle\backup\EXAMPLE01.dbf;
alter tablespace EXAMPLE end backup;
alter tablespace ODM begin backup;
host copy c:\oracle\oradata\ORAMTN\ODM01.dbf c:\oracle\backup\ODM01.dbf;
alter tablespace ODM end backup;

alter tablespace XDB begin backup;


host copy c:\oracle\oradata\ORAMTN\XDB01.dbf c:\oracle\backup\XDB01.dbf;
alter tablespace XDB end backup;

alter tablespace INDX begin backup;


host copy c:\oracle\oradata\ORAMTN\INDX01.dbf c:\oracle\backup\INDX01.dbf;
alter tablespace INDX end backup;

alter system archive log current;

host copy c:\oracle\oradata\ORAMTN\REDO01.LOG c:\oracle\backup\REDO01.LOG ;


host copy c:\oracle\oradata\ORAMTN\REDO02.LOG c:\oracle\backup\REDO02.LOG ;
host copy c:\oracle\oradata\ORAMTN\REDO03.LOG c:\oracle\backup\REDO03.LOG ;

host copy c:\oracle\oradata\ORAMTN\CONTROL01.CTL c:\oracle\backup\CONTROL01.CTL;


host copy c:\oracle\oradata\ORAMTN\CONTROL02.CTL c:\oracle\backup\CONTROL02.CTL;
host copy c:\oracle\oradata\ORAMTN\CONTROL03.CTL c:\oracle\backup\CONTROL03.CTL;

alter database backup controlfile to trace as 'c:\oracle\backup\control01' reuse;

alter system switch logfile;

archive log list;

A la fin vérifier dans le répertoire créé que votre backup est réussi.
2- Restauration de la sauvegarde physique

Pour restaurer les données à partir d’un Hot Backup il faut procéder par les étapes suivantes :

1. Arrêter la Base de Données (shutdown)

2. Restaurer tous les fichiers vers l'emplacement approprié (host copy)

3. Contrôler que les fichiers de données sont bien en ligne

4. Monter la base de données

5. Récupérer la base en localisant et en appliquant les archives redo

6. Ouvrir la base au moyen de la commande Alter database open;

Pour effectuer toutes ces tâches vous pouvez lancer à partir de sqlplus ou de l’environnement Dos

l’instruction suivante : start ‘chemin-du-fichier.sql’

Dans le cas suivant le fichier qui contient le script s’appelle Srecover et se trouve dans le répertoire

c:\oracle donc vous lancé start c:\oracle\Srecover.sql.

Voici le contenu du script que vous pouvez exécuter ligne par ligne également:
---------------------Contenu du Fichier Srecover.sql-------------------------------------------------

Shutdown immediate;

host copy c:\oracle\backup\system01.dbf C:\ORACLE\ORADATA\ORAMTN\SYSTEM01.DBF ;


host copy c:\oracle\backup\users01.dbf c:\oracle\oradata\ORAMTN\users01.dbf ;
host copy c:\oracle\backup\undotbs01.dbf c:\oracle\oradata\ORAMTN\UNDOTBS01.dbf ;
host copy c:\oracle\backup\tools01.dbf c:\oracle\oradata\ORAMTN\tools01.dbf ;

host copy c:\oracle\backup\CWMLITE01.DBF C:\ORACLE\ORADATA\ORAMTN\CWMLITE01.DBF ;

host copy c:\oracle\backup\DRSYS01.dbf c:\oracle\oradata\ORAMTN\DRSYS01.dbf ;

host copy c:\oracle\backup\EXAMPLE01.dbf c:\oracle\oradata\ORAMTN\EXAMPLE01.dbf ;

host copy c:\oracle\backup\ODM01.dbf c:\oracle\oradata\ORAMTN\ODM01.dbf ;

host copy c:\oracle\backup\XDB01.dbf c:\oracle\oradata\ORAMTN\XDB01.dbf ;

host copy c:\oracle\backup\INDX01.dbf c:\oracle\oradata\ORAMTN\INDX01.dbf ;

host copy c:\oracle\backup\REDO01.LOG c:\oracle\oradata\ORAMTN\REDO01.LOG ;


host copy c:\oracle\backup\REDO02.LOG c:\oracle\oradata\ORAMTN\REDO02.LOG ;
host copy c:\oracle\backup\REDO03.LOG c:\oracle\oradata\ORAMTN\REDO03.LOG ;

host copy c:\oracle\backup\CONTROL01.CTL c:\oracle\oradata\ORAMTN\CONTROL01.CTL ;


host copy c:\oracle\backup\CONTROL02.CTL c:\oracle\oradata\ORAMTN\CONTROL02.CTL ;
host copy c:\oracle\backup\CONTROL03.CTL c:\oracle\oradata\ORAMTN\CONTROL03.CTL ;

Startup mount;
RECOVER DATABASE;
Alter database open;

A la fin vérifier dans la Base de Données que votre restauration est réussie.
9-3 BACKUP/RECOVER avec RMAN

RMAN (Recovery Manager) est un utilitaire standard de la base de données Oracle. Il permet de gérer les
opérations de sauvegarde/restauration de manière souple et optimisée.

9-3-1 BACKUP avec RMAN


Pour faire le Backup avec RMAN il faut d’abord créer une base de données (hôte) qui va contenir le catalog dans lequel les
données de la base de donnée (cible) vont être sauvegarder, ensuite il faut se connecter à la base (hôte) en tant que
sysdba avec la commande connect / as sysdba. Dans notre cas nous avons comme base de données cible ORAMTN et la
base de données hôte est SAVEMTN.

Les étapes à suivre dans base de données SAVEMTN sont les suivantes :

1- connect / as sysdba
2- create tablespace rmantbs
datafile 'C:\oracle\oradata\SAVEMTN\rman01.dbf'

size 25M extent management local ;

3- create user rmanu identified by rmanu

default tablespace rmantbs

quota unlimited on rmantbs

account unlock ;

4- grant connect,resource ,recovery_catalog_owner to rmanu;

5- $rman catalog rmanu/rmanu@SAVEMTN target /

6- create catalog tablespace rmantbs;

Ce point nous permet de créer le catalog dans SAVEMTN.

Il faut fermer le rman avec la commande EXIT puis se reconnecter avec la comande :

7 - $rman catalog rmanu/rmanu@SAVEMTN target system/****@ORAMTN

8 - register database;
Ce point nous permet d’enregistrer la base de données ORAMTN dans le catalog de SAVEMTN. Vous pouvez maintenant
effectuer la sauvegarde des données mais créer d’abord le répertoire qui doit contenir les données sauvegardées sur le
disque.

RMAN permet trois types de sauvegardes (BACKUP) :

 Sauvegarde COMPLET (ou FULL) : on sauvegarde tous les blocs


 Sauvegarde DIFFERENTIEL : on sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau
n ou inférieur
 Sauvegarde CUMULATIF : on sauvegarde uniquement les blocs modifiés depuis la précédente sauvegarde de niveau n-
1

1- Sauvegarde COMPLET

Pour faire la sauvegarde complète de la base utilisée le script suivant :

run

allocate channel c1 type disk;

BACKUP DATAFILE 1 format 'C:\oracle\backuprman\system01_%s_%p' ;

BACKUP DATAFILE 2 format 'C:\oracle\backuprman\undotbs01_%s_%p' ;

BACKUP DATAFILE 3 format 'C:\oracle\backuprman\cwmlite01_%s_%p' ;

BACKUP DATAFILE 4 format 'C:\oracle\backuprman\drsys01_%s_%p' ;

BACKUP DATAFILE 5 format 'C:\oracle\backuprman\example01_%s_%p' ;

BACKUP DATAFILE 6 format 'C:\oracle\backuprman\indx01_%s_%p';

BACKUP DATAFILE 7 format 'C:\oracle\backuprman\odm01_%s_%p' ;

BACKUP DATAFILE 8 format 'C:\oracle\backuprman\tools01_%s_%p' ;

BACKUP DATAFILE 9 format 'C:\oracle\backuprman\users01_%s_%p' ;

BACKUP DATAFILE 10 format 'C:\oracle\backuprman\xdb01_%s_%p' ;

BACKUP CURRENT CONTROLFILE format

'C:\oracle\backuprman\fcontrol ' ;

BACKUP ARCHIVELOG ALL format 'C:\oracle\backuprman\archlog_%s_%p' ;

release channel c1;

}
2- Sauvegarde DIFFERENTIEL

La sauvegarde différentiel consiste à sauvegarder uniquement les blocs modifiés depuis la précédente sauvegarde de
niveau n ou inférieur

Pour faire une sauvegarde différentielle de la base il faut d’abord faire une sauvegarde de niveau 0 grâce au script suivant :

run

allocate channel c2 type disk;

backup INCREMENTAL LEVEL 0 tag 'bkplevel0' database format 'c:\oracle\backuprman\dblv0%u';

backup archivelog all delete all input format 'C:\oracle\backuprman\arcbkplv0_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv0_%p';

release channel c2;

Ensuite faites la sauvegarde différentielle de niveau 1 grâce au script suivant :


run

allocate channel c3 type disk;

backup INCREMENTAL LEVEL 1 tag 'bkplevel1' database format 'c:\oracle\backuprman\dblv1%u';

backup archivelog all format 'C:\oracle\backuprman\arcbkplv1_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv1_%p';

release channel c3;

Enfin faites la sauvegarde différentielle de niveau 2 grâce au script suivant :

run

allocate channel c4 type disk;

backup INCREMENTAL LEVEL 2 tag 'bkplevel2' database format 'c:\oracle\backuprman\dblv2%u';

backup archivelog all format 'C:\oracle\backuprman\arcbkplv2_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv2_%p';

release channel c4;

}
2- Sauvegarde CUMULATIVE

La sauvegarde cumulative consiste à sauvegarder uniquement les blocs modifiés depuis la précédente sauvegarde de
niveau n-1

Pour faire une sauvegarde cumulative de la base il faut d’abord faire une sauvegarde de niveau 0 grâce au script suivant :

run

allocate channel c2 type disk;

backup INCREMENTAL LEVEL 0 tag 'bkplevel0' database format 'c:\oracle\backuprman\dblv0_%s_%u';

backup archivelog all delete all input format 'C:\oracle\backuprman\arcbkplv0_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv0_%s_%p';

release channel c2;

Ensuite faites la sauvegarde cumulative de niveau 1 grâce au script suivant :


run

allocate channel c5 type disk;

backup INCREMENTAL LEVEL 1 CUMULATIVE tag 'bkplevel1c' database format 'c:\oracle\backuprman\dblv1c_%s_%u';

backup archivelog all format 'C:\oracle\backuprman\arcbkplv1c_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv1c_%s_%p';

release channel c5;

Enfin faites la sauvegarde cumulative de niveau 2 grâce au script suivant :

run

allocate channel c6 type disk;

backup INCREMENTAL LEVEL 2 CUMULATIVE tag 'bkplevel2c' database format 'c:\oracle\backuprman\dblv2c_%s_%u';

backup archivelog all format 'C:\oracle\backuprman\arcbkplv2c_%d_%s_%p';

backup current controlfile format 'C:\oracle\backuprman\fctrlv2c_%s_%p';

release channel c6;

}
9-3-2 Restaurer avec RMAN

Pour restaurer les données à partir de RMAN, il faut :

1- Arrêter la Base de Données : shutdown immediate;

2- Supprimer les fichiers archives du RDMS (C:\oracle\ora92\rdbms)

3- Renommer les fichiers REDDO LOG

Il faut ensuite exécuter le script suivant pour faire la restauration des données :

run

startup nomount;

allocate channel c1 type disk;

RESTORE CONTROLFILE FROM ‘C:\oracle\backuprman\fcontrol';

restore database;

startup mount;

recover database;

release channel c1;

A la fin de ce script Redonner aux fichiers les noms initiaux et vérifier que les archives ont été bien restauré dans le RDMS

Pour finir il faut ouvrir la base à l’aide de l’instruction suivante :

alter database open resetlogs;


SECURITE ET SURVEILLANCE DE LA BASE DE DONNEES

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


Sécurité de la base de données

Un système sécurisé garantit la confidentialité des


données qu'il contient. La sécurité englobe plusieurs
aspects :
• Limiter l'accès aux données et aux services
• Authentifier les utilisateurs
• Surveiller les activités suspectes

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

Sécurité de la base de données

Oracle Database 11g offre le meilleur environnement possible pour un système sécurisé.
Pour que cet environnement soit efficace, il faut toutefois que le DBA respecte les
recommandations et surveille en permanence l'activité de la base de données.

• Limiter l'accès aux données et aux services

Les utilisateurs ne doivent pas tous avoir accès à toutes les données. Selon les données
stockées dans la base, un accès restreint peut s'avérer nécessaire pour diverses raisons :
exigences métier, attentes des clients ou encore (de plus en plus souvent) restrictions
légales. Les informations relatives aux cartes bancaires, à la santé, à l'identité, etc.
doivent être protégées contre tout accès non autorisé. La base Oracle fournit des
contrôles d'autorisation de niveau très fin pour limiter les accès. Pour la définition des
accès, il convient d'appliquer le principe du moindre privilège.
. Authentifier les utilisateurs

Pour appliquer les contrôles d'accès aux données sensibles, le système doit d'abord savoir
qui tente d'accéder aux données. Une authentification compromise peut rendre inutiles
toutes les autres précautions de sécurité. La forme la plus élémentaire d'authentification
consiste à demander à l'utilisateur d'indiquer quelque chose qu'il connaît, par exemple un
mot de passe. Les comptes utilisateur qui ne sont pas employés doivent être verrouillés afin d'éviter
toute tentative de compromission de l'authentification.

• Surveiller les activités suspectes

Même autorisés et authentifiés, les utilisateurs peuvent parfois compromettre le système.


L'identification d'une activité de base de données inhabituelle (par exemple, un employé
qui commence soudain à interroger de grandes quantités d'informations de carte bancaire,
de résultats de recherche ou d'autres informations sensibles) peut être la première étape
de la détection d'un vol d'informations. La base de données Oracle offre un ensemble
complet d'outils d'audit permettant le suivi des activités des utilisateurs et l'identification
de tendances suspectes.
Principe du moindre privilège

• Installez uniquement les logiciels requis sur


l'ordinateur.
• Activez uniquement les services requis sur l'ordinateur.
• N'accordez l'accès au système d'exploitation et à la
base de données qu'aux utilisateurs qui en ont besoin.
• Limitez l'accès au compte root ou administrateur.
• Limitez l'accès aux comptes SYSDBA et SYSOPER.
• Limitez l'accès des utilisateurs aux seuls objets de
base de données qui sont nécessaires à la réalisation
de leur travail.
• Révoquez les privilèges non nécessaires dans PUBLIC
• Limitez l'authentification à distance auprès de la base
de données :

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

Principe du moindre privilège

Appliquez le principe du moindre privilège à chaque niveau, en partant des niveaux

inférieurs. Il existe toujours de nouvelles exploitations de faille de sécurité ("exploit")

impossibles à anticiper. L'application de ce principe permet de réduire les risques de telles

exploitations et de limiter les dommages.


Surveiller la conformité aux règles de sécurité

La surveillance ou l'audit doit faire partie intégrante des


procédures de sécurité.
Déterminez les types d'audit appropriés parmi les
suivants :
• Audit obligatoire
• Audit de base de données standard
• Audit basé sur les données
• Audit détaillé
• Audit de DBA

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

Surveiller la conformité aux règles de sécurité


L'audit consiste à capturer et à stocker les informations relatives à ce qui se passe dans le
système. Cette opération accroît la quantité de travail que le système doit réaliser. Elle doit
donc être ciblée de telle sorte que seuls les événements présentant un intérêt soient capturés.
Un audit correctement ciblé présente un impact minimal sur les performances du système.
En revanche, un audit ciblé de manière incorrecte peut affecter les performances de manière
significative.
• Audit obligatoire : Toutes les bases de données Oracle auditent certaines actions
indépendamment des options ou paramètres d'audit. En effet, la base doit enregistrer
certaines activités telles que les connexions d'utilisateurs dotés de privilèges.
• Audit de base de données standard : Ce type d'audit est activé au niveau du système à
l'aide du paramètre d'initialisation AUDIT_TRAIL . Après avoir activé l'audit,
sélectionnez les objets et les privilèges à auditer et définissez les propriétés d'audit à
l'aide de la commande AUDIT .
• Audit basé sur les données : Extension de l'audit de base de données standard qui
capture non seulement la survenue de l'événement audité, mais également les valeurs
insérées, mises à jour ou supprimées. L'audit basé sur les données est implémenté par
l'intermédiaire de déclencheurs (triggers) de base de données.
• Audit détaillé (FGA - fine-grained auditing) : Extension de l'audit de base de données
standard qui capture l'instruction SQL exécutée, et pas uniquement le fait que
l'événement s'est produit.
• Audit de DBA : Répartit les tâches d'audit entre le DBA et un auditeur ou administrateur
de sécurité qui surveille les activités du DBA via une trace d'audit au niveau du système
d'exploitation.
Audit de base de données

1 Activer
l'audit de Fichier de
DBA base de données Utilisateur
paramètres
Exécute une
2 Définir les options d'audit commande

Base de données

Processus
serveur
Options
Générer la
d'audit
trace d'audit
3 Examiner les
informations d'audit
Trace
d'audit Trace d'audit du
4 Gérer la syst. d'expl. ou
trace d'audit XML

EXAMPLE DE REQUETE
POUR ACTIVER ET
VERIFIER L’AUDIT TRAIL

AUDIT CREATE ANY TABLE,


DROP ANY TABLE BY scott
;

AUDIT INSERT ,UPDATE ,


DELETE ON scott.dept;

SELECT *
FROM dba_audit_trail
WHERE username='SCOTT'
ORDER BY timestamp DESC;
Audit de base de données

Une fois que vous avez activé l'audit de la base de données et indiqué les options d'audit

(événements de connexion, utilisation de privilèges système et de privilèges objet, utilisation

d'instructions SQL), la base commence à collecter les informations d'audit.

Si le paramètre AUDIT_TRAIL a la valeur OS , les enregistrements d'audit sont stockés dans

le système d'audit du système d'exploitation. Dans un environnement Windows, il s'agit du

journal des événements. Dans un environnement UNIX ou Linux, les enregistrements d'audit

sont stockés dans un fichier indiqué par le paramètre AUDIT_FILE_DEST .

Si le paramètre AUDIT_TRAIL a la valeur DB , vous pouvez consulter les enregistrements

d'audit dans la vue DBA_AUDIT_TRAIL faisant partie du schéma SYS .

Si le paramètre AUDIT_TRAIL a la valeur XML ou XML,EXTENDED , les enregistrements

d'audit sont écrits dans des fichiers XML, dans le répertoire désigné par le paramètre

AUDIT_FILE_DEST . Vous pouvez consulter tous les fichiers XML de ce répertoire dans la

vue V$XML_AUDIT_TRAIL .

La maintenance de la trace d'audit est une tâche administrative importante. Selon le ciblage

des options d'audit, la taille de la trace d'audit peut augmenter très rapidement. En l'absence

d'une maintenance appropriée, la trace d'audit peut créer un tel nombre d'enregistrements

qu'elle affecte les performances du système. La surcharge est directement liée à la quantité

d'enregistrements d'audit.
Conclusion

Le présent cours constitue un point de départ pour l'étude des fonctionnalités Oracle

Pour plus d'informations, reportez-vous aux manuels suivants :

• Oracle Database Concepts 11g Release 1 (11.1)

• Oracle Database Administrator's Guide 11g Release 1 (11.1)

• Oracle Database Security Guide 11g Release 1 (11.1)

Les cours suivants fournissent une formation complémentaire :

• Oracle Database 11g : Administration Workshop

• Oracle Database 11g : Security

Vous aimerez peut-être aussi