DBA Oracle v1 Oracle Khaled Jouini
description
Transcript of DBA Oracle v1 Oracle Khaled Jouini
-
Administration des bases de donnes
Khaled Jouini
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
OCA : Oracle 10g Administration I Study Guide (1Z0-042), Ch. Dawes, B.
Bryla, J.C. Johnson, M. Weishan. Sybex, 2005.
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)
2 L'instance
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
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)
2 Planication et cration des bases de donnes
3 Gestion de l'espace de stockage
4 Gestion des comptes des utilisateurs et des droits d'accs
5 Dploiement des procdures de sauvegarde et de rcupration pour protger
la base de donnes
6 Optimisation des performances d'accs aux donnes.
7 Gestion des aspects rseau
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 Universal Installer : interface graphique pour l'installation des outils
Oracle
Oracle DataBase Conguration Assistant : assistant pour la cration et la
conguration d'une base de donnes partir d'un modle par dfaut (OLTP,
OLAP ou mixte)
DataBase Upgrade Assistant : assistant pour migration du serveur d'une
version une autre
Net Conguration Assistant : assistant pour la conguration des accs en
rseau
Oracle Entreprise Manager : interface graphique permettant d'eectuer les
tches d'administration et de maintenance
SQL*Plus : 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 Introduction gnrale
2 Concepts de base sur le stockage de donnes
3 Gestion des tablespaces et des chiers de donnes
4 Les bases de l'architecture Oracle
5 Gestion de l'instance
6 Gestion des utilisateurs
7 Cration manuelle d'une BD et conguration du rseau
8 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
1 Souvent : taille de la base > taille mmoire vive
2 Persistance
Lenteur du disque 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 : numro du plateau + numro de la piste + numro du
bloc sur la piste
Temps de lecture
1 Dlai de positionnement : positionnement de la tte de lecture sur la piste
contenant le bloc
2 Temps de latence : rotation du disque pour attendre que le bloc passe sous la
tte de lecture
3 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
Permet de rduire le dlai de positionnement de la tte de lecture et le
temps de latence
Proximit et regroupement principe de localit spatiale
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 temporelleTaille 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) : le bloc le plus rcemment lu, remplace le moins
rcemment lu
Touch Count : le bloc le plus rcemment lu remplace celui qui totalise le
moins d'utilisations
Exemple
Taille tampon : 3 blocs
Utilisation des blocs : t
1
Ba
, t
2
Bb
, t
3
Bb
, t
4
Bc
, t
5
Ba
et
t
6
Bd
Quel bloc est remplac t
6
?
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 chiers
Fichier
Occupe un ou plusieurs blocs pouvant tre disperss sur le disque
Compos d'un ensemble d'enregistrements (records)
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
1. Prsentation
2. Niveaux
III. Structures logiques de stockage sous Oracle
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.
Coteux (de moins en moins vrai) : la moiti de l'espace de stockage est
perdu
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 seulRpartir les donnes du les n 1 disquesL'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 1100
disque 2 0110
disque C 1010
Si un des disques est endommag, il est possible de reconstruire l'information
partir des n 1 autres disques et du disque de contrle28 / 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 plusd'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 disquesCombine les avantages mirroring et du du striping niveau recommandpour 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. Bloc Oracle
2. Extension
3. Segment
4. 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 plusd'informations la fois chaque accs
Cependant, une taille de bloc "trop" grande : risque de saturer rapidement letampon 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
Problme : Mise--jour (UPDATE) augmentant la taille d'un tuple dans un bloc
satur
1 Conduit au dplacement d'une partie ou de tout un enregistrement dans un
autre bloc Chanage
2 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 etsuppressions autorises, insertions interdites
PCTFREE=
Taille moyenne d
un tuple Taille initiale d un tupleTaille moyenne d
un tuple
100
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
-
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 Les insertions sont autorises jusqu' ce que le bloc soit plein
2 Lorsque le bloc est plein 70 %
1 Les insertions sont interdites dans le bloc ;
2 Suppressions et modications sont autorises ;
3 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 Les insertions (INSERT), les suppressions (DELETE) et les m--j (UPDATE)
sont frquentes;
2 Les mises jour n'augmentent pas la taille des tuples signicativement;
3 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 pourPCTFREE (Ex. 5)
Rcuprer rapidement les espaces librs par les DELETE : grande valeurpour 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 ncessairepour 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 (RollBack
Segment)
Problme : Ncessit d'annuler des actions sur les donnes, suite une panne ou
autre
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 Aforme 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 (RollBack
Segment)
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
3 En cas de ROLLBACK, l'ancienne image remplace la nouvelle dans le segment de
table
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: Structures logiques et physiques de stockage
[Oracle r Concepts. 11g Release 2 (11.2). E10713-05Fv. 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. Information 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 Raliser des des maintenances et des sauvegardes/restaurations partielles
2 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)
3 Grer l'espace de stockage allou chaque utilisateur (Chapitre Gestion des
utilisateurs)
4 Sparer les donnes du dictionnaire de donnes des donnes applicatives
5 Sparer les donnes de plusieurs applications stockes dans la mme BD
6 Sparer le stockage des dirents types d'objets
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. Information 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
1. Modes de gestion de l'espace dans un tablespace -
a. Prsentation
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
1. Modes de gestion de l'espace dans un tablespace -
b. Avantages du mode local
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] [MAXSIZEUNLIMITED|int [K|M|G|T]]]]
> Mode de gestion des extensions
[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM[SIZE int]]]> Mode de gestion des segments
[SEGMENT SPACE MANAGEMENT [AUTO|MANUAL]]> Journalisation des oprations
[LOGGING|NOLOGGING]> Taille des blocs du tablespace
[BLOCKSIZE int ]
> Accessibilit immdiate ou non du tablespace aprs la cration
[ONLINE|OFFLINE]
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 (6 1022) "petits" chiers (taille 6 4millions de blocs Oracle)
Avantages : striping et redimensionnement possible par ajout de nouveaux
chiers
BIGFILE ( partir de la version 10)
Un seul "gros" chier (taille 6 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. chiers 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
Redimensionner un tablespace : se fait par
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
Syntaxe
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
-
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 (...) PCTFREE 10, PCTUSED 40,
TABLESPACE TS1;
2 Ultrieurement :
ALTER TABLE nomTable MOVE TABLESPACE nomTablespace;
Exemple : ALTER TABLE Produit MOVE TABLESPACE TS1;
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
1. Tablespaces temporaires
2. Tablespaces d'annulation
IV. Grer des tablespaces l'aide d'OMF
V. Information sur les tablespaces et les chiers
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
1. Prsentation d'Oracle Managed File
2. Gestion des tablespaces avec OMF
V. Information sur les tablespaces et les chiers
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 int [k|M|G|T]];
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
69 / 228 Khaled Jouini
c (IsitCom) Administration des bases de donnes 2012-2013 69 / 228
-
Gestion des tablespaces et des chiers de donnes V. Information 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. Information 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. Information 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. Structure de la base
2. Fichiers de donnes
3. Fichiers de journalisation
4. Fichier de contrle
II. Instance
III. Traitement d'un ordre SQL
IV. Dictionnaire de donnes
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 dudictionnaire 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 perduLa 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)
Ajout d'un nouveau groupe
ALTER DATABASE ADD LOGFILE [GROUP numGroup] ('nomFichier1.LOG',
['nomFichier2.LOG',...] SIZE [K|M]
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. Vue d'ensemble
2. La SGA
3. La PGA
4. Processus Serveur
5. Processus d'arrire plan
III. Traitement d'un ordre SQL
IV. Dictionnaire de donnes
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 System Global Area (SGA)
2 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
Compos de deux tampons : le Library Buer et le Dictionary Buer
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 pourminimiser 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 (DataBase Buer)
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 =
N.B. si un tablespace tbs utilise une taille de bloc 6= DB_BLOCK_SIZENcessit 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 (Redo
Log Buer)
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 : inclut les informations sur l'tat de la base, l'instance, les
verrous, etc.
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
-
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 : un processus serveur pour chaque processus utilisateur
Partag : 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 - a. Rle et prsentation
Rle :
1 Grer la SGA et criture partir de la SGA vers les chiers de la BD
2 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);
3 Quand
1
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 - d. Processus CKPT (ChecKPoinT)
Rle
1 Forcer l'criture de tous les blocs modis "Dirty" (et donc du contenu du
tampon Redo log) sur disque Cration d'un point de reprise (CheckPoint)2 Consigner l'estampille temporelle (System Change Number ou SCN) de
l'criture :
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 restauration
Intrt :
Restauration 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 - e. Le processus SMON (System
MONitor)
Dclenchement : l'ouverture de la BD
Rle : rcupration de la BD suite un arrt brutal
Dtection de l'arrt brutal de la BD :
1 Comparaison des SCN des en-ttes des chiers de donnes et de journalisation
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 - e. Le processus SMON (System
MONitor)
Figure: Roll Forward (Redo) suivi d'un Roll Back (Undo)[Oracle
c Database Concepts 11gRelease 2 (11.2)E10713-05,2010]
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 - f. Le processus PMON (Process
MONitor)
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 n
eme
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
1. Traitement d'un SELECT
2. Traitement d'un ordre DML (UPDATE/INSERT/DELETE)
IV. Dictionnaire de donnes
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 Library
Buer), le PS l'analyse
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)
2 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
transaction non encore valide
2 du tablespace d'annulation (undo), sinon
3 Extraction : le PS renvoie au PU le rsultat de la requte
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
2. Traitement d'un ordre DML
(UPDATE/INSERT/DELETE)
1 Analyse (Parse)
Idem. que pour une slection
2 Excution
1 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.
2 Le PS place des verrous sur les tuples modier
3 Le PS place l'image avant des donnes dans le bloc d'annulation.
4 Les modications sont enregistres dans les blocs de donnes qui sont alors
marqus comme "Dirty"
5 Les informations sur la modication sont consignes dans le tampon de
journalisation
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
2 Cr et mis jour par le systme lorsque des ordres DDL sont excutes
(CREATE/ALTER/DROP)
3 Proprit de l'utilisateur SYS stock dans le tablespace SYSTEM.4 Les donnes des tables sont codes et modiables uniquement par le systme.
Accessibles uniquement via des vues
5 Deux types de vues :
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 en cours de la BD et de l'instance
Prxes par V$
V$FIXED_TABLE : contient la liste des vues dynamiques. Quelques vues
dynamiques :
Nom Description
V$DATABASE Informations sur la BD
V$INSTANCE Informations sur l'instance
V$SGA Informations rsumes sur la SGA
V$PARAMETER Informations sur les paramtres d'initialisation
V$SQL Informations 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
Consult par l'instance son dmarrage et avant l'ouverture de la BD. Ne
fait pas partie de la BD
Contient l'ensemble des 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
Il existe deux types de chiers de paramtres : le PFILE (historique) et le
SPFILE (depuis la version 9i)
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
`
PFILE (Parameter File) SPFILE (Server Parameter File)
Fichier texte Fichier binaire
Modiable via un diteur texte Modiable uniquement via SQL
Prsent sur chaque machine pouvant d-
marrer l'instance (problme de synchroni-
sation)
Centralis : un seul chier sur la machine
hte de la BD
Nomm initSID.ora Nomm spleSID.ora
Modication froid Modiable chaud (pour les paramtres
dynamiques)
Possibilit de crer un PFILE partir d'un SPFILE et inversement :
CREATE PFILE/SPFILE [nomFichier1] FROM SPFILE/PFILE [nomFichier2]
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 nomParametre
1 A partir de SQL*PLUS: "SQL>show parameter 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
1. Dmarrage
2. Arrt
III. Diagnostic et surveillance d'un serveur de BD Oracle
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 [Oracle
c Database Concepts 11g Release 2 (11.2)E10713-05,2010]
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 - 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
2 La SGA est alloue selon les paramtres d'initialisation
3 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.) sontinterrogeables, mais pas celles relatives la BD (V$DATABASE)
Pour monter (resp. ouvrir) la BD ultrieurement :
ALTER DATABASE MOUNT (resp. ALTER DATABASE OPEN)
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 Si le chier de contrle est multiplex et que les copies ne sont pas
identiques, l'instance reste l'tat NOMOUNT
3 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 :
ALTER DATABASE OPEN
114 / 228 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 Ouverture des chiers de journalisation et de donnes
2 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 [Oracle
c Database Concepts 11g Release 2 (11.2)E10713-05,2010]
117 / 228 Khaled Jouini
c (IsitCom) 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. Vue d'ensemble
2. Le chier d'alertes alertSID.log
3. Les chiers trace des processus d'arrire plan
4. Les chiers trace des processus utilisateur
5. 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 alertSID.log : informations sur le fonctionnement au quotidien de la
BD
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.
Cont