Vous êtes sur la page 1sur 264

Administration des bases de donnes

Khaled Jouini j.khaled@gmail.com


Institut Suprieur d'Informatique et des Technologies de Communication

2012-2013

1 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

1 / 228

La reproduction de ce document par tout moyen que ce soit, sans l'avis de l'auteur, est interdite conformment aux lois protgeant la proprit intellectuelle

Ce document peut comporter des erreurs, utiliser donc en connaissance de cause!

2 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

2 / 228

Syllabus du cours
SQL la maison
Oracle Database 11g Personal Edition ou ( dfaut) Oracle Database 11g Express Edition. http://www.oracle.com/technetwork/indexes/downloads/index.html

Pour en savoir plus...


Documentation Oracle : http://www.oracle.com/technetwork/documentation/. En anglais, 2000 pages sur l'administration
Oracle 11g Administration,

O. Heurtel, eni Editions, Nov. 2008 Ch. Dawes, B.

Bryla, J.C. Johnson, M. Weishan. Sybex, 2005.

OCA : Oracle 10g Administration I Study Guide (1Z0-042),

3 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

3 / 228

Introduction gnrale

Prsentation d'Oracle

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle Serveur de BD Oracle Rles du DBA Principaux outils d'administration Plan du cours

4 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

4 / 228

Introduction gnrale

Prsentation d'Oracle

Prsentation d'Oracle
Oracle : leader mondial des SGBDRs, avec une part de march de 48,6% (Gartner Group) Commercialise dirents produits : Oracle DataBase, Oracle Developer Suite, Oracle Application Server, etc. Oracle DataBase : Serveur de base de donnes produit principal d'Oracle pass de la version 1 (1977) la version 11g (2010).

4 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

4 / 228

Introduction gnrale

Serveur de BD Oracle

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle Serveur de BD Oracle Rles du DBA Principaux outils d'administration Plan du cours

5 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

5 / 228

Introduction gnrale

Serveur de BD Oracle

Oracle DataBase
Commercialisation selon trois gammes : personnelle, standard et entreprise. Edition Personnelle (Personal Edition)
Monolicence Destine aux dveloppeurs

Edition Standard (Standard Edition)


Comporte toutes les fonctionnalits de base pour mettre en oeuvre une architecture client/serveur Destine des serveurs avec une capacit maximale de 4 processeurs (2 pour l'dition standard One)

5 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

5 / 228

Introduction gnrale

Serveur de BD Oracle

Oracle DataBase
Edition Entreprise (Entreprise Edition)
Fonctionnalits supplmentaires pour l'amlioration de la disponibilit, scurit, administration, etc. Real Application Clusters (RAC): serveurs en cluster (BDs rparties) Oracle Partitioning : partitionnement des tables et des index Advanced Security Option : cryptage (essentiellement) Oracle Tuning Pack : outil d'aide l'optimisation des performances Oracle Olap and datamining : outils d'aide la mise en place de systmes dcisionnels etc.

6 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

6 / 228

Introduction gnrale

Serveur de BD Oracle

Architecture d'un serveur de BD Oracle


Principales composantes d'un serveur de BD Oracle
1

La base de donnes

Ensemble de chiers contenant, entre autres, les donnes, les informations sur les donnes (le dictionnaire de donnes) et les journaux de modication sur les donnes (chiers log) Ensemble de processus et de zones en mmoire vive permettant la gestion de la base de donnes. Une BD n'est disponible pour utilisation que si elle est associ une instance

L'instance

7 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

7 / 228

Introduction gnrale

Serveur de BD Oracle

Architecture d'un serveur de BD Oracle

8 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

8 / 228

Introduction gnrale

Serveur de BD Oracle

Catgories de BD
BDs transactionnelles (OLTP
: On Line Transaction Processing)

Forte activit de mises jour (insert/delete/update) sous forme de transactions courtes Nombre important d'utilisateurs concurrents Exigence de temps de rponse court

BDs dcisionnelles (OLAP

: Online analytical processing)

Systme d'aide la dcision Mises--jour oine par lot, priodique Forte activit d'interrogation (select)

9 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

9 / 228

Introduction gnrale

Rles du DBA

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle Serveur de BD Oracle Rles du DBA Principaux outils d'administration Plan du cours

10 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

10 / 228

Introduction gnrale

Rles du DBA

Rles du DBA
1

Installation et conguration du SGBD et des applications clientes (rle technique) Planication et cration des bases de donnes Gestion de l'espace de stockage Gestion des comptes des utilisateurs et des droits d'accs Dploiement des procdures de sauvegarde et de rcupration pour protger la base de donnes Optimisation des performances d'accs aux donnes. Gestion des aspects rseau

2 3 4 5

6 7

10 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

10 / 228

Introduction gnrale

Principaux outils d'administration

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle Serveur de BD Oracle Rles du DBA Principaux outils d'administration Plan du cours

11 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

11 / 228

Introduction gnrale

Principaux outils d'administration

Principaux outils d'administration


Oracle

Oracle Universal Installer :

interface graphique pour l'installation des outils

Oracle DataBase Conguration Assistant : DataBase Upgrade Assistant :


version une autre rseau

assistant pour la cration et la conguration d'une base de donnes partir d'un modle par dfaut (OLTP, OLAP ou mixte) assistant pour migration du serveur d'une assistant pour la conguration des accs en

Net Conguration Assistant : Oracle Entreprise Manager : SQL*Plus :

interface graphique permettant d'eectuer les tches d'administration et de maintenance application cliente du serveur de BD. Il s'agit d'un interprteur de commandes SQL

11 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

11 / 228

Introduction gnrale

Plan du cours

Chapitre 1 - Introduction gnrale


Prsentation d'Oracle Serveur de BD Oracle Rles du DBA Principaux outils d'administration Plan du cours

12 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

12 / 228

Introduction gnrale

Plan du cours

1 2 3 4 5 6 7 8

Introduction gnrale Concepts de base sur le stockage de donnes Gestion des tablespaces et des chiers de donnes Les bases de l'architecture Oracle Gestion de l'instance Gestion des utilisateurs Cration manuelle d'une BD et conguration du rseau Sauvegarde et rcupration

12 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

12 / 228

Concepts de base sur le stockage de donnes

Introduction

Chapitre 2 - Concepts de base sur le stockage de donnes


Introduction I. Structures physiques de stockage II. Technologie RAID III. Structures logiques de stockage sous Oracle

13 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

13 / 228

Concepts de base sur le stockage de donnes

Introduction

Hirarchie des mmoires

Figure: Hirarchie des mmoires


13 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 13 / 228

Concepts de base sur le stockage de donnes

Introduction

Hirarchie des mmoires


Mmoire vive
Espace de travail du processeur : toute donne ou tout programme doit tre charg en mmoire vive avant d'tre trait par le processeur Mmoire volatile : perd son contenu lorsque la machine est teinte

Disque dur
Mmoire persistante : ne perd pas son contenu lorsque la machine est teinte Grande capacit de stockage par rapport la mmoire vive Lent : 1 accs au disque dur 1 million d'accs la mmoire vive

14 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

14 / 228

Concepts de base sur le stockage de donnes

Introduction

Objectifs d'un SGBD


Base de donnes : ensemble de chiers stocks sur disque(s) dur(s) Raisons du stockage sur disque
Lenteur du disque
1 Souvent : taille de la base > taille mmoire vive 2 Persistance

Problmes potentiels de performance

SGBD

Organiser les donnes de manire minimiser le temps d'accs aux donnes Orir les outils de paramtrage et de contrle pour exploiter au mieux les ressources matrielles

Ce chapitre...

1 Structures physiques de stockage 2 Structures logiques de stockage sous Oracle

15 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

15 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

Chapitre 2 - Concepts de base sur le stockage de donnes


Introduction I. Structures physiques de stockage
1. Fonctionnement d'un disque 2. Optimisation 3. Fichiers et enregistrements

II. Technologie RAID III. Structures logiques de stockage sous Oracle

16 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

16 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

1. Fonctionnement d'un disque - a. Dispositif


Disque dur
Ensemble de plateaux tournant vitesse constante autour d'un axe

+ ttes de L/E se dplaant

perpendiculairement l'axe Plateau : compos de pistes concentriques Piste : divise en blocs contenant les donnes

Contrleur : reoit les demandes de L/E et les transforme en mouvements appropris des ttes de lecture

16 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

16 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

1. Fonctionnement d'un disque - b. Bloc


Bloc
Unit d'change entre la mmoire vive et le disque Taille typique : 512 octets

Accs un bloc Par son adresse :


bloc sur la piste
1 2 3

numro du plateau + numro de la piste + numro du

Temps de lecture
contenant le bloc tte de lecture

Dlai de positionnement : positionnement de la tte de lecture sur la piste Temps de latence : rotation du disque pour attendre que le bloc passe sous la Temps de transfert (ngligeable) : transfert du bloc vers la mmoire vive

17 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

17 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - a. Proximit
Dnition (Proximit)
Mettre dans un nombre minimal de blocs les donnes qui sont frquemment utilises en mme temps Ex. les clients d'une mme ville Permet de rduire le

nombre de blocs transfrs en mmoire vive

18 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

18 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - b. Regroupement
Dnition (Regroupement)
Mettre dans des blocs conscutifs les donnes qui ont de grandes chances d'tre utilises en mme temps Ex. les tuples d'une mme relation

temps de latence

Permet de rduire le

dlai de positionnement de la tte de lecture et le principe de localit spatiale

Proximit et regroupement

19 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

19 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

Exercice
Un SGBD doit lire 5 chanes de caractres de 1000 octets chacune. Caractristiques du disque : Taille de bloc : 4096 octets, Dlai de positionnement : 6 ms, Temps de latence moyen : 3 ms, Temps de transfert : 1 ms Temps ncessaire pour lire les chanes en supposant tour tour que :

a Les chanes se trouvent dans des blocs dirents rpartis alatoirement sur le disque b les chanes se trouvent dans des blocs dirents se trouvant les uns cot des
autres sur une mme piste

c les chanes se trouvent cot les unes des autres dans des blocs conscutifs.

20 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

20 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer )


Dnition (Tampon mmoire)
Zone en mmoire vive destine garder des copies d'une partie des blocs se trouvant sur le disque Chaque fois qu'un bloc est lu, une copie en est garde dans le tampon pour que l'on puisse l'utiliser ultrieurement Accs un bloc : vrier d'abord s'il ne se trouve pas dj en mmoire vive avant de le lire depuis le disque principe de localit temporelle Taille du tampon : paramtrable dans la plupart des SGBD

21 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

21 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

2. Optimisation - c. Tampon mmoire (Buer )


Tampon satur : plusieurs stratgies

LRU (Least Recently Used ) :


rcemment lu

le bloc le plus rcemment lu, remplace le moins

Touch Count : le bloc le plus rcemment lu remplace celui qui totalise le moins d'utilisations
Exemple
Taille tampon : 3 blocs Utilisation des blocs : t1 Ba , t2 Bb , t3 Bb , t4 Bc , t5 Ba et t6 B d Quel bloc est remplac t6 ?
Selon LRU : Selon Touch Count :

22 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

22 / 228

Concepts de base sur le stockage de donnes

I. Structures physiques de stockage

3. Fichiers et enregistrements
Le stockage des donnes sur disque : organis au moyen de Fichier
Occupe un ou plusieurs blocs pouvant tre disperss sur le disque Compos d'un ensemble d'enregistrements (records)

chiers

Enregistrement : stocke physiquement un objet du SGBD Exemples :


Fichier de donnes : un enregistrement stocke la valeur d'un tuple Fichier log : un enregistrement stocke une action fate sur un tuple

23 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

23 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

Chapitre 2 - Concepts de base sur le stockage de donnes


Introduction I. Structures physiques de stockage II. Technologie RAID III. Structures logiques de stockage sous Oracle
1. Prsentation 2. Niveaux

24 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

24 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

1. Prsentation
Dure de vie d'un disque dur magntique
Prs de 100,000 heures en moyenne, soit prs de 11 ans (avant qu'il ne tombe en panne) Risque de panne pour un disque parmi 100, grossirement estim 100,000/100=1000 heures soit 42 jours Si la dfaillance d'un disque entrane une perte de donnes, ce risque est trop important

Technologie RAID (Redundant Array of Independent Disks)


Ide : il est plus intressant d'un point de vue, cot, abilit et performances de combiner plusieurs disques "grand march" que d'avoir un seul disque dur haute performance et grande capacit Objectif 1 : limiter les consquences des pannes matrielles en rpartissant

les donnes sur un grand nombre de disques Objectif 2 : acclrer l'accs aux donnes

Il existe plusieurs niveaux RAID (de 0 6), chacun atteignant l'un ou les deux objectifs prcdents.
24 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 24 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - a. RAID 0
RAID 0 : volume agrg par bandes (Striping) Principe
Chaque chier est divis en bandes (Stripes) de taille xe (Ex. 64 ko) Chaque bande est stocke sur un disque dirent L'accs (en L/E) aux direntes bandes d'un mme chier peut ainsi se faire en parallle

Amliore les performances, mais

ne protge pas des pannes

25 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

25 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - b. RAID 1
RAID 1 : Disques en miroir (Mirroring) Principe :
Au moins deux disques : un disque principal et des disques miroirs Les critures s'eectuent en parallle sur le principal et ses miroirs.

Excellente protection des donnes Permet certaines optimisations en lecture : Ex. la demande d'accs un bloc peut tre tre transmise au disque dont la tte de lecture est la plus proche de la piste contenant le bloc.

perdu

Coteux (de moins en moins vrai) : la

moiti de l'espace de stockage est

26 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

26 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - b. RAID 1
RAID 1 : Disques en miroir (Mirroring)

27 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

27 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - c. RAID 4
RAID 4 : Rpartition et parit Principe
Considrer n 1 disques de la grappe comme tant un seul Rpartir les donnes du les n 1 disques L'unit de rpartition est le bloc : le premier est aect au premier disque le deuxime au deuxime disque est ainsi de suite Pas de redondance, mais utilisation de la parit et d'un disque supplmentaire pour reconstruire l'information perdue

Parit
Bit de parit : =0 si le nombre de 1 est paire et =1 sinon (OU EXclusif) Exemple disque 1 disque 2 disque C 1100 0110 1010

Si un des disques est endommag, il est possible de reconstruire l'information partir des n 1 autres disques et du disque de contrle
28 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 28 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - c. RAID 4
RAID 4 : Rpartition et parit

29 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

29 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - c. RAID 4
RAID 4 : Rpartition et parit
Avantage
Un seul disque supplmentaire est ncessaire quel que soit le nombre de disques de donnes

Limites
Si plus d'un disque est endommag la fois (improbable), impossible de reconstruire l'information perdue Le disque de contrle est un goulot d'tranglement : il subit n 1 fois plus d'criture que les autres disques (n nombre total de disques) Reconstruction lente pour les disques volumineux

30 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

30 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - d. RAID 5
RAID 5 : volume agrg par bandes parit rpartie
Principe
Mme principe que le RAID 4 Pour viter d'avoir un goulot d'tranglement, les blocs de contrle ne sont pas stocks dans un seul disque, mais rpartis sur les dirents disques (de la mme manire que les blocs de donnes)

31 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

31 / 228

Concepts de base sur le stockage de donnes

II. Technologie RAID

2. Niveaux - e. RAID 1+0


RAID 1+0
Principe
Combine le RAID 1 et le RAID 0 utiliser le miroring , puis le striping
ncessite au moins 4 disques

Combine les avantages mirroring et du du striping niveau recommand pour les chiers de donnes s'il existe susamment de disques (autrement on utilise gnralement le RAID 5) Appel galement architecture SAME (Strip And Mirror Everything)

32 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

32 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

Chapitre 2 - Concepts de base sur le stockage de donnes


Introduction I. Structures physiques de stockage II. Technologie RAID III. Structures logiques de stockage sous Oracle
1. 2. 3. 4. Bloc Oracle Extension Segment Tablespace

33 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

33 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - a. Dnition


Bloc Oracle (Block)
Plus petite unit de stockage et de transfert de donnes utilise par Oracle De taille paramtrable : correspond un multiple de bloc disque

Intrt :

Rduire le nombre d'accs au(x) disque(s) en transmettant plus d'informations la fois chaque accs

Cependant, une taille de bloc "trop" grande : risque de saturer rapidement le tampon mmoire avec des donnes inutiles
La "bonne" taille dpend de l'application

Paramtre DB_BLOCK_SIZE
Pour consulter la taille d'un bloc Oracle partir de SQL*PLUS : SQL> show parameter DB_BLOCK_SIZE

33 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

33 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - b. Structure


Structure d'un bloc Oracle, essentiellement :
1 Entte : contient l'adresse du bloc 2 Rpertoire des tables : liste des tables des donnes stockes 3 Rpertoire des enregistrements : adresse des enregistrements stocks 4 Espace libre 5 Espace des donnes : contient les enregistrements

34 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

34 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


satur
1

Problme :

Mise--jour (UPDATE) augmentant la taille d'un tuple dans un bloc

Conduit au dplacement d'une partie ou de tout un enregistrement dans un autre bloc Chanage Chanage : opration coteuse en terme de temps d'excution, surtout si rpte pour chaque m--j + dgradation du temps ncessaire pour lire les tuples chans

Solution :

rserver un espace dans un bloc pour permettre l'augmentation de la taille des enregistrements due aux m--j

35 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

35 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Deux paramtres PCTFREE et PCTUSED spcis lors de la cration d'une table

PCTFREE (PerCenT FREE)


Pourcentage minimum d'espace libre rserv pour permettre l'accroissement de la taille des enregistrements d aux mises jour Si taux de remplissage >= 100-PCTFREE bloc plein : mises--jour et suppressions autorises, insertions interdites

PCTFREE=

Taille moyenne d un tuple Taille initiale d un tuple 100 Taille moyenne d un tuple

Par dfaut 10%

36 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

36 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


PCTUSED (PerCenT USED)
Pourcentage minimum d'espace devant tre occup par les enregistrements Si taux de remplissage <= PCTUSED bloc disponible : les insertions peuvent y reprendre Par dfaut 40%

? Quel intrt considrer PCTUSED et non 100-PCTFREE, pour reprendre les


insertions
La gestion des blocs disponibles/indisponibles est moins intensive

37 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

37 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 1
CREATE TABLE Produit (pnom VARCHAR(20), prix INTEGER) PCTFREE 30, PCTUSED 40;
1 2

Les insertions sont autorises jusqu' ce que le bloc soit plein Lorsque le bloc est plein 70 %
1 Les insertions sont interdites dans le bloc ; 2 Suppressions et modications sont autorises ;

Les insertions sont nouveau autorises si le taux de remplissage devient infrieur

Au pire, quel pourcentage du bloc reste inutilis?

38 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

38 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Exemple 2
Considrons une table o :
1 2 3

Les insertions (INSERT), les suppressions (DELETE) et les m--j (UPDATE) sont frquentes; Les mises jour n'augmentent pas la taille des tuples signicativement; La table est volumineuse et conomiser l'espace de stockage est primordial

Quelles valeurs choisir pour PCTFREE et PCTUSED?

Pas besoin de rserver beaucoup d'espace pour les m--j : petite valeur pour PCTFREE (Ex. 5) Rcuprer rapidement les espaces librs par les DELETE : grande valeur pour PCTUSED (Ex. 60)

39 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

39 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

1. Bloc Oracle - c. Contrle du remplissage


Modication de PCTFREE et de PCTUSED
ALTER TABLE
table _name

PCTFREE

int ;

ALTER TABLE PRODUIT PCTFREE 20;

ALTER TABLE

table _name

PCTUSED

int ;

ALTER TABLE PRODUIT PCTUSED 50;

40 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

40 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

2. Extension
Extension (Extent)
Ensemble de blocs Oracle

contigus stockant un mme type de donnes

Ex. des tuples d'une mme relation

Objectif : amliorer le regroupement et donc rduire le temps de ncessaire pour lire des donnes d'un mme type

41 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

41 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

3. Segment - a. Dnition
Segment (Segment)
Ensemble de toutes les extensions stockant les donnes d'un mme type (Ex. les tuples d'une mme table) Il existe quatre types de segment

Segment de table : espace occup par les tuples d'une table Segment d'index : espace occup par un index Segment d'annulation : espace occup par les images des donnes avant que
celles-ci ne soient modies

Segment temporaire : espace temporaire o sont stockes les donnes


temporaires utilises lors d'un tri, d'une jointure, etc.

Les segments sont groups dans des

tablespaces

42 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

42 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Segment)

(RollBack

Problme :
autre

Ncessit d'annuler des actions sur les donnes, suite une panne ou

Exemple :

virement bancaire de 100DT d'un compte A un compte B

2 actions : dbiter A de 100 et crditer B de 100 A est dbit, mais une panne empche B d'tre crdit

la mise--jour de A doit tre annule!! il est ncessaire de garder une

image de A avant sa mise--jour

il est ncessaire de savoir avec quelles autres actions la mise--jour de A forme une squence d'oprations indivisible (=transaction)

43 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

43 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

3. Segment - b. Segment d'annulation


Segment)

(RollBack

Transaction ACID (Atomicit, Cohrence, Isolation, Durabilit)


Action ou squence d'actions d'un utilisateur ou d'une application qui doivent tre excutes, soit toutes, soit aucune Commence par un BEGIN TRANSACTION et se termine par un COMMIT (validation) ou un ROLLBACK (annulation) Enchanement type
1 Transaction lance (BEGIN TRANSACTION) 2 Les nouvelles images des donnes modies sont stockes dans le segment de

table et les anciennes dans le segment d'annulation table

3 En cas de ROLLBACK, l'ancienne image remplace la nouvelle dans le segment de

Vue V$TRANSACTION : transactions utilisant le segment d'annulation actif

44 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

44 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

4. Tablespace
Tablespace Espace logique permettant d'organiser "logiquement" une base de donnes, par exemple un tablespace par thme
Contient un ou plusieurs segments (un segment appartient un et un seul tablespace) Stock physiquement dans un (au moins) ou plusieurs chiers, appels

chiers de donnes

Unit de sauvegarde/restauration

45 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

45 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

4. Tablespace
Exemple : BD grant la facturation et les RH 1 Tablespace Facturation :
Contient les tables (segments) facture, produit, client, ligne_fact, etc. Stock dans les chiers fact01.dbf et fact02.dbf
2

Tablespace RH :
Contient les tables (segments) Employ, Paie, Absence, etc. Stock dans les chiers rh01.dbf et rh02.dbf

46 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

46 / 228

Concepts de base sur le stockage de donnes

III. Structures logiques de stockage sous Oracle

En rsum...
Un tablespace ne peut appartenir qu' une seule base de donnes la fois. Un segment ne peut pas tre rparti sur plusieurs tablespaces, mais peut s'tendre plusieurs chiers de donnes d'un mme tablespace. Un extent ne peut appartenir qu' un seul chier.

Figure:
[

Oracle

Structures logiques et physiques de stockage

Concepts.

11g Release 2 (11.2). E10713-05

Fv. 2010]

47 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

47 / 228

Gestion des tablespaces et des chiers de donnes

I. Vue d'ensemble et directives

Chapitre 3 - Gestion des tablespaces et des chiers de donnes


I. Vue d'ensemble et directives II. Tablespaces grs localement III. Tablespaces temporaires et tablespaces d'annulation IV. Grer des tablespaces l'aide d'OMF V. Informations sur les tablespaces et les chiers

48 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

48 / 228

Gestion des tablespaces et des chiers de donnes

I. Vue d'ensemble et directives

Vue d'ensemble et directives


Une BD Oracle contient au minimum deux tablespaces crs en mme temps que la BD : SYSTEM et SYSAUX (depuis la version 10) Tablespace SYSAUX : contient les objets crs par les produits Oracle Tablespace SYSTEM :
Contient le dictionnaire de donnes, y compris les programmes stocks Contient le segment d'annulation SYSTEM Ne doit pas contenir les donnes des utilisateurs (bien que a soit possible)

Ncessit de crer d'autres tablespaces

48 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

48 / 228

Gestion des tablespaces et des chiers de donnes

I. Vue d'ensemble et directives

Vue d'ensemble et directives


En pratique, il est fortement recommand de crer :
Un tablespace UNDO (pour les segments d'annulation) : CREATE UNDO TABLESPACE... Un tablespace temporaire (pour les segments temporaires) : CREATE TEMPORARY TABLESPACE... Au moins un tablespace permanent (de donnes) pour viter de mettre les donnes utilisateurs dans SYSTEM : CREATE TABLESPACE...

En gnral, sparer les segments


1 Selon leur type : annulation, temporaire, d'index ou de table 2 Segments de table (de donnes) : selon les besoins de sauvegarde et de

maintenance

49 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

49 / 228

Gestion des tablespaces et des chiers de donnes

I. Vue d'ensemble et directives

Vue d'ensemble et directives


L'utilisation de plusieurs tablespaces permet :
1 2

Raliser des des maintenances et des sauvegardes/restaurations partielles quilibrer la charge en E/S et accs parallle : gnralement, un serveur utilise plusieurs disques et les chiers d'un mme tablespace sont stocks dans des disques dirents (Striping) Grer l'espace de stockage allou chaque utilisateur (Chapitre Gestion des utilisateurs) Sparer les donnes du dictionnaire de donnes des donnes applicatives Sparer les donnes de plusieurs applications stockes dans la mme BD Sparer le stockage des dirents types d'objets

4 5 6

50 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

50 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

Chapitre 3 - Gestion des tablespaces et des chiers de donnes


I. Vue d'ensemble et directives II. Tablespaces grs localement
1. Modes de gestion de l'espace 2. Cration 3. Modication

III. Tablespaces temporaires et tablespaces d'annulation IV. Grer des tablespaces l'aide d'OMF V. Informations sur les tablespaces et les chiers

51 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

51 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

a. Prsentation

1. Modes de gestion de l'espace dans un tablespace

Deux modes de gestion de l'allocation/libration des extensions d'un tablespace : localement et par le dictionnaire

Gestion par le dictionnaire de donnes


L'information sur la disponibilit des extensions est stocke dans le dictionnaire de donnes Les tables du dictionnaire sont mises jour lors de l'allocation ou libration d'une extension

Gestion locale ( partir de la version 8i)


Extensions libres grs au niveau du tablespace Un bitmap (par tablespace) reprsente les extensions libres/allous Chaque bit correspond un bloc ou un groupe de blocs La valeur des bits indique si ceux-si sont disponibles/utiliss
51 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 51 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

b. Avantages du mode local

1. Modes de gestion de l'espace dans un tablespace

Avantages du mode local + La contention est rduite au niveau du dictionnaire + Aucune donne d'annulation n'est gnre lors de l'allocaion/libration + Aucune fusion (dfragmentation ou coalesce) n'est requise Oracle recommande l'utilisation de la gestion locale

52 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

52 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- a. Syntaxe (non-exhaustive)

> Spcication du type du (des) chier(s) stockant le tablespace CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace > Spcication des chiers stockant le tablespace DATAFILE fich1 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]]
[,fich2 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]] [EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM[SIZE int]]] [SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]] [LOGGING|NOLOGGING] [BLOCKSIZE int ] [ONLINE|OFFLINE]

> Mode de gestion des extensions

> Mode de gestion des segments > Journalisation des oprations

> Taille des blocs du tablespace

> Accessibilit immdiate ou non du tablespace aprs la cration

53 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

53 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- b. BIGFILE vs. SMALLFILE

> Spcication du type du (des) chier(s) stockant le tablespace CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace

SMALLFILE : valeur par dfaut


Le tablespace peut contenir plusieurs ( millions de blocs Oracle) chiers 1022) "petits" chiers (taille 4

Avantages : striping et redimensionnement possible par ajout de nouveaux

BIGFILE ( partir de la version 10)


Un seul "gros" chier (taille 4 milliards de blocs Oracle) Possible uniquement pour les tablespaces grs localement Utile si le gestionnaire de volumes logiques utilise le striping Simplie la gestion

54 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

54 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- c. Fichiers de donnes

> Spcication des chiers stockant le tablespace


DATAFILE fich1 [REUSE] SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]] [,fich2... ]

REUSE : rutilisation du chier s'il existe. Sinon un message d'erreur s'ache AUTOEXTEND : augmentation automatique de la taille d'un chier NEXT : taille de l'espace supplmentaire allou au chier chaque fois que sa taille est augmente MAXSIZE : taille maximale du chier UNLIMITED : taille illimite. viter, un message d'erreur d'Oracle est prfrable un message d'erreur du SE, relay par Oracle.

55 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

55 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- c. Fichiers de donnes

> Spcication des chiers stockant le tablespace

Exemples
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M; CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON NEXT 5M; CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED; CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M AUTOEXTEND ON NEXT 5M MAXSIZE 100M, 'f_2.dbf' SIZE 40M AUTOEXTEND ON;

56 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

56 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- d. Mode de gestion des extensions

> Mode de gestion des extensions

[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM [SIZE int ]]]

LOCAL : gestion locale de l'espace AUTOALLOCATE : dtermination par Oracle de la taille optimale pour les extensions UNIFORM : toutes les extensions de tous les segments du tablespace ont la mme taille (par dfaut 1Mo). La taille doit correspondre au minimum 5 blocs Oracle

Exemple
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;

57 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

57 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

2. Cration

- e. Mode de gestion des segments

> Mode de gestion des segments

[SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]


Clause valide uniquement lorsque le tablespace est gr localement

AUTO : gestion des blocs disponibles pour l'insertion via des bitmaps MANUAL : gestion des blocs disponibles pour l'insertion via des FREE LISTS ( viter)

Exemple
CREATE TABLESPACE ts_01 DATAFILE 'f_1.dbf' SIZE 20 M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;

58 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

58 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

3. Modication

- a. Redimensionner un tablespace
se fait par

Redimensionner un tablespace :
1

L'ajout d'un nouveau chier de donnes


ALTER TABLESPACE nomTablespace ADD DATAFILE 'nomFichier ' SIZE int [K|M|G|T] [AUTOEXTEND [ON|OFF][NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]]];

2 La modication de la taille du (des) chier(s) de donnes

Manuellement ALTER DATABASE DATAFILE 'nomFichier' RESIZE int [K|M|G|T]; Automatiquement avec AUTOEXTEND ALTER DATABASE DATAFILE 'nomFichier' AUTOEXTEND ON [NEXT int [K|M|G|T] [MAXSIZE UNLIMITED|int [K|M|G|T]]];

59 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

59 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

3. Modication

- a. Redimensionner un tablespace

La vue DBA_DATA_FILES permet de savoir si AUTOEXTEND est activ


SQL> select tablespace_name, file_name, autoextensible 2 from dba_data_files; TABLESPACE_NAME FILE_NAME AUTOEXTENSIBLE -   SYSTEM /home/dba01/ORADATA/u01/system01.dbf YES DATA01 /home/dba01/ORADATA/u04/data01.dbf NO ...

60 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

60 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

3. Modication

- c. Mettre un tablespace hors ligne

Mettre un tablespace hors ligne


Hors ligne : donnes inaccessibles Tablespaces ne pouvant pas tre mis hors ligne
Tablespace SYSTEM Tablespaces contenant des segments d'annulation actifs Tablespace temporaire par dfaut

Mise d'un tablespace hors ligne


ALTER TABLESPACE nomTablespace OFFLINE
Mise d'un tablespace en ligne ALTER TABLESPACE nomTablespace ONLINE

61 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

61 / 228

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

3. Modication

- d. Suppression d'un tablespace

Suppression d'un tablespace


Tablespaces ne pouvant pas tre supprims
Tablespace SYSTEM Tablespaces ayant des segments d'annulation actifs

DROP TABLESPACE nomTablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS] ] INCLUDING CONTENTS : supprime les segments. Ncessaire si le tablespace n'est pas vide (sinon erreur ORA-01549..) INCLUDING CONTENTS AND DATAFILES : supprime les segments et les chiers de donnes CASCADE CONSTRAINTS : supprime les contraintes d'intgrit rfrentielle
Ordre DDL : pas de Rollback possible
62 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 62 / 228

Syntaxe

Gestion des tablespaces et des chiers de donnes

II. Tablespaces grs localement

3. Modication

- e. Autres oprations

Rendre un tablespace accessible en lecture uniquement


ALTER TABLESPACE nomTablespace READ ONLY;

Dsactivation de la journalisation ALTER TABLESPACE nomTablespace NOLOGGING; Aectation d'un segment de table un tablespace
1 Au moment de la cration de la table :

Exemple : CREATE TABLE Produit (...) TABLESPACE TS1;


2 Ultrieurement :

PCTFREE 10, PCTUSED 40,

ALTER TABLE nomTable MOVE TABLESPACE nomTablespace ; Exemple : ALTER TABLE Produit MOVE TABLESPACE TS 1;

63 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

63 / 228

Gestion des tablespaces et des chiers de donnes

III. Tablespaces temporaires et tablespaces d'annulation

Chapitre 3 - Gestion des tablespaces et des chiers de donnes


I. Vue d'ensemble et directives II. Tablespaces grs localement III. Tablespaces temporaires et tablespaces d'annulation IV. Grer des tablespaces l'aide d'OMF V. Informations sur les tablespaces et les chiers
1. Tablespaces temporaires 2. Tablespaces d'annulation

64 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

64 / 228

Gestion des tablespaces et des chiers de donnes

III. Tablespaces temporaires et tablespaces d'annulation

1. Tablespaces temporaires
Temporary Tablespace (Tablespace temporaire)
Compos uniquement par des segments temporaires Cration CREATE TEMPORARY TABLESPACE temp_01 TEMPFILE 'temp.tmp' SIZE 20 M AUTOEXTEND ON; Restrictions :
ne peut pas tre en mode lecture seule (READ ONLY) ne peut pas tre en mode journalisation (LOGGING) ne peut contenir que des chiers temporaires (TEMPFILE)

64 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

64 / 228

Gestion des tablespaces et des chiers de donnes

III. Tablespaces temporaires et tablespaces d'annulation

1. Tablespaces temporaires
Temporary Tablespace (Tablespace temporaire)
Dsignation d'un tablespace par dfaut (pour tous les utilisateurs) ALTER DATABASE DEFAULT TEMPORARY TABLESPACE nomTbsTemp ; Aectation d'un tablespace temporaire aux activits d'un utilisateur ALTER USER nomUser TEMPORARY TABLESPACE nomTbsTemp ; Vue DATABASE_PROPERTIES : permet de trouver le tablespace temporaire par dfaut d'une BD SELECT FROM DATABASE_PROPERTIES;

65 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

65 / 228

Gestion des tablespaces et des chiers de donnes

III. Tablespaces temporaires et tablespaces d'annulation

2. Tablespaces d'annulation (Undo tablespace)


Undo Tablespace (Tablespace d'annulation)
A partir de la version 9i Contient tous les segments d'annulation (except le segment d'annulation du dictionnaire)

Intrt :

un seul tablespace UNDO au lieu de plusieurs segments Rollback disperss sur dirents tablespace + gestion automatique Il peut en exister plusieurs, mais un instant donn un seul est utilis par le systme
ALTER SYSTEM SET UNDO_TABLESPACE = undotbs_02;

66 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

66 / 228

Gestion des tablespaces et des chiers de donnes

III. Tablespaces temporaires et tablespaces d'annulation

2. Tablespaces d'annulation (Undo tablespace)


Undo Tablespace (Tablespace d'annulation) Cration
CREATE UNDO TABLESPACE nomTbsUndo DATAFILE ... [RETENTION [NON GUARANTEE|GUARANTEE]] ...; Si RETENTION GUARANTEE et que Oracle ne trouve pas d'espace pour garder les donnes UNDO, toute opration DML est bloque Si RETENTION NON GUARANTEE et qu'une partie des donnes d'annulation a t crase la fameuse erreur ORA-01555 snapshot too old

Modication de la dure de rtention (par dfaut 900 secondes)


ALTER SYSTEM SET UNDO_RETENTION = 1000;

67 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

67 / 228

Gestion des tablespaces et des chiers de donnes

IV. Grer des tablespaces l'aide d'OMF

Chapitre 3 - Gestion des tablespaces et des chiers de donnes


I. Vue d'ensemble et directives II. Tablespaces grs localement III. Tablespaces temporaires et tablespaces d'annulation IV. Grer des tablespaces l'aide d'OMF V. Informations sur les tablespaces et les chiers
1. Prsentation d'Oracle Managed File 2. Gestion des tablespaces avec OMF

68 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

68 / 228

Gestion des tablespaces et des chiers de donnes

IV. Grer des tablespaces l'aide d'OMF

1. Prsentation d'OMF (Oracle Managed File)


Avec OMF (Oracle Managed File) :
Le DBA indique les rpertoires o les dirents types de chiers devraient tre stocks Le DBA n'a plus besoin de nommer et de prciser le chemin des chiers qu'il cr (Ex. plus de clause DATAFILE) Oracle prend en charge la cration, le nommage, la suppression et la gestion des chiers

Intrt : faciliter la gestion

68 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

68 / 228

Gestion des tablespaces et des chiers de donnes

IV. Grer des tablespaces l'aide d'OMF

2. Gestion des tablespaces avec OMF


Dsignation du rpertoire cible :
Paramtre DB_CREATE_FILE_DEST Exemple :

ALTER SYSTEM SET db_create_file_dest = '/u01/oradata/dba01';


Cration d'un tablespace OMF CREATE TABLESPACE nomTablespace [DATAFILE SIZE Ajout d'un chier un tablespace OMF ALTER TABLESPACE nomTablespace ADD DATAFILE; Suppression d'un tablespace OMF DROP TABLESPACE nomTablespace INCLUDING CONTENTS; Supprime galement les chiers de donnes
int

[k|M|G|T]];

69 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

69 / 228

Gestion des tablespaces et des chiers de donnes

V. Informations sur les tablespaces et les chiers

Chapitre 3 - Gestion des tablespaces et des chiers de donnes


I. Vue d'ensemble et directives II. Tablespaces grs localement III. Tablespaces temporaires et tablespaces d'annulation IV. Grer des tablespaces l'aide d'OMF V. Informations sur les tablespaces et les chiers

70 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

70 / 228

Gestion des tablespaces et des chiers de donnes

V. Informations sur les tablespaces et les chiers

Informations sur les tablespaces et les chiers de donnes


Vues du dictionnaire contenant des informations sur les tablespaces et les chiers de donnes :

Tablespaces
DBA_TABLESPACES V$TABLESPACE

Fichiers de donnes
DBA_DATA_FILES V$DATAFILE

Fichiers temporaires
DBA_TEMP_FILES V$TEMPFILE

70 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

70 / 228

Les bases de l'architecture Oracle

Introduction

Chapitre 4 - Les bases de l'architecture Oracle


Introduction I. La base de donnes II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes

71 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

71 / 228

Les bases de l'architecture Oracle

Introduction

Architecture d'un serveur de BD Oracle


Serveur de BD Oracle : comporte deux lments distincts 1 La base de donnes : ensemble de chiers contenantles donnes, les informations sur les donnes (le dictionnaire de donnes) et les journaux de modications sur les donnes (chiers log) 2 L'instance : ensemble de processus et de zones en mmoire vive
permettant l'interaction avec les chiers de la BD.

71 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

71 / 228

Les bases de l'architecture Oracle

Introduction

Plan
Ce chapitre... I. Base de donnes II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes

72 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

72 / 228

Les bases de l'architecture Oracle

I. La base de donnes

Chapitre 4 - Les bases de l'architecture Oracle


Introduction I. La base de donnes
1. 2. 3. 4.

II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes

Structure de la base Fichiers de donnes Fichiers de journalisation Fichier de contrle

73 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

73 / 228

Les bases de l'architecture Oracle

I. La base de donnes

1. Structure de la base
Base de donnes
Ensemble de chiers stocks sur les disques durs du serveur hbergeant la base Porte un nom dni lors de sa cration stock dans le paramtre d'initialisation DB_NAME (Ex. DBisit) En complment l'emplacement de la BD sur le rseau peut tre inscrit dans le paramtre DB_DOMAIN (Ex. infcom.rnu.tn) Nom global de la BD : DB_NAME.DB_DOMAIN (DBisit.infcom.rnu.tn)

73 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

73 / 228

Les bases de l'architecture Oracle

I. La base de donnes

1. Structure de la base
Il existe dirents types de chiers : de donnes, de journalisation, etc. Les chiers de paramtres, de contrle, des mots de passe et les archives des chiers de journalisation ne font pas partie de la BD

74 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

74 / 228

Les bases de l'architecture Oracle

I. La base de donnes

2. Fichiers de donnes (Data Files)


Contiennent :
Les tables et les index crs par les utilisateurs Les donnes d'annulation (images avant modication) Le dictionnaire de donnes

Groups logiquement dans des tablespaces

75 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

75 / 228

Les bases de l'architecture Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)


Contiennent un historique de toutes les oprations de modication faites sur les donnes (depuis une certaine priode) Utiliss par le systme pour reconstituer les chiers de donnes en cas d'altration de ceux-ci ou de crash systme Informations sur les chiers journaux : vues V$LOGFILES et V$LOG du dictionnaire de donnes

76 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

76 / 228

Les bases de l'architecture Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)


criture dans les chiers Redo Log

Multiplexe
Maintien de plusieurs copies synchrones d'un mme chier log Groupe : ensemble de chiers multiplexs (identiques). Membre : un chier appartenant un groupe synchrone est dit membre de ce groupe (vue V$LOGFILE) Il existe au minimum deux groupes par BD (vue V$LOG).

Cyclique
Chaque fois que les chiers d'un groupe sont saturs, le systme crit dans les chiers du groupe suivant (basculement ou switch) Si le contenu des chiers n'est pas archiv, il est dnitivement perdu La BD est par dfaut en mode NOARCHIVELOG. Pour activer l'archivage : ALTER DATABASE ARCHIVELOG

77 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

77 / 228

Les bases de l'architecture Oracle

I. La base de donnes

3. Fichiers de journalisation (Redo Log Files)

ALTER DATABASE ADD LOGFILE [GROUP numGroup ] ('nomFichier 1.LOG ', ['nomFichier 2.LOG ',...] SIZE [K|M]

Ajout d'un nouveau groupe

Ajout d'un chier membre un groupe (multiplexage)

ALTER DATABASE ADD LOGFILE MEMBER 'nomFichier .LOG ' TO GROUP

numGroupe

Basculement forc d'un groupe un autre


ALTER SYSTEM SWITCH LOGFILE
78 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 78 / 228

Les bases de l'architecture Oracle

I. La base de donnes

4. Fichier de contrle (Control File)


Contient des

informations sur la structure physique de la BD :

Nom et date de cration de la BD Emplacement des chiers de donns et de journalisation Position courante dans les log Informations sur les points de reprise (CheckPoint) Etc.

Premier chier consult par l'instance aprs l'ouverture d'une BD (pour localiser les autres chiers) Multiplexage fortement recommand (pour des raisons de performances, 8 copies au maximum) Mis jour automatiquement chaque modication de la structure de la BD (Ex. ajout/suppression de chiers de la BD, cration d'un point de reprise, etc;)

79 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

79 / 228

Les bases de l'architecture Oracle

I. La base de donnes

4. Fichier de contrle (Control File)


Le paramtre CONTROL_FILES contient l'emplacement des chiers de contrle Consultation partir de SQL*PLUS : "SQL> show parameter control_files" La vue V$CONTROLFILE du dictionnaire renseigne sur le chier de contrle

80 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

80 / 228

Les bases de l'architecture Oracle

II. Instance

Chapitre 4 - Les bases de l'architecture Oracle


Introduction I. La base de donnes II. Instance
1. 2. 3. 4. 5.

III. Traitement d'un ordre SQL IV. Dictionnaire de donnes

Vue d'ensemble La SGA La PGA Processus Serveur Processus d'arrire plan

81 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

81 / 228

Les bases de l'architecture Oracle

II. Instance

1. Vue d'ensemble
Instance
Ouvre une seule BD la fois Identie par un SID (System ID) stock dans le paramtre INSTANCE_NAME (gnralement, mme valeur que pour DB_NAME) Se compose de :
1 Zones en mmoire vive : 1 2

System Global Area (SGA) Program Global Area (PGA)

2 Processus serveur 3 Processus d'arrire plan

81 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

81 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA
System Global Area
Ensemble de tampons mmoire partags par les processus de l'instance Alloue au dmarrage de la BD et libre sa fermeture 3 zones obligatoires et 3 zones optionnelles Taille maximale : paramtre SGA_MAX_SIZE

82 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

82 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - a. Le pool partag (shared pool)


Rle : essentiellement,

acclrer l'analyse des requtes Library Buer et le Dictionary Buer

Compos de deux tampons : le

Library Buer

Tampon stockant des informations sur les requtes SQL les plus rcemment excutes Informations : texte, version compile et plan d'excution Remplacement : LRU

Dictionary Buer

Tampon stockant les donnes du dictionnaire les plus rcemment utilises (tables, droits des utilisateurs, etc.) Remplacement : LRU

Taille du pool partag : paramtre SHARED_POOL_SIZE

83 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

83 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - b. Le tampon de la BD

(DataBase Buer)

Tampon mmoire rserv au stockage des blocs de donnes Oracle (blocs de tables, d'index, d'annulation) Rle : Remplacement
Gr selon la stratgie LRU, applique en premier aux blocs dont le contenu a t modi (Dirty Blocks) Raison : Les blocs modis sont crits en premier sur le disque pour minimiser l'information perdue et le temps de sa restauration

84 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

84 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - b. Le tampon de la BD
DB_CACHE_SIZE
Paramtre contrlant la taille du DataBase Buer
doit tre un multiple de DB_BLOCK_SIZE. Nombre maximal de blocs dans le tampon =

(DataBase Buer)

N.B. si un tablespace tbs

utilise une taille de bloc = DB_BLOCK_SIZE

Ncessit d'initialiser au pralable un tampon supplmentaire dont la taille est un multiple de la taille du bloc de tbs
Paramtre (selon la taille de bloc utilise dans tbs ) : DB_nk_CACHE_SIZE , avec n {2, 4, 8, 16, 32}

ALTER SYSTEM SET DB_32K_CACHE_SIZE=300M

85 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

85 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - c. Le tampon de journalisation


Log Buer)

(Redo

Tampon mmoire rserv au stockage de l'historique des oprations de modication faites sur les donnes Priodiquement le contenu du tampon est crit dans les chiers de journalisation (par exemple, suite un commit) Taille dnie par le paramtre LOG_BUFFER Rle : criture par lot (batch) des entres log au lieu d'une criture par entre (i.e. par opration de modication)

86 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

86 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - d. Autres zones mmoires


Java Pool :
Plusieurs routines internes d'Oracle utilise du code Java Ex. import/export de donnes Zone de mmoire utilise par la machine virtuelle Java intgre. Paramtre JAVA_POOL_SIZE

Large Pool :

stocke essentiellement, les donnes sur les sessions des utilisateurs. Paramtre LARGE_POOL_SIZE

Streams Pool : Zone de mmoire utilise pour l'change d'informations entre processus. Paramtre STREAMS_POOL_SIZE SGA Fixe :
verrous, etc. inclut les informations sur l'tat de la base, l'instance, les

87 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

87 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - e. Gestion automatique


Tailles des direntes zones mmoires : grables manuellement (par le DBA) ou automatiquement (par Oracle)

Gestion manuelle : donner une taille chacune des zones. La somme des tailles doit tre <= SGA_MAX_SIZE Gestion automatique
Active si le paramtre SGA_TARGET = 0. La valeur choisie pour SGA_TARGET doit tre <= SGA_MAX_SIZE. Paramtre dynamique : ALTER SYSTEM SET SGA_TARGET = 500 M

88 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

88 / 228

Les bases de l'architecture Oracle

II. Instance

2. La SGA - En rsum...

89 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

89 / 228

Les bases de l'architecture Oracle

II. Instance

3. PGA (Program Global Area)


Zone mmoire prive des dirents processus, une PGA par processus PGA agrge : PGA totale alloue tous les processus Paramtre PGA_AGGREGATE_TARGET : taille de la PGA agrge (Oracle se charge de la rpartition entre le dirents processus)

90 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

90 / 228

Les bases de l'architecture Oracle

II. Instance

4. Processus serveur
Processus Utilisateur (PU ou User Process) :
Programme demandant une interaction avec le Serveur de BD (Ex. SQL*PLUS) Ne fait pas partie du serveur de BD et n'interagit avec celui-ci qu'au travers d'un processus serveur

Processus Serveur (PS ouServer Process) :


Prend en charge les appels gnrs par un ou plusieurs processus utilisateurs et leur renvoie les rsultats Notamment : chargement des donnes dans le tampon de BD et criture dans le tampon Redo Log Deux modes : serveur ddi et serveur partag (spci au moment de la cration de la BD)
Ddi Partag

: un processus serveur pour chaque processus utilisateur : un processus serveur pour plusieurs processus utilisateur

91 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

91 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan


Rle :
1 2

- a. Rle et prsentation

Grer la SGA et criture partir de la SGA vers les chiers de la BD Assurer le bon fonctionnement de l'instance, mme en cas de crash

Dclenchement : Au dmarrage de l'instance pour certains Ultrieurement suite des vnements particuliers (ex. Tampon satur) pour d'autres

92 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

92 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan

- b. Processus DBW

(DataBase Writer)

Rle : criture dans les chiers de donnes (sur disque) des blocs devant sortir du tampon de la base de donnes Sur les systmes multi-processeurs, multi-disques, il est recommand d'en avoir plusieurs (jusqu' 20) numrots comme suit : DBW0, DBW1,..., DBW9, DBWa,..., DBWj Paramtre DB_WRITER_PROCESSES : dtermine le nombre de processus DBW

93 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

93 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan

- c. Processus LGWR

(LoG WRiter)

Rle : criture squentielle par lot dans les chiers de journalisation (Redo log) des entres log devant sortir du tampon Redo Log Dclenchement
1 Suite une validation (COMMIT); 2 Toute les trois secondes (cf. 5.d. Processus CKPT);
1 3 Quand 3 du tampon Redo Log est plein : 4 Avant que DBW n'crive sur disque les blocs modis (Dirty) : pour viter les

modications non journalises en cas de crash systme.

94 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

94 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan


Rle

- d. Processus CKPT

(ChecKPoinT)

1 Forcer l'criture de tous les blocs modis "Dirty" (et donc du contenu du 2 Consigner l'estampille temporelle (System

tampon Redo log) sur disque Cration d'un point de reprise (CheckPoint) l'criture :

Change Number ou SCN) de

dans le chier de contrle, dans les en-ttes des chiers de donnes et de journalisation

En cas crash, le SCN indique le point de dpart de la rcupration

Intrt :
Rcupration plus rapide en cas de crash systme
Les entres Redo log datant d'avant le SCN ne sont pas rejoues

95 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

95 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan

- d. Processus CKPT

(ChecKPoinT)

Dclenchement de CKPT :
A la demande : ALTER SYSTEM CHECKPOINT A la fermeture d'une BD (except SHUTDOWN ABORT) Lors de la mise hors ligne d'un tablespace Toute les 3 secondes Lorsque LGWR bascule d'un groupe un autre :

96 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

96 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan MONitor)

- e. Le processus SMON

(System

Dclenchement : Rle :

l'ouverture de la BD

rcupration de la BD suite un arrt brutal


1 Comparaison des SCN des en-ttes des chiers de donnes et de journalisation

Dtection de l'arrt brutal de la BD :


avec le SCN du chier de contrle 2 Si dirents, une rcupration est ncessaire

Rcupration : deux tapes


1

Roll Forward : rejouer toutes les transactions, valides ou non, depuis le dernier point de reprise (chiers de journalisation + chier de contrle) 2 Roll Back : annuler les transactions non valides (segments d'annulation)

97 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

97 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan MONitor)

- e. Le processus SMON

(System

Figure: Roll Forward (Redo) suivi d'un Roll Back (Undo)


Release 2 (11.2)E10713-05,2010]

[Oracle c

Database Concepts 11g

98 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

98 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan MONitor)

- f. Le processus PMON

(Process

PMON, essentiellement
Dtection et nettoyage suite au plantage d'un processus utilisateur Exemple :
1 Un PU ouvre une session et lance une requte UPDATE 2 Les donnes concernes sont verrouilles et le UPDATE excut 3 Le PU n'est plus prsent et n'a pas ferm la session (n'a ni valid ni annul la

transaction)!!

PMON dtecte le blocage, annule la transaction et libre les verrous

99 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

99 / 228

Les bases de l'architecture Oracle

II. Instance

5. Processus d'arrire plan

- e. Processus ARC

(ARChive)

Rle : archivage des chiers de journalisation Dclenchement : basculement d'un groupe de chiers un autre
Suite la saturation du groupe Suite ALTER SYSTEM SWITCH LOGFILE

Il peut en exister plusieurs : ARCn ARC n'crit pas directement sur la bande de sauvegarde, mais sur les disques de la machine hte Paramtre d'initialisation LOG_ARCHIVE_DEST_n : dtermine l'emplacement de la neme copie d'archive ALTER SYSTEM SET log_archive_dest_1='location=chemin' SCOPE=spfile

100 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

100 / 228

Les bases de l'architecture Oracle

II. Instance

En rsum...

Figure: [Oracle 11g Administration, Olivier Heurtel, eni Editions, Nov. 2008]
101 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 101 / 228

Les bases de l'architecture Oracle

III. Traitement d'un ordre SQL

Chapitre 4 - Les bases de l'architecture Oracle


Introduction I. La base de donnes II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes

1. Traitement d'un SELECT 2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)

102 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

102 / 228

Les bases de l'architecture Oracle

III. Traitement d'un ordre SQL

1. Traitement d'un SELECT


1

Analyse (Parse)

1 Le PU envoie la requte au PS 2 Si la requte n'a pas dj t analyse prcdemment (consultation du

Buer), le PS l'analyse

Library

3 Le PS doit vrier si les objets interrogs par la requte existent et si

l'utilisateur a le droit de les consulter. Si ces informations ne sont pas prsentes dans le Dictionary Buer, le PS les charge

4 Gnration et enregistrement du plan d'excution (si non prsent dans le

Library Buer)

Excution :

excution du plan de la requte. Si les blocs des donnes interroges ne sont pas dans le tampon de la BD, le PS les charge dans le tampon partir,
1 du chier de donnes si les donnes n'ont pas t modies par une 2 du tablespace d'annulation (undo), sinon

transaction non encore valide

Extraction :

le PS renvoie au PU le rsultat de la requte


Administration des bases de donnes 2012-2013 102 / 228

102 / 228

Khaled Jouini c (IsitCom)

Les bases de l'architecture Oracle

III. Traitement d'un ordre SQL

2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)


1

Analyse (Parse) Excution

Idem. que pour une slection

1 Les informations sur la modication sont consignes dans le tampon de

journalisation

2 Si les blocs de donnes et les blocs d'annulation ne se trouvent pas dj dans

le tampon de la BD, le PS les charge.

3 Le PS place des verrous sur les tuples modier 4 Le PS place l'image avant des donnes dans le bloc d'annulation. 5 Les modications sont enregistres dans les blocs de donnes qui sont alors

marqus comme "Dirty"

103 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

103 / 228

Les bases de l'architecture Oracle

IV. Dictionnaire de donnes

Chapitre 4 - Les bases de l'architecture Oracle


Introduction I. La base de donnes II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes
1. Rappel 2. Vues statiques 3. Vues dynamiques

104 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

104 / 228

Les bases de l'architecture Oracle

IV. Dictionnaire de donnes

1. Rappel
Dictionnaire de donnes
1

Ensemble de vues et de tables contenant les informations sur toutes les composantes logiques et physiques de la BD et de l'instance Cr et mis jour par le systme lorsque des ordres DDL sont excutes (CREATE/ALTER/DROP) Proprit de l'utilisateur SYS stock dans le tablespace SYSTEM. Les donnes des tables sont codes et modiables uniquement par le systme. Accessibles uniquement via des vues Deux types de vues :

3 4

Vues statiques : bases sur les "vraies" tables du dictionnaire Vues dynamiques : bases sur de l'information se trouvant en mmoire vive
(Ex. SGA) ou extraite du chier de contrle

104 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

104 / 228

Les bases de l'architecture Oracle

IV. Dictionnaire de donnes

2. Vues statiques
Trois types : Vues prxes par USER_
Donnent accs aux informations sur les objets possds (crs) par l'utilisateur Exemple : USER_TABLES : tables cres par l'utilisateur

Vues prxes par ALL_


Donnent accs aux informations sur les objets (tables, index, vues, triggers, etc.) accessibles par l'utilisateur Exemple : ALL_TABLES : toutes les tables que l'utilisateur peut voir

Vues prxes par DBA_

Interrogeables uniquement par les administrateurs Donnent accs aux informations sur tous les objets de la BD Exemple : DBA_TABLES : toutes les tables de la BD

105 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

105 / 228

Les bases de l'architecture Oracle

IV. Dictionnaire de donnes

3. Vues dynamiques
Contiennent l'information sur l'activit Prxes par V$

en cours de la BD et de l'instance

V$FIXED_TABLE : contient la liste des vues dynamiques. Quelques vues dynamiques :


Nom V$DATABASE V$INSTANCE V$SGA V$PARAMETER V$SQL Description Informations Informations Informations Informations Informations sur la BD sur l'instance rsumes sur la SGA sur les paramtres d'initialisation sur les requtes SQL excutes

106 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

106 / 228

Gestion de l'instance

I. Fichier de paramtres

Chapitre 5 - Gestion de l'instance


I. Fichier de paramtres
1. Prsentation 2. PFILE vs. SPFILE 3. Modication des paramtres d'initialisation

II. Dmarrage et arrt d'un serveur de BD Oracle III. Diagnostic et surveillance d'un serveur de BD Oracle

107 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

107 / 228

Gestion de l'instance

I. Fichier de paramtres

1. Prsentation
Fichier de paramtres fait pas partie de la BD
Contient l'ensemble des Consult par l'instance son dmarrage et avant l'ouverture de la BD.

Ne

paramtres d'initialisation de l'instance

Paramtres d'emplacement : DB_CREATE_FILE_DEST, CONTROL_FILES, etc. Paramtres de limites et d'allocation mmoire : DB_BLOCK_SIZE, DB_CACHE_SIZE, SGA_MAX_SIZE, etc.

Il existe deux types de chiers de paramtres : le PFILE (historique) et le SPFILE (depuis la version 9i)

107 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

107 / 228

Gestion de l'instance

I. Fichier de paramtres

1. Prsentation
Exemple d'un chier de paramtres PFILE

108 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

108 / 228

Gestion de l'instance

I. Fichier de paramtres

2. PFILE vs. SPFILE

` marrer l'instance (problme de synchronisation) Nomm initSID .ora Modication froid

PFILE (Parameter File) Fichier texte Modiable via un diteur texte Prsent sur chaque machine pouvant d-

SPFILE (Server Parameter File) Fichier binaire Modiable uniquement via SQL Centralis : un seul chier sur la machine
hte de la BD Nomm spleSID .ora Modiable chaud (pour les paramtres dynamiques)

Possibilit de crer un PFILE partir d'un SPFILE et inversement :


CREATE PFILE/SPFILE [nomFichier 1] FROM SPFILE/PFILE [nomFichier 2]

Lors du dmarrage d'une instance, le serveur cherche un sple et sinon un ple

109 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

109 / 228

Gestion de l'instance

I. Fichier de paramtres

3. Modication des paramtres d'initialisation


Instruction SQL pour modier les paramtres d'initialisation
ALTER SYSTEM SET nomParam = nouvelleValeur [SCOPE = [BOTH|MEMORY|SPFILE]] SCOPE = SPFILE : si le paramtre est statique (modiable uniquement froid), ou bien s'il est souhait que les changements ne prennent eet qu'au prochain dmarrage de l'instance SCOPE = MEMORY : si le paramtre est dynamique (modiable chaud). Les changements aectent uniquement l'instance en cours SCOPE = BOTH : si le paramtre est dynamique et les modications concernent aussi bien l'instance en cours que les prochaines

110 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

110 / 228

Gestion de l'instance

I. Fichier de paramtres

3. Modication des paramtres d'initialisation


Si l'instance dmarre l'aide d'un PFILE
Seule l'option MEMORY est utilisable avec ALTER SYSTEM... Le DBA doit retranscrire les modications dans le PFILE

Pour consulter la valeur courante d'un paramtre


1 A partir de SQL*PLUS: "SQL>show parameter

nomParametre

nomParametre "

2 SQL : "SELECT name, value FROM V$PARAMETER WHERE name =

nomParametre "

Pour consulter la valeur stocke dans un SPFILE d'un paramtre


nomParametre

SQL : "SELECT name, value FROM V$SPPARAMETER WHERE name = nomParametre "

111 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

111 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

Chapitre 5 - Gestion de l'instance


I. Fichier de paramtres II. Dmarrage et arrt d'un serveur de BD Oracle III. Diagnostic et surveillance d'un serveur de BD Oracle
1. Dmarrage 2. Arrt

112 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

112 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - a. Syntaxe
Dmarrage - Syntaxe (non exhaustive)
STARTUP [FORCE][RESTRICT][PFILE=nomPFILE] [OPEN | MOUNT | NOMOUNT]

Figure: Phases de dmarrage


112 / 228 Khaled Jouini c (IsitCom)

[Oracle c

Database Concepts 11g Release 2 (11.2)E10713-05,2010]

Administration des bases de donnes

2012-2013

112 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - b. STARTUP NOMOUNT


STARTUP NOMOUNT
1

Un SPFILE (sple%.ora) est cherch. Si non trouv un ple (init%.ora) est cherch et utilis la place La SGA est alloue selon les paramtres d'initialisation Les processus d'arrire plan sont lancs La BD n'est ni monte ni ouverte les vues dynamiques relatives l'instance (V$INSATNCE, V$SGA, etc.) sont interrogeables, mais pas celles relatives la BD (V$DATABASE) Pour monter (resp. ouvrir) la BD ultrieurement : ALTER DATABASE MOUNT (resp. ALTER DATABASE OPEN)

2 3

113 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

113 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - c. STARTUP MOUNT


STARTUP MOUNT 1 Ouverture du chier de contrle de la BD (localisation partir du paramtre d'initialisation CONTROL_FILES)
2 3

Si le chier de contrle est multiplex et que les copies ne sont pas identiques, l'instance reste l'tat NOMOUNT Depuis le chier de contrle, extraction des noms, des emplacements et des tats des chiers de donnes et de journalisation. Ces chiers ne sont ce stade ni ouverts ni vris Connexion la BD possible uniquement pour les administrateurs. Ils peuvent y faire certaines tches d'administration

Ex. Renommage/dplacement de chiers, activation de la journalisation, etc.


(Pourquoi ne sont elles pas possibles en mode NOMOUNT?)

La BD est dite associe l'instance, les vues dynamiques relatives la BD sont consultables (V$DATABASE), mais pas les vues statiques Pour la rendre accessible tous le monde ultrieurement :
114 / 228

ALTER DATABASE OPEN


Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

114 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - d. STARTUP OPEN


STARTUP ou STARTUP OPEN
1 2

Ouverture des chiers de journalisation et de donnes SMON est lanc. Si les SCN des en-ttes des chiers de donnes et de journalisation sont dirents du SCN apparaissant dans le chier de contrle Roll Forward + Roll Back. Aprs l'ouverture, la BD est disponible une utilisation "normale" pour tous les utilisateurs

115 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

115 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

1. Dmarrage - e. Autres options de dmarrage


STARTUP FORCE 1 Interrompt l'instance en cours, puis excute un dmarrage normal Equivalent SHUTDOWN ABORT + STARTUP STARTUP RESTRICT N'autorise l'accs la BD qu'aux administrateurs et les utilisateurs disposant du privilge RESTRICTED SESSION
Utilis pour eectuer certaines oprations d'administration qui ncessite que la BD soit ouverte, mais qu'il est prfrable de raliser sans utilisateur connect Ex. Import/export de donnes, rorganisation d'une table etc. Pour quitter le mode restreint
ALTER SYSTEM DISABLE RESTRICTED SESSION

116 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

116 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - a. Syntaxe
Syntaxe (non exhaustive)
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMIDIATE | ABORT]

Figure: Phases d'arrt


117 / 228 Khaled Jouini c (IsitCom)

[Oracle c

Database Concepts 11g Release 2 (11.2)E10713-05,2010]

Administration des bases de donnes

2012-2013

117 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


SHUTDOWN ou SHUTDOWN NORMAL Attend la dconnexion de tous les utilisateurs et l'arrt de toutes les transactions en cours
Eectue un checkpoint avant l'arrt

SHUTDOWN TRANSACTIONAL Attend l'arrt de toutes les transactions (mais pas la dconnexion de tous les utilisateurs)
Eectue un checkpoint avant l'arrt

118 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

118 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


SHUTDOWN IMMEDIATE
Fermeture instantane sans attendre les sessions/transactions en cours. Eectue un rollback des transactions non valides, puis un checkpoint avant l'arrt

SHUTDOWN ABORT
Fermeture instantane sans attendre les sessions/transactions en cours. Pas de checkpoint avant l'arrt recouvrement au dmarrage utiliser uniquement si blocage des autres types d'arrt

119 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

119 / 228

Gestion de l'instance

II. Dmarrage et arrt d'un serveur de BD Oracle

2. Arrt - b. Options d'arrt


En rsum...

Figure: Options d'arrt

[Oracle c

Database Concepts 11g Release 2 (11.2)E10713-05,2010]

120 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

120 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

Chapitre 5 - Gestion de l'instance


I. Fichier de paramtres II. Dmarrage et arrt d'un serveur de BD Oracle III. Diagnostic et surveillance d'un serveur de BD Oracle
1. 2. 3. 4. 5. Vue d'ensemble Le chier d'alertes alertSID.log Les chiers trace des processus d'arrire plan Les chiers trace des processus utilisateur Outils de diagnostic

121 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

121 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

1. Fichiers de diagnostic
Problme et incident Problme : erreur critique. A un identicateur unique (ORA-...) Incident : occurrence d'un problme Fichiers de diagnostic Informations relatives aux vnements signicatifs qui se sont produits, Permettent la rsolution des incidents et l'amlioration de la gestion quotidienne de la base de donnes. Plusieurs types Fichier BD

alertSID.log :

informations sur le fonctionnement au quotidien de la

Fichiers trace de processus d'arrire-plan : informations sur les erreurs dtectes par les processus d'arrire plan Fichiers

trace utilisateur :

informations sur les processus utilisateurs

121 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

121 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

2. Le chier d'alertes alertSID.log


Chaque instance possde un chier d'alertes, cr au dmarrage si besoin. Exemple d'informations
Cration, dmarrages/arrts Modication de la structure (tablespaces, chiers de donnes) Certains types d'erreurs : erreurs du SE (ORA-07445), manque de mmoire pour le Pool partag (ORA-04031) Problmes relatifs l'criture et l'archivage des chiers de journalisation Alertes (Tablespace presque plein, disque presque plein, etc.) Etc.

Contient galement des pointeurs sur des chiers trace qui contiennent des informations plus dtailles. En perptuel grossissement doit tre gr par le DBA Format xml disponible (depuis la version 11g) : log.xml

122 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

122 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

3. Les chiers trace des processus d'arrire plan


Consignent les erreurs dtectes par les processus d'arrire plan, Permettent de diagnostiquer et de corriger les erreurs. Crs lorsqu'un processus d'arrire plan dtecte une erreur. Convention de nommage : SID_nomProcessus_idProcessus.trc (Ex. DBisitcom_lgwr_23004.trc)

123 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

123 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

4. Les chiers trace des processus utilisateur


Crs par le processus utilisateur, Peuvent tre gnrs par un processus serveur, Contiennent des statistiques sur les instructions SQL (utiles pour le rglage ou tuning) Contiennent des messages sur les erreurs constates au cours d'une session. Convention de nommage : SID_ORA_PID.trc (Ex. DBisitcom_ora_20045.trc) Activation de la collecte de statistiques (paramtre SQL_TRACE): ALTER SESSION SET SQL_TRACE=TRUE

124 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

124 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

5. Outils de diagnostic
Repository)

Rfrentiel de Diagnostic Automatique (Automatic Diagnostic


Rpertoire structur, centralisant tous les chiers de diagnostic (depuis la version 11g) Emplacement dni par le paramtre : DIAGNOSTIC_DEST

La vue v$diag_info renseigne sur les emplacements des chiers d'alerte et de trace

125 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

125 / 228

Gestion de l'instance

III. Diagnostic et surveillance d'un serveur de BD Oracle

5. Outils de diagnostic
Outils (consultation du rfrentiel ADR)
Quelques commandes :

Entreprise Manager : Support WorkBench L'utilitaire en ligne de commandes adrci (ADR Command Interpreter).
Eet Ache les log du chier d'alertes Ache les incidents rpertoris Ache les dtails de l'incident 7465 l'emplacement des chiers de trace relatifs Ache l'emplacement des chiers de trace

Commande : adrci>
SHOW ALERT SHOW INCIDENT SHOW INCIDENT -MODE DETAIL -P "incident_id=7465" SHOW TRACEFILE

et

126 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

126 / 228

Gestion des utilisateurs

Introduction

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs II. Gestion des privilges III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs

127 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

127 / 228

Gestion des utilisateurs

Introduction

Introduction
Rle de l'administrateur de scurit et des ressources
1 2 3 4 5

Dnir une politique de scurit Grer les

comptes des utilisateurs rles)

Assurer l'attribution et la rvocation des droits (privilges et Grer les ressources systme (prols) Eectuer des

audits

Ce chapitre...
1 2 3 4 5

Gestion basique des comptes des utilisateurs Gestion des privilges Gestion des rles Gestion des prols Audit de l'activit des utilisateurs
Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 127 / 228

127 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs
1. Notions de schma et d'utilisateur 2. Cration d'un nouvel utilisateur 3. Modication et suppression

II. Gestion des privilges III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs

128 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

128 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

1. Notions de schma et d'utilisateur


Utilisateur de BD Oracle (User) :
Identi par un login avec lequel il se connecte au systme Possde un ensemble de droits ou privilges associs son login. Dispose d'un espace de stockage par dfaut (tablespace) dans lequel sont stocks les objets qu'il cr

Schma (Schema Objects)


collection de tous les objets (tables, vues, index, etc.) crs par un utilisateur prcis (N.B. n'inclut pas les chiers et les tablespaces)

Oracle assimile un schma son utilisateur


Chaque utilisateur possde un seul schma et rciproquement Le login sert identier la fois un utilisateur et son schma La cration d'un utilisateur entrane celle de son schma Accs un objet : login.nomObjet (Ex. sys.dba_tablespaces)

128 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

128 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur


1 2

- a. Enchanement typique

Choisir un nom d'utilisateur et un mcanisme d'authentication, Dcider des tablespaces dans lesquels l'utilisateur peut stocker certains de ses objets Aecter un tablespace par dfaut et un tablespace temporaire Dcider des quotas pour chaque tablespace, Crer un utilisateur Accorder des privilges et des rles a l'utilisateur

3 4 5 6

129 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

129 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur

- b. Ordre SQL

CREATE USER login > Mode d'identication, Oracle ou SE ou LDAP IDENTIFIED [by motDePasse |EXTERNALLY|GLOBALLY AS nomExterne ] > Tablespace par dfaut o seront stocks les objets crs par l'utilisateur [DEFAULT TABLESPACE nomTablespace ] > Tablespace temporaire des requtes excutes par l'utilisateur [TEMPORARY TABLESPACE nomTablespaceTemporaire ] > Espace maximal que l'utilisateur peut utiliser dans les tablespaces [QUOTA [int [K|M] | UNLIMITED ] ON nomTablespace ] [QUOTA [int [K|M] | UNLIMITED] ON nomTablespace 2]] > Indique si l'utilisateur doit changer son mot de passe la premire connexion [PASSWORD EXPIRE] > Verrouillage du compte [ACCOUNT[LOCK|UNLOCK]] > Prol [PROFILE nomProl ]
130 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 130 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

2. Cration d'un nouvel utilisateur


1 2

- c. Exemples

CREATE USER isitcom IDENTIFIED BY i$itc0m CREATE USER isitcom IDENTIFIED BY i$itc0m DEFAULT TABLESPACE tbs_users PASSWORD EXPIRE ACCOUNT LOCK CREATE USER isitcom IDENTIFIED BY i$itc0m DEFAULT TABLESPACE tbs_users QUOTA 10M ON tbs_users TEMPORARY TABLESPACE tmp_users QUOTA 5M ON tbs_hr PASSWORD EXPIRE

131 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

131 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

SE

2. Cration d'un nouvel utilisateur

- d. Utilisateur identi par le

S'authentie au niveau du SE mais pas au niveau d'Oracle (SQL>CONNECT /) Oracle vrie uniquement si le nom de l'utilisateur courant du SE correspond un utilisateur de la BD Nom utilisateur de la BD : OS_AUTHENT_PREFIX & nomUserSE Valeur de OS_AUTHENT_PREFIX
Par dfaut : OPS$ Peut tre modie : ALTER SYSTEM SET OS_AUTHENT_PREFIX=;

Cration
CREATE USER OPS$myUser IDENTIFIED EXTERNALLY Sous Windows il est ncessaire de rajouter le nom de domaine, ou dfaut de la machine (le tout en majuscule) : CREATE USER "OPS$MY_DOMAIN\MY_USER" IDENTIFIED EXTERNALLY
132 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 132 / 228

Gestion des utilisateurs

I. Gestion basique des comptes des utilisateurs

3. Modication (ALTER USER) et suppression (DROP USER)


Modication du mot de passe Modication des quotas
ALTER USER isitcom IDENTIFIED BY c0mi$it [REPLACE i$itc0m] ALTER USER isitcom QUOTA 15M ON tbs_users QUOTA 0M ON tbs_hr ALTER USER isitcom DEFAULT TABLESPACE tbs2 TEMPORARY TABLESPACE tmp2; ALTER USER isitcom ACCOUNT LOCK ALTER USER isitcom ACCOUNT UNLOCK DROP USER isitcom [CASCADE]

Modication des tablespaces par dfaut Verrouillage

Dverrouillage

Suppression d'un utilisateur (et de son schma s'il n'est pas vide)
Les vues DBA_USERS et DBA_TS_QUOTAS contiennent les informations sur les utilisateurs

133 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

133 / 228

Gestion des utilisateurs

II. Gestion des privilges

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs II. Gestion des privilges
1. Privilges systme vs. privilges objet 2. Privilges systme 3. Privilges objet

III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs

134 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

134 / 228

Gestion des utilisateurs

II. Gestion des privilges

1. Privilges systme vs. privilges objet


Privilges accords un utilisateur :
Dterminent quelles actions l'utilisateur est autoris eectuer sur la base Accords par l'instruction GRANT et retirs par l'instruction REVOKE Peuvent tre groups dans des rles Deux types : privilges au niveau du systme et privilges au niveau des objets

Privilge au niveau du systme

Droit d'excuter une action sur n'importe quel objet d'un type particulier (prs de 160). Ex. CREATE/DROP/ALTER TABLESPACE, USER, SESSION, TABLE, VIEW, etc. Droit d'excuter une action sur un objet spcique Ex. SELECT, UPDATE, INSERT, etc.

Privilge au niveau objet

134 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

134 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - a. Exemples


Catgorie TABLE Exemple CREATE [ANY] TABLE ALTER [ANY] TABLE DROP [ANY] TABLE SELECT [ANY] TABLE UPDATE [ANY] TABLE DELETE [ANY] TABLE CREATE [ANY] INDEX ALTER [ANY] INDEX DROP [ANY] INDEX CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE

INDEX SESSION TABLESPACE

Mot rserv ANY : droit d'excuter un ordre dans n'importe quel schma

135 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

135 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - b. Privilges d'administration


SYSOPER STARTUP SHUTDOWN ALTER DATABASE OPEN | MOUNT RECOVER DATABASE ALTER DATABASE BACKUP CONTROLFILE TO ALTER DATABASE ARCHIVELOG RESTRICTED SESSION SYSOPER WITH ADMIN OPTION CREATE DATABASE

SYSDBA

Vue SYSTEM_PRIVILEGE_MAP : liste de tous les privilges systme Vue DBA_SYS_PRIVS : privilges systme accords un utilisateur
CONNECT..AS SYSDBA il est connect au schma sys

N.B. Si un utilisateur disposant du privilge SYSDBA se connecte la BD avec

136 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

136 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - c. Attribution


GRANT [nomPrivilege | ALL PRIVILEGES] TO [nomUtilistaeur |nomRole |PUBLIC] [WITH ADMIN OPTION] ALL PRIVILEGES : tous les privilges systme sont accords l'utilisateur

Syntaxe :

PUBLIC : le privilge est attribu tous les utilisateurs


WITH ADMIN OPTION : donne l'utilisateur le droit d'attribuer et de retirer le

privilge reu

Exemples :
1 GRANT CREATE TABLE, SELECT ANY TABLE, CREATE TABLESPACE TO

isitcom 2 GRANT SYSDBA TO administrateur WITH ADMIN OPTION 3 GRANT CREATE SESSION TO PUBLIC

137 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

137 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - d. Rvocation


Syntaxe :
REVOKE [nomPrivilege | ALL PRIVILEGES | nomRole 1] FROM [nomUtilistaeur |nomRole 2|PUBLIC]

Tout utilisateur disposant d'un privilge systme avec l'option WITH ADMIN OPTION peut rvoquer ce privilge de n'importe quel autre utilisateur Exemples de rvocation :
1 REVOKE ALTER TABLESPACE FROM isitcom 2 REVOKE CREATE SESSION FROM PUBLIC

138 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

138 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - d. Rvocation


Rvocation des privilges systme : entrane un eet de cascade pour les ordres DML (SELECT/DELETE/UPDATE/INSERT), mais pas pour les autres Exemple 1
1 2

user1 dispose du privilge CREATE TABLE WITH ADMIN OPTION user1 transmet user2 le privilge CREATE TABLE 3 Le privilge CREATE TABLE est retir user1 user1 ne peut plus crer des nouvelles tables user2 garde le droit de crer des nouvelles tables user1 dispose du privilge SELECT TABLE WITH ADMIN OPTION 2 user1 transmet user2 le privilge SELECT TABLE 3 Le privilge SELECT TABLE est retir user1 user1 ne peut plus faire des slections user2 ?
1
Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 139 / 228

Exemple 2

139 / 228

Gestion des utilisateurs

II. Gestion des privilges

2. Privilges systme - e. Accs aux donnes du dictionnaire


Accs aux donnes du dictionnaire : protg par le paramtre d'initialisation O7_DICTIONARY_ACCESSIBILITY

O7_DICTIONARY_ACCESSIBILITY=FALSE (valeur par dfaut) :


Les utilisateurs disposant du privilge SELECT ANY TABLE n'ont pas accs au dictionnaire (schma SYS) Pour qu'un utilisateur ait accs au dictionnaire il doit avoir le privilge systme SELECT ANY DICTIONARY

Pour modier la valeur de O7_DICTIONARY_ACCESSIBILITY (dconseill)


ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=TRUE SCOPE=SPFILE

140 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

140 / 228

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - a. Exemples


Action ALTER DELETE EXECUTE INDEX INSERT SELECT UPDATE

TABLE[.nomCol ]

VIEW[.nomCol ]

SEQUENCE

PROCEDURE

141 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

141 / 228

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - b. Attribution


Attribution
GRANT [nomPrivilege | ALL PRIVILEGES] ON login.nomTable [(nomColonne)] TO [nomUtilistaeur |nomRole |PUBLIC][WITH GRANT OPTION] WITH GRANT OPTION : donne l'utilisateur le droit d'attribuer et de retirer le

Syntaxe (non exhaustive) :

privilge reu

Exemples
1 GRANT ALL PRIVILEGES ON isitcom.etudiant TO scolarite 2 GRANT SELECT,UPDATE (nom,adresse) ON isitcom.etudiant TO guichet

142 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

142 / 228

Gestion des utilisateurs

II. Gestion des privilges

3. Privilges objet - c. Rvocation


Rvocation
Syntaxe :
REVOKE [nomPrivilege | ALL PRIVILEGES | nomRole 1] ON login.nomTable [(nomColonne)] FROM [nomUtilistaeur |nomRole 2|PUBLIC]

Exemple :

REVOKE UPDATE (nom,adresse) ON isitcom.etudiant FROM guichet

Seul l'utilisateur ayant attribu un privilge objet peut le rvoquer La rvocation d'un privilge objet
1

user1 dispose du privilge SELECT on Emp .sal WITH GRANT OPTION 2 user1 transmet user2 le privilge SELECT on Emp .sal 3 Le privilge SELECT on Emp .sal est retir user1 user1 comme user2 n'ont plus accs la colonne Emp .sal

entrane un eet de cascade.

Exemple

143 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

143 / 228

Gestion des utilisateurs

III. Gestion des rles

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs II. Gestion des privilges III. Gestion des rles
1. Vue d'ensemble 2. Oprations de base 3. Activation/dsactivation d'un rle

IV. Gestion des prols V. Audit de l'activit des utilisateurs

144 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

144 / 228

Gestion des utilisateurs

III. Gestion des rles

1. Vue d'ensemble
Rle (role) :
Ensemble nomm de privilges Peut tre aect soit un utilisateur soit un autre rle Intrt : et non individuellement Oracle fournit un ensemble de rles pr-dnis (CONNECT, RESSOURCE, DBA, MGMT_USER, etc..) La vue DBA_ROLES fournit l'ensemble des rles dnis

144 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

144 / 228

Gestion des utilisateurs

III. Gestion des rles

2. Oprations de base
Cration (non exhaustive) CREATE ROLE nomRole [NOT IDENTIFIED|IDENTIFIED BY motDePasse ] Attribution et rvocation de privilges systme un rle (mme syntaxe que pour un
utilisateur) GRANT...[WITH ADMIN OPTION] REVOKE...

Attribution et rvocation de privilges objet un rle (mme syntaxe que pour un


utilisateur, mais pas de clause [WITH GRANT OPTION]) GRANT... REVOKE...

Suppression

Attribution d'un rle un utilisateur GRANT nomRole TO nomUser [WITH ADMIN OPTION] Rvocation d'un rle REVOKE nomRole FROM nomUser
145 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 145 / 228

DROP ROLE nomRole

Gestion des utilisateurs

III. Gestion des rles

3. Activation/dsactivation d'un rle


Activation d'un rle
Si l'utilisateur bnciaire n'est pas connect au moment de l'attribution : automatique la premire connexion Sinon, l'utilisateur bnciaire doit explicitement l'activer l'aide de : SET ROLE nomRole 1 [IDENTIFIED BY pwdRole ], nomRole 2...

Dsactivation d'un rle


Dsactivation de tous les rles : SET ROLE NONE Dsactivation d'un ensemble de rles : SET ROLE ALL EXCEPT nomRole 1, nomRole 2, ... Il n'est pas possible de dsactiver individuellement un rle

146 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

146 / 228

Gestion des utilisateurs

III. Gestion des rles

3. Activation/dsactivation d'un rle


Paramtre d'initialisation MAX_ENABLED_ROLES : nombre maximal de rles actifs simultanment pour un utilisateur (par dfaut 30) Intrt activation/dsactivation : un utilisateur peut excuter une application qui active un rle en fournissant le mot de passe sans que l'utilisateur ne puisse utiliser le rle directement La vue SESSION_ROLES fournit l'ensemble des rles actifs pour une session SELECT * FROM session_roles

147 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

147 / 228

Gestion des utilisateurs

IV. Gestion des prols

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs II. Gestion des privilges III. Gestion des rles IV. Gestion des prols
1. 2. 3. 4. Vue d'ensemble Exemple de limitations Oprations de base Fonction de vrication des mots de passe

V. Audit de l'activit des utilisateurs

148 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

148 / 228

Gestion des utilisateurs

IV. Gestion des prols

1. Vue d'ensemble
Prol (prole) :
Ensemble nomm de

limitations :

1 limitations sur les mots de passe

Ex. nombre maximal de tentatives de connexion, etc. Ex. nombre maximal de sessions qu'un mme utilisateur peut ouvrir, temps CPU maximal accord une session, etc.

2 limitations sur les ressources systmes

Intrt : contrle de l'utilisation des ressources et renforcement de la scurit Activation du contrle des limitations :
ALTER SYSTEM SET resource_limit = true

Prol DEFAULT : prol par dfaut aect un utilisateur

148 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

148 / 228

Gestion des utilisateurs

IV. Gestion des prols

2. Exemple de limitations
Limitations sur les mots de passe (renforcement de la scurit)
failed_login_attempts password_lock_time password_life_time password_grace_time
Nombre maximal de tentatives d'authentication infructueuses avant que le compte ne soit verrouill Dure en jours du verrouillage d'un compte suite failed_login_attempts tentatives d'authentication infructueuses Dure de validit en jours d'un mot de passe Dure en jour maximale laisse un utilisateur pour changer son mot de passe arriv expiration

149 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

149 / 228

Gestion des utilisateurs

IV. Gestion des prols

2. Exemple de limitations
Limitations sur l'utilisation des ressources
idle_time connect_time cpu_per_session sessions_per_user
Dure maximale en minutes d'inactivit d'une session. Au del l'utilisateur ne peut que valider ou annuler ses transactions Dure maximale en minutes d'une session. Si dpasse les transactions non valides sont annules et l'utilisateur est dconnect Temps CPU maximal en centaines de secondes consomm durant une session. Au del l'utilisateur ne peut qu'annuler ou valider ses transactions Nombre maximale de sessions simultanes qu'un utilisateur peut ouvrir

150 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

150 / 228

Gestion des utilisateurs

IV. Gestion des prols

3. Oprations de base - a. Syntaxe


Cration (non exhaustive) CREATE PROFILE nomProl LIMIT nomLimitation1 [valeur | UNLIMITED | DEFAULT] [nomLimitation2 [valeur | UNLIMITED | DEFAULT]]
[...]

Attribution d'un prol utilisateur ALTER USER nomUser PROFILE nomProl Modication d'un prol ALTER nomProl LIMIT nomLimitation [nouvelleValeur | UNLIMITED | DEFAULT] Suppression
DROP PROFILE nomProl [CASCADE]

Informations sur les prols


vue DBA_PROFILES

151 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

151 / 228

Gestion des utilisateurs

IV. Gestion des prols

3. Oprations de base - b. Exemples


Cration
CREATE PROFILE pAgent LIMIT sessions_per_user 2 idle_time 600 failed_login_attempts 3 password_lock_time 15/1440 cpu_per_session 500 ALTER USER agent PROFILE pAgent

Attribution d'un prol utilisateur Modication d'un prol Suppression

ALTER DEFAULT LIMIT sessions_per_user 5 ALTER pAgent LIMIT failed_login_attempts UNLIMITED DROP PROFILE pAgent [CASCADE]

152 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

152 / 228

Gestion des utilisateurs

IV. Gestion des prols

4. Fonction de vrication des mots de passe


SYS : a la possibilit de crer une fonction de vrication de mots de passe et de l'aecter un prol
Signature de la fonction :

nomFonction(login IN VARCHAR2(30), pwd IN VARCHAR2(30), ancienPwd IN


VARCHAR2(30)) RETURN BOOLEAN

Aectation un prol : Dsactivation :

CREATE PROFILE pAgent LIMIT PASSWORD_VERIFY_FUNCTION nomFonction ALTER PROFILE pAgent LIMIT PASSWORD_VERIFY_FUNCTION DEFAULT

153 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

153 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

Chapitre 6 - Gestion des utilisateurs


Introduction I. Gestion basique des comptes des utilisateurs II. Gestion des privilges III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs
1. 2. 3. 4. 5. Vue d'ensemble Activation/dsactivation de l'audit Activation/dsactivation de l'audit Catgories d'audit Gestion des donnes d'audit

154 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

154 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

1.a. Qu'est ce que l'audit?


Fonction d'audit
Surveiller les actions faites par les utilisateurs sur la BD Dtecter les activits suspectes ou anormales faites
sur un objet donn, ou par un utilisateur donn, ou par une action (ordre SQL) donne, ou avec un privilge donn

Ex.

AUDIT INSERT TABLE BY isitcom WHENEVER NOT SUCCESSFUL

154 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

154 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

1.b. Informations collectes (trace) lors d'un audit


Informations collectes (trace) lors d'un audit
Dpendent du type d'audit Essentiellement :
1 Login SE de l'utilisateur ayant ouvert la session 2 Login Oracle de l'utilisateur ayant ouvert la session 3 Identiant de la session 4 Identiant du terminal 5 Nom de l'objet utilis (Ex. table

Emp )

6 Code de l'opration eectue ou essaye. Le vue AUDIT_ACTION liste les

actions et leurs codes (1 CREATE TABLE, 2 INSERT, etc.)

7 Code de terminaison de l'opration (Ex.0 si tout se passe bien). 8 Estampille temporelle

155 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

155 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

2. Activation/dsactivation de l'audit
Activation/dsactivation de la fonction d'audit : paramtre d'initialisation statique AUDIT_TRAIL

NONE : valeur par dfaut. Dsactive l'audit. ALTER SYSTEM SET audit_trail=DB SCOPE=spfile
Trace d'audit stocke dans la BD Essentiellement dans la table sys.AUD$ Accessible via la vue DBA_AUDIT_TRAIL Exemple : lister les actions faites par l'utilisateur isitcom SELECT username, timestamp, action_name FROM dba_audit_trail WHERE username = 'ISITCOM'

156 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

156 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

3. Activation/dsactivation de l'audit
ALTER SYSTEM SET audit_trail=OS SCOPE=spfile
Trace d'audit stocke dans le SE Windows : Observateur d'vnements Unix : chier dont l'emplacement est dni par le paramtre d'initialisation audit_file_dest

ALTER SYSTEM SET audit_trail=xml SCOPE=spfile


Trace d'audit stocke dans un document XML Emplacement dni par le paramtre d'initialisation audit_file_dest

157 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

157 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

4. Catgories d'audit - a. Types d'audit


Types d'audit
1 2 3 4

Audit par dfaut Audit des ordres SQL Audit des privilges Audit des objets

158 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

158 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

4. Catgories d'audit - b. Audit par dfaut


Toujours activ, mme si AUDIT_TRAIL=NONE Stockage de la trace dans le SE, mme si AUDIT_TRAIL=DB Informations traces :
Dmarrage de l'instance Arrt de l'instance Nom de l'utilisateur du systme d'exploitation qui s'est connect Oracle avec des privilges systme

159 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

159 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

4. Catgories d'audit - c. Audit des ordres SQL


Syntaxe :
AUDIT action [BY nomUser ] [WHENEVER [NOT] SUCCESSFUL] [BY ACCESS|SESSION]
action

etc.

: action tracer. Ex. CREATE TABLE, DROP TABLE, TABLESPACE, ROLE,

BY nomUser : utilisateur dont l'action est tracer WHENEVER NOT SUCCESSFUL : trace gnre uniquement si l'action choue BY SESSION | BY ACCESS : informations plus dtailles si BY ACCESS

Dsactivation :
NOAUDIT action [BY nomUser ]

Liste des actions traces : DBA_STMT_AUDIT_OPTS

160 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

160 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

4. Catgories d'audit - d. Audit des privilges


Syntaxe :
AUDIT privilege [BY nomUser ][BY ACCESS|SESSION] ALTER USER, ect.
privilege

: privilge tracer. Ex. : SELECT ANY TABLE, ALTER TABLESPACE,

Exemple : AUDIT CREATE ANY TABLE BY isitcom

Dsactivation :
NOAUDIT privilege [BY nomUser ]

Liste des privilges tracs : DBA_PRIV_AUDIT_OPTS

161 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

161 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

4. Catgories d'audit - e. Audit des objets


Audit d'une action particulire faite sur un objet particulier

Syntaxe :
AUDIT action ON objet [BY nomUser ] [WHENEVER [NOT] SUCCESSFUL] [BY ACCESS|SESSION]
action objet

: UPDATE, INSERT, DELETE, UPDATE, etc.

: table, vue, squence, etc.

scolarite

Exemple : AUDIT SELECT, INSERT, DELETE ON isitcom.Etudiants BY

Dsactivation :
NOAUDIT action ON objet [BY nomUser ]

Liste des objets tracs : DBA_OBJ_AUDIT_OPTS

162 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

162 / 228

Gestion des utilisateurs

V. Audit de l'activit des utilisateurs

5. Gestion des donnes d'audit


Si la trace d'audit est sature, les instructions traces ne s'excutent plus correctement Le DBA doit purger par lui-mme la trace (pas d'utilitaires Oracle) Exemple :
DELETE FROM sys.aud$ WHERE timestamp# < SYSDATE - 90

163 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

163 / 228

Cration manuelle d'une BD et conguration du rseau

Introduction

Chapitre 7 - Cration manuelle d'une BD et conguration du rseau


Introduction I. Cration d'une base de donnes III. Conguration du rseau (Oracle Net)

164 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

164 / 228

Cration manuelle d'une BD et conguration du rseau

Introduction

Introduction
Mise en place d'un BD Oracle
1 2 3

Installation d'Oracle ct serveur et ct client Cration de la BD Conguration du rseau ct serveur et ct client

Oracle : fournit un ensemble d'outils graphiques pour assister l'administrateur

Ce chapitre...
1 2

Cration d'une base de donnes Conguration du rseau (Oracle Net)

164 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

164 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

Chapitre 7 - Cration manuelle d'une BD et conguration du rseau


Introduction I. Cration d'une base de donnes
1. Notes sur l'architecture OFA 2. Cration manuelle 3. Cration l'aide de DBCA

III. Conguration du rseau (Oracle Net)

165 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

165 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - a. Prsentation


Optimal File Architecture (OFA)
Ensemble de recommandations sur l'arborescence et le nommage des chiers du serveur destines faciliter l'administration des produits Oracle Principe : sparer le produit Oracle, les chiers relatifs l'administration et les chiers de la BD
Oracle Universal Installer

: respecte les recommandations OFA

Deux rpertoires importants :

Oracle_Base et Oracle_Home

165 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

165 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - b. Oracle_Base


Oracle_Base
Racine de l'arborescence Conventions d'emplacement et de nommage (Version 11g)
Windows : X:\app\compte, o X est un lecteur de disque et compte le compte utilis pour l'installation Ex. d:\app\foulen Unix et Linux : /pm/ccc/compte, o pm est un point de montage, ccc une chane quelconque et compte le compte utilis pour l'installation Ex. /u01/app/foulen

166 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

166 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - b. Oracle_Base


Oracle_Base
Contient, entre autres (version 11g)
oradata : chiers des direntes BDs (chiers de donnes, de contrle, temporaires, d'annulation, de journalisation et d'audit) admin : chiers d'administration des BDs (Ex. ple) cfgtoollogs : chiers journaux des assistants de conguration diag : pour le Rfrentiel de Diagnostic Automatique (ADR) product : contient un ou plusieurs rpertoire Oracle _Home , un par version d'un produit Oracle installe

oradata et admin :
Diviss chacun en des sous-rpertoires, un par BD Chaque sous-rpertoire porte le nom de la BD correspondante (paramtre DB_NAME)

167 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

167 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

1. Notes sur l'architecture OFA - c. Oracle_Home


Oracle_Home
Sous-rpertoire d'Oracle_Base\product Contient les chiers du logiciel install (Ex. serveur de BD : utilitaires, excutables, scripts, etc.) Conventions d'emplacement et de nommage (Version 11g)
ORACLE_BASE\product\v.v.v\type_n v .v .v : version du produit type : type du produit. Ex. dbhome pour serveur de BD _n : un numro d'ordre du type Ex. d:\app\foulen\product\11.2.0\dbhome1

168 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

168 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - a. tapes


1 Choisir un nom (SID) pour identier l'instance et la distinguer des autres instances

tournant sur la machine Windows : set oracle_sid=dbisitcom Unix : export oracle_sid=dbisitcom

2 Avec l'utilitaire ORAPWD, crer un chier de mots de passe ORACLE_HOME\database\PWDSID .ora ORAPWD FILE=D:\app\Khaled\product\11.2.0\dbhome_1\database\PWDdbisitcom.ora 3 Crer un chier de paramtres PFILE ORACLE_HOME\database\initSID .ora : partir de

l'exemple Oracle disponible soit dans la documentation soit sous le rpertoire ORACLE_HOME\dbs\init.ora D:\app\Khaled\product\11.2.0\dbhome_1\database\initdbisitcom.ora

4 Modier le nouveau ple : essentiellement le chemin du chier de contrle, le paramtre

db_name et la chane <ORACLE_BASE>(avec un diteur de texte) db_name=dbisitcom control_files = 'D:\app\khaled\oradata\dbisitcom\control01.CTL' <ORACLE_BASE> est remplac par D:\app\khaled

169 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

169 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - a. tapes


5 Crer un rpertoire sous oradata et un autre sous admin ayant le nom de votre BD (pour

respecter l'architecture OFA) : D:\app\Khaled\oradata\DBISITCOM D:\app\Khaled\admin\DBISITCOM

6 (Uniqu. sous Windows) Crer une instance sous forme d'un service Windows avec

l'utilitaire ORADIM1 ORADIM -NEW -SID dbisitcom -STARTMODE MANUAL -PFILE D:\app\Khaled\product\11.2.0\dbhome_1\database\initdbisitcom.ora SQLPLUS /nolog puis SQL> CONNECT / AS SYSDBA

7 Se connecter l'instance (dtermin par le SE selon la valeur de oracle_sid) 8 Crer un chier de paramtres serveur SPFILE

SQL> CREATE SPFILE FROM PFILE SQL> STARTUP NOMOUNT

9 Dmarrer l'instance (aucune vrication de cohrence ce niveau) 10 Crer la base de donnes

SQL> CREATE DATABASE...

1 N.B.
170 / 228

Khaled Jouini c (IsitCom)

Pour supprimer le service : ORADIM -DELETE -SID dbisitcom


Administration des bases de donnes 2012-2013 170 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

2. Cration manuelle - a. tapes


12 Crer des tablespaces additionnels (cf. chapitre 3) 13 Crer les vues du dictionnaire de donnes et les synonymes avec le script CATALOG.SQL : SQL> @ ORACLE_HOME\rdbms\admin\CATALOG.SQL 14 Crer les packages PL/SQL avec le script CATPROC.SQL : SQL> @ ORACLE_HOME\rdbms\admin\CATPROC.SQL 15 (Windows uniq.) Mettre l'instance en mode dmarrage automatique

ORADIM -EDIT -SID DBISITCOM -STARTMODE AUTO -SRVCSTART SYSTEM

16 (Unix uniq.) Mettre l'instance en mode dmarrage automatique en l'enregistrant dans le

chier oratab (solaris sous /etc, linux sous /var/opt/oracle)2 vi /var/opt/oracle/oratab dbisitcom:/u01/app/oracle/product/11.2.0/dbhome_1:Y emca -config dbcontrol db -repos create

17 Congurer le DB control (script ORACLE_HOME\bin\emca)

2 pour plus d'informations voir docs.oracle.com/cd/E14072_01/server.112/e10839/strt_stp.htm


171 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 171 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

DATABASE

2. Cration manuelle - b. Exemple CREATE

CREATE DATABASE DBISITCOM > Choix des mots de passe de SYS et SYSTEM USER SYS IDENTIFIED BY i$1tc0m USER SYSTEM IDENTIFIED BY oradm1n > 2 groupes de journalisation de taille 100M chacun LOGFILE GROUP 1 'd:\app\khaled\oradata\DBISITCOM\redo11.log' SIZE 100M REUSE, GROUP 2 'd:\app\khaled\oradata\DBISITCOM\redo21.log' SIZE 100M REUSE > Nombre max de groupes Redo log MAXLOGFILES 5 > Nombre de chiers membre par groupe (dpend du systme d'exploitation) MAXLOGMEMBERS 3 > Nombre max de chiers de donnes MAXDATAFILES 100 > Nombre max d'instances pouvant tre associes la BD MAXINSTANCES 1

172 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

172 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

DATABASE

2. Cration manuelle - b. Exemple CREATE


> Encodage des caractres CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 > Fichier stockant le tablespace SYSTEM DATAFILE 'd:\app\khaled\oradata\DBISITCOM\system01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED > Fichier stockant le tablespace SYSAUX SYSAUX DATAFILE 'd:\app\khaled\oradata\DBISITCOM\sysaux01.dbf' SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED > Tablespace temporaire DEFAULT TEMPORARY TABLESPACE tempts1 TEMPFILE 'd:\app\khaled\oradata\DBISITCOM\temp01.dbf' SIZE 20M > Tablespace d'annulation UNDO TABLESPACE undotbs1 DATAFILE 'd:\app\khaled\oradata\DBISITCOM\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

173 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

173 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

174 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

174 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

175 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

175 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

176 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

176 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

177 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

177 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

178 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

178 / 228

Cration manuelle d'une BD et conguration du rseau

I. Cration d'une base de donnes

3. Cration l'aide du

DataBase Conguration Assistant

179 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

179 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

Chapitre 7 - Cration manuelle d'une BD et conguration du rseau


Introduction I. Cration d'une base de donnes III. Conguration du rseau (Oracle Net)
1. 2. 3. 4. 5. 6. Prsentation d'Oracle Net Identication d'un serveur de BD Conguration ct client Conguration ct serveur Conguration avec l'assistant graphique L'utilitaire LiSteNeR ConTroL lsnrtctl

180 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

180 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

1. Prsentation d'Oracle Net


Rle : permettre les accs distants d'applications clientes un serveur de base de donnes Oracle Installation et conguration : ct client et ct serveur Objectif : rendre le rseau "transparent" pour les applications sans spcication de l'adresse de la machine hte du serveur de BD, du protocole rseau, etc.

Figure:
180 / 228

[Oracle c

Net Services Administrator's Guide 11g Release 2 (11.2) E10836-06, 2010]

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

180 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

1. Prsentation d'Oracle Net

Figure: Vue d'ensemble


181 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 181 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

2. Identication d'un serveur de BD


Serveur de BD (instance + BD) : ore le service consistant connecter et excuter les requtes des applications clientes Machine serveur (hte du serveur de BD) :
Peut tre l'hte de plusieurs serveurs de BD Chaque serveur de BD est identi par un nom de service (Service name) Au moins un processus d'coute (Listener) doit y tre prsent pour orienter les requtes vers le nom de service (serveur de BD) concern

Nom de service :
Valeur stocke dans le paramtre SERVICE_NAMES du chier de paramtres Par dfaut correspond au nom global de la BD renseign lors de sa cration : DB_NAME.DB_DOMAIN Ex. dbisitcom (si pas de domaine), dbisitcom.infcom.rnu.tn

182 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

182 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - a. Descripteur de connexion


Accs un serveur de BD partir d'un client :
1 2

Protocole rseau (Ex. TCP/IP) Adresse de la machine hte. Ex. adresse IP : 10.1.1.5 ou nom rseau de la machine : SRVCSTCM (utilisation d'un DNS) Port d'coute (si protocole TCP/IP) : par dfaut 1521 pour Oracle Nom de service du serveur de BD

3 4

Informations reprsentes sous la forme d'un (connect descriptor)

descripteur de connexion

183 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

183 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - a. Descripteur de connexion


Descripteur de connexion
Exemple : db =(description=(address=(protocol=tcp)(host=SRVCSTCM) (port=1521))connect_data=(service_name=dbisitcom))

db :

nom de service rseau (Net Service Name)


Utilis pour identier le descripteur de connexion

Connexion un serveur de BD depuis un client : par le nom du service rseau. Ex. connect system/manager@db. (@: indique le nom du service rseau auquel l'utilisateur demande se connecter) Noms de service rseau auxquels un client peut accder : groups dans le chier tnsnames.ora
184 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 184 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - b. Rsolution des noms de connexions rseau


tnsnames.ora (tns
Rle : rsolution des noms de service rseau en des descripteurs de connexion Doit tre prsent sur toute machine dsirant se connecter au(x) serveur(s) de BD
: transparent network substrate)

Autres mthodes de rsolution

1 Mthode de connexion simplie :

Pour TCP/IP, depuis la version Oracle 10g Adresse de connexion (sans conguration du client) : [//]hte[:port][/service] Ex. connect system/manager@SRVCSTCM:1521/dbisitcom
2 LDAP : via un annuaire lectronique (LDAP) centralis.

Ncessite un produit tier (Ex. Oracle Net Directory, Windows Active Directory, OpenLDAP, etc.)

185 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

185 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

3. Conguration ct client - b. Rsolution des noms de connexions rseau


ORACLE_HOME\network\admin\sqlnet.ora : stocke les mthodes de rsolution

des noms de service utilisables par le client

La commande tnsping nomServiceReseau excute au niveau du client permet de tester si un processus d'coute peut tre contact l'adresse correspondante

186 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

186 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - a. Processus d'coute (Listnener)


Processus d'coute : Rle : orienter les demandes de connexion des applications clientes vers le serveur de BD appropri Se matrialise par
un service sous Windows (Oracle<nomOracle_Home>TNSListener) un processus sous Unix (tnslsnr)

Gestion (dmarrage/arrt/modication) : par l'utilitaire lsnrctl Conguration (chier ORACLE_HOME/network/admin/listener.ora) :


Comment le processus coute (ex. selon quel protocole et pour quelles adresses) Pour quels serveurs de BD

Cration : il sut de crer une entre dans le chier listener.ora


187 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 187 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - b. Fichier listener.ora


listener.ora (essentiellement) :
1

Emplacements d'coute (ADDRESS_LIST) : Adresses rseaux utilises par le processus d'coute pour recevoir les demandes de connexion Services de BD (SID_LIST_LISTENER) : Serveurs de BD inscrits auprs du processus d'coute (pour lesquelles le processus coute et accepte des demandes de connexions)

188 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

188 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

4. Conguration ct (machine) serveur - b. Fichier listener.ora


Exemple listener.ora : LISTENER= (DESCRIPTION= (ADDRESS_LIST= (adress=(porotocol=tcp)(host=SRVCSTCM)(port=1521)) ) ) SID_LIST_LISTENER = (SID_DESC = (GLOBAL_DBNAME = dbisitcom) (ORACLE_HOME = d:\app\khaled\product\11.2.0\dbhome_1) (SID_NAME = dbisitcom) ) )
3 Entre requise uniquement si l'instance et le processus d'coute n'appartiennent pas au mme ORACLE_HOME
189 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 189 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

En rsum...

190 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

190 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a. Prsentation


Conguration du rseau : Assistant Conguration Oracle Net ou Oracle Net Manager

191 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

191 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a. Gnration de tnsnames.ora (ct client)

192 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

192 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a. Gnration de tnsnames.ora (ct client)

193 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

193 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a. Gnration de tnsnames.ora (ct client)

194 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

194 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - a. Gnration de tnsnames.ora (ct client)

N.B. le chier gnr peut tre dupliqu en l'tat sur toutes les machines
clientes
195 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 195 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b. Gnration de listener.ora (ct serveur)

196 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

196 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b. Gnration de listener.ora (ct serveur)

197 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

197 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b. Gnration de listener.ora (ct serveur)

198 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

198 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

5. Conguration avec l'assistant graphique - b. Gnration de listener.ora (ct serveur)

199 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

199 / 228

Cration manuelle d'une BD et conguration du rseau

III. Conguration du rseau (Oracle Net)

6. L'utilitaire LiSteNeR ConTroLlsnrtctl


lsnrctl : S'utilise ct serveur pour grer le(s) processus d'coute
Principales commandes
Commande : lsnrctl>
HELP HELP commande START STOP STATUS SERVICES RELOAD

Eet Ache la liste des commandes Ache l'aide sur une commande Dmarre le processus d'coute Arrte le processus d'coute Ache les informations sur la conguration du processus d'coute et les services enregistrs Ache des informations dtailles sur les services enregistrs auprs du processus d'coute Recharge la conguration du processus d'coute partir de listener.ora

200 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

200 / 228

Sauvegarde et rcupration

Introduction

Chapitre 8 - Sauvegarde et rcupration


Introduction I. Concepts de base II. Sauvegarde avec RMAN III. Restauration et rcupration avec RMAN

201 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

201 / 228

Sauvegarde et rcupration

Introduction

Introduction
Scurit des donnes : une des tches principales de l'administrateur
1

Protection des chiers sensibles (chier de contrle, chier de paramtres, chiers de journalisation, etc.) Mise en place d'une

stratgie de sauvegarde et de rcupration

Adapte aux contraintes de l'entreprise Teste et documente

201 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

201 / 228

Sauvegarde et rcupration

Introduction

Introduction
Deux grandes catgories de sauvegardes :

logiques et physiques

Sauvegarde logique :

copie de la dnition de tous les objets (chiers trace) + export/import des donnes
Copie physique (d'une partie) des chiers de la BD l'aide des commandes du SE et de scripts SQL (dconseill) ou l'aide de l'utilitaire RMAN (Recovery MANager)

Sauvegarde physique :

Ce chapitre...
1 2 3

Concepts de base Sauvegarde avec RMAN Restauration et rcupration avec RMAN

202 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

202 / 228

Sauvegarde et rcupration

I. Concepts de base

Chapitre 8 - Sauvegarde et rcupration


Introduction I. Concepts de base

II. Sauvegarde avec RMAN III. Restauration et rcupration avec RMAN

1. Principe de la sauvegarde/rcupration 2. Sauvegarde cohrente vs. sauvegarde incohrente 3. Quel mode de fonctionnement pour la BD?

203 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

203 / 228

Sauvegarde et rcupration

I. Concepts de base

1. Principe de la sauvegarde/rcupration
Archivage des chiers Redo Log (mode ARCHIVELOG) : permet un recouvrement complet de la BD suite une panne Principe : restauration, puis rcupration

Figure: [Oracle 11g Administration, Olivier Heurtel, eni Editions, Nov. 2008]
203 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 203 / 228

Sauvegarde et rcupration

I. Concepts de base

2. Sauvegarde cohrente vs. sauvegarde incohrente


Sauvegarde cohrente (cold-backup) Sauvegarde de la totalit de la BD aprs un arrt propre :
ferme ou
cold backup

sauvegarde base

Cohrente : chiers de donnes et chier de contrle portent le mme SCN (synchrones)


Utilisable sans application des chiers de journalisation Seul type de sauvegarde possible si mode NOARCHIVELOG Pas possible pour les BD devant fonctionner 24/24, 7/7

204 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

204 / 228

Sauvegarde et rcupration

I. Concepts de base

2. Sauvegarde cohrente vs. sauvegarde incohrente


Sauvegarde incohrente (hot backup)
Sauvegarde sans fermeture de la BD (sauvegarde BD ouverte)

Les chiers sauvegards ne sont pas synchrones (pas sauvegards au mme instant) et peuvent subir des modications post-sauvegarde
BD restaure partir d'une copie incohrente ncessite l'utilisation des Redo Log pour rejouer les modications et remettre la BD un tat cohrent

Possible uniquement si mode ARCHIVELOG Souhaitable car disponibilit accrue de la BD

205 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

205 / 228

Sauvegarde et rcupration

I. Concepts de base

3. Quel mode de fonctionnement pour la BD?


Sauvegarde BD ferme possible Oui Non Pertes de donnes acceptables Oui Non NOARCHIVELOG ARCHIVELOG ARCHIVELOG ARCHIVELOG

ARCHIVELOG : au moins une des contraintes ci-dessous existe


Si aucune perte de donnes n'est tolre Si la BD doit rester disponible tout moment

Notes sur le mode ARCHIVELOG


Mettre la BD en mode ARCHIVELOG : la BD doit tre en mode MOUNT + ALTER DATABASE ARCHIVELOG

LOG_ARCHIVE_DEST_n : emplacement de la neme copie de l'archive (n 10)


Vue V$ARCHIVED_LOG : informations sur les archives log

206 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

206 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

Chapitre 8 - Sauvegarde et rcupration


Introduction I. Concepts de base II. Sauvegarde avec RMAN
1. 2. 3. 4. 5. 6. 7. 8.

III. Restauration et rcupration avec RMAN

Vue d'ensemble Commande de sauvegarde Format d'une sauvegarde : image vs. backup set Sauvegarde complte Sauvegarde partielle Sauvegarde incrmentale lments de conguration de RMAN Zone de rcupration rapide (Falsh Recovery Area)

207 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

207 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

1. Vue d'ensemble
RMAN (Recovery MANager)
Utilitaire en ligne de commande permettant la sauvegarde et la rcupration d'une BD cible (Target DataBase) Exemples de lancement
> rman target sys/is1tc0m (utilisation de la variable d'environnement ORACLE_SID) > rman target sys/is1tc0m@db

A besoin que la BD cible soit ouverte ou dfaut chier de contrle)

monte (pour accder au

Ne permet pas la sauvegarde des chiers de conguration du rseau et celui des mots de passe
S'utilise galement avec Entreprise Manager
207 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 207 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

2. Commande de sauvegarde - a. Syntaxe (non exhaustive)


Syntaxe gnrale : BACKUP [comment ]
comment quoi

[options ]

Format de la sauvegarde : image (AS COPY) ou backup set (AS [COMPRESSED] BACKUP SET) Porte de la sauvegarde : tous les blocs (par dfaut), ou incrmentale (INCREMENTAL LEVEL n [CUMULATIVE]) Type de la sauvegarde : Sauvegarde complte (DATABASE), Sauvegarde partielle (TABLESPACE nomTablespace ) SPFILE

quoi

options

INCLUDING CURRENT CONTROLFILE PLUS ARCHIVELOG NOT BACKEDUP SINCE TIME = date TAG = nomSauvegarde
208 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 208 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

3. Format d'une sauvegarde : image vs. backup set


RMAN permet deux alternatives pour la copie physique des donnes : et backup set

image

Image
Mme principe que la copie d'un chier dans les SE Duplication (copie identique) d'un seul chier (de donnes, d'archives log, de contrle ou de paramtres d'initialisation) Inclut tous les blocs du chier dupliqu, mme ceux qui n'ont jamais t utiliss (blocs vides) Ne peut tre crite que sur un disque (pas directement sur la bande de sauvegarde)

209 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

209 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

3. Format d'une sauvegarde : image vs. backup set


Backup set (Jeu de sauvegarde) Copie d'un ou de plusieurs chiers dans un
format lisible uniquement par RMAN

N'inclut pas les blocs n'ayant jamais t utiliss N'inclut pas les donnes d'annulation non ncessaires la rcupration (transactions
valides) Stock dans un (par dfaut) ou plusieurs chiers binaires appels Backup piece (lments de sauvegarde) Possibilit de lecture multiplexe (simultane) lors d'une sauvegarde

Figure:

[Oracle

Database Backup

and Recovery User's Guide 11g Release 2 (11.2)]

210 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

210 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

4. Sauvegarde complte - a. Prsentation


Sauvegarde complte Sauvegarde de la totalit de la BD
Exemples :
BACKUP DATABASE; BACKUP AS COMPRESSED BACKUPSET DATABASE; : jeu de sauvegarde compress (sauvegarde plus lente mais gain typique de 80% de l'espace requis) BACKUP VALIDATE DATABASE : permet de vrier si la BD est en "bon tat" pour la sauvegarde (tous les chiers sont accessibles)

Peut se faire

BD ferme (cold backup) : sauvegarde cohrente, si NOARCHIVELOG BD ouverte (hot backup) : sauvegarde incohrente, si ARCHIVELOG

211 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

211 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

4. Sauvegarde complte - b. Scnarios


Sauvegarde BD ferme (cohrente):
SHUTDOWN IMMEDIATE; STARTUP MOUNT; BACKUP AS BACKUPSET DATABASE SQL "ALTER DATABASE OPEN" # # # # arrter la base monter la base sauvegarder la base ouvrir la base # sauvegarder la base # et les archives

Sauvegarde BD ouverte (incohrente)


BACKUP DATABASE PLUS ARCHIVELOG

212 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

212 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

5. Sauvegarde partielle - a. Prsentation


Sauvegarde partielle
Sauvegarde d'une

partie (Ex.

tablespaces) de la BD

Exemple : BACKUP AS COMPRESSED BACKUP SET TABLESPACE system, tbsusers; Les chiers sauvegards ne sont pas synchrones et peuvent subir des modications post-sauvegarde Forcment incohrente

Exploitable uniquement si mode ARCHIVELOG

N.B.

La sauvegarde du tablespace SYSTEM, entrane galement la sauvegarde du chier de contrle et de celui des paramtres

213 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

213 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

5. Sauvegarde partielle - b. Scnario


Jour 1 BACKUP TABLESPACE system, tbsusers Jour 2 BACKUP TABLESPACE index Jour 3 BACKUP DATABASE NOT BACKED UP SINCE TIME='SYSDATE-3' PLUS
ARCHIVELOG INCLUDING CONTROLFILE

Sauvegarde partielle BD ouverte :

Sauvegarde partielle BD ferme : possible, mais aucun intrt sauvegarde partielle exploitable uniquement si ARCHIVELOG, or si ARCHIVELOG autant la faire BD ouverte

214 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

214 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

6. Sauvegarde incrmentale - a. Prsentation


Sauvegarde incrmentale
Disponible uniquement en version
Entreprise Edition

Ne contient que les blocs modis depuis la dernire sauvegarde Ncessite une copie complte de base Exemple de planning de sauvegarde : sauvegarde complte chaque samedi et incrmentale chaque autre jour de la semaine Peut tre complte ou partielle, BD ferme ou ouverte

215 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

215 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

6. Sauvegarde incrmentale - a. Syntaxe


Syntaxe
BACKUP INCREMENTAL LEVEL
n

[CUMULATIVE] DATABASE
4

LEVEL 0 : copie de base (sauvegarde de la totalit de la BD)

LEVEL 1 : sauvegarde direntielle de tous les blocs modis depuis la dernire sauvegarde incrmentale de niveau 0 ou 1 (par dfaut) LEVEL 1 CUMULATIVE :
Sauvegarde cumulative de tous les blocs modis depuis la dernire sauvegarde incrmentale de niveau 0 Ncessite plus d'espace disque Rcupration plus rapide par rapport la sauvegarde direntielle (moins d'tapes intermdiaires)

4 une sauvegarde complte n'est pas considre par RMAN comme tant une sauvegarde incrmentale de niveau 0
216 / 228 Khaled Jouini c (IsitCom) Administration des bases de donnes 2012-2013 216 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

6. Sauvegarde incrmentale - c. Scnarios


Sauvegarde BD ouverte (incohrente):
Dimanche : sauvegarde incrmentale de niveau 0 BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG Du Lundi au Samedi : sauvegarde incrmentale cumulative de niveau 1 BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE PLUS ARCHIVELOG

Sauvegarde BD ferme (cohrente) : mme principe, avec fermeture de la BD lors de la sauvegarde


SHUTDOWN IMMEDIATE; STARTUP MOUNT; BACKUP INCREMENTAL LEVEL... SQL "ALTER DATABASE OPEN" # # # # arrter la base monter la base sauvegarder la base ouvrir la base

217 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

217 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

En rsum...
Sauvegarde BD ouverte (hot
backup),

si ARCHIVELOG

Sauvegarde BD ouverte incrmentale ou partielle, si


ARCHIVELOG Sauvegarde "lente" "Grand" volume de donnes sauvegarder

Sauvegarde BD ferme (Cold sauvegarde lente

Backup),

si NOARCHIVELOG, incrmentale si

218 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

218 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

7. lments de conguration de RMAN


Achage des paramtres de conguration : rman> show all Modication des paramtres : commande CONFIGURE Exemples
CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 4G

Sauvegarde sur disque dur (sbt pour mmoire de type bande)

Dure de conservation des donnes de sauvegarde (fentre de restauration, les sauvegardes obsoltes sont supprimes) CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS Nombre de copies de sauvegarde
CONFIGURE RETENTION POLICY TO REDUNDANCY n

Sauvegarde automatique du chier de contrle


CONFIGURE CONTROLFILE AUTOBACKUP ON

219 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

219 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

8. Zone de rcupration rapide (Falsh Recovery Area)


Sauvegarde sur disque : moins sre mais plus rapide (minutes au lieu d'heures) qu'une sauvegarde sur bande
Falsh Recovery Area

: zone sur disque rserve au stockage de toutes donnes et les activits de sauvegardes (depuis la version 10g)

Permet de bncier de certaines oprations automatiques de sauvegarde/rcupration Contient


Une copie du chier de contrle (multiplexage possible) Fichiers des archives log : LOG_ARCHIVE_DEST_10 automatiquement mis sur l'emplacement de la zone de rcupration rapide Copie du chier de paramtres Backup sets (jeux de sauvegarde) gnrs par RMAN

220 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

220 / 228

Sauvegarde et rcupration

II. Sauvegarde avec RMAN

8. Zone de rcupration rapide (Falsh Recovery Area)


Conguration
1

ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = SCOPE=BOTH ALTER SYSTEM SET DB_RECOVERY_FILE_DEST =

int

[M|G] SCOPE=BOTH

Chemin

221 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

221 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

Chapitre 8 - Sauvegarde et rcupration


Introduction I. Concepts de base II. Sauvegarde avec RMAN III. Restauration et rcupration avec RMAN
1. 2. 3. 4. Vue d'ensemble Principe gnraux de la rcupration Commandes de restauration/rcupration Scnarios de rcupration

222 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

222 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

1. Vue d'ensemble
En cas de problme(s)
1 Identier la nature du problme : perte du chier de paramtres, de contrle,

de journalisation, etc.

2 Planier la rcupration en fonction du problme et du mode de

fonctionnement de la BD (ARCHIVELOG ou NOARCHIVELOG)

"Rcupration" : deux tapes,

restauration, puis rcupration

1 Restauration

Extraire d'une sauvegarde les chiers ncessaires : chier(s) endommag(s) et si disponibles les archives permettant la rcupration Commande RMAN : rman> restore cible Application des chiers de journalisation au(x) chier(s) restaur(s) Commande RMAN : rman> recover cible

2 Rcupration

222 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

222 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

2.a. Rcupration en mode ARCHIVELOG


Procd :
1 Restaurer le(s) chier(s) endommag(s) (dans l'ordre le chier de paramtres,

de contrle, puis les autres) en ligne)

2 Rcupration : appliquer les chiers de journalisation (les archives, puis ceux 3 Redmarrer la BD

Toutes les modications apportes depuis la sauvegarde sont rcupres

223 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

223 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

2.b. Rcupration en mode NOARCHIVELOG


Procd :
1 Restaurer la dernire sauvegarde complte de la BD 2 Redmarrer la BD

Rcupration (RECOVER)
Possible uniquement sidepuis la dernire sauvegarde un cycle complet de basculement entre groupes de journalisation n'a pas eu lieu Sinon, les modications faites depuis la dernire sauvegarde sont dnitivement perdues

224 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

224 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

2.b. Rcupration en mode NOARCHIVELOG


Procd :
1 Restaurer la dernire sauvegarde complte de la BD 2 Redmarrer la BD

Rcupration (RECOVER)
Possible uniquement sidepuis la dernire sauvegarde un cycle complet de basculement entre groupes de journalisation n'a pas eu lieu Sinon, les modications faites depuis la dernire sauvegarde sont dnitivement perdues

224 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

224 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

3. Commandes de restauration/rcupration
Syntaxe (non exhaustive) : {RESTORE | RECOVER}
cible cible

[options ]

DATABASE TABLESPACE ListeNomTablespaces CONTROLFILE [FROM AUTOBACKUP] SPFILE [FROM AUTOBACKUP]

225 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

225 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

4.a. Rcupration du chier de paramtres


Deux possibilit : partir d'un PFILE, si disponible ou avec RMAN
SET DBID dbid ; STARTUP NOMOUNT; RESTORE SPFILE FROM AUTOBACKUP SQL "ALTER DATABASE OPEN" # # # # placer RMAN sur la BD restaurer RMAN utilise un SPFILE "temporaire" restauration du SPFILE ouvrir la base

Remarques
1

La rcupration du chier de paramtres et de contrle, si endommags, doit prcder la rcupration des autres chiers de la BD Il est possible de connatre le dbid soit partir du message de dmarrage de rman soit en interrogeant la vue v$database.

226 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

226 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

4.b. Rcupration d'une partie de la BD en mode ARCHIVELOG


Peut se faire BD ouverte, si la BD est reste ouverte et que le tablespace endommag n'est pas le tablespace SYSTEM
STARTUP MOUNT; RESTORE TABLESPACE nomTbs ; RECOVER TABLESPACE nomTbs DELETE ARCHIVELOG SQL "ALTER DATABASE OPEN" # # # # dmarrer la BD en mode MOUNT Restauration de nomTbs suppression des archives au fur et mesure de leur application ouvrir la base

227 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

227 / 228

Sauvegarde et rcupration

III. Restauration et rcupration avec RMAN

4.c. Rcupration de tous les chiers de contrle


SET DBID dbId ; STARTUP NOMOUNT; RESTORE CONTROLFILE FROM AUTOBACKUP; RECOVER DATABASE SQL "ALTER DATABASE RESETLOGS" SQL "ALTER DATABASE OPEN" # dmarrer la BD en mode NOMOUNT # Restauration du fichier de contrle # Obligatoire car on repart d'une copie du fichier de contrle # Remise zro du numro de squence des logs # ouvrir la base

N.B.

La BD ainsi rcupre est considre comme une nouvelle incarnation de la BD endommage. Elle garde le mme nom, le mme DBID, mais le SCN et le numro de squence log sont remis zro

228 / 228

Khaled Jouini c (IsitCom)

Administration des bases de donnes

2012-2013

228 / 228