Академический Документы
Профессиональный Документы
Культура Документы
2012-2013
1 / 228
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
2 / 228
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
3 / 228
2012-2013
3 / 228
Introduction gnrale
Prsentation d'Oracle
4 / 228
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
2012-2013
4 / 228
Introduction gnrale
Serveur de BD Oracle
5 / 228
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
5 / 228
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
2012-2013
6 / 228
Introduction gnrale
Serveur de BD Oracle
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
2012-2013
7 / 228
Introduction gnrale
Serveur de BD Oracle
8 / 228
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
Systme d'aide la dcision Mises--jour oine par lot, priodique Forte activit d'interrogation (select)
9 / 228
2012-2013
9 / 228
Introduction gnrale
Rles du DBA
10 / 228
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
2012-2013
10 / 228
Introduction gnrale
11 / 228
2012-2013
11 / 228
Introduction gnrale
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
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
2012-2013
11 / 228
Introduction gnrale
Plan du cours
12 / 228
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
2012-2013
12 / 228
Introduction
13 / 228
2012-2013
13 / 228
Introduction
Introduction
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
2012-2013
14 / 228
Introduction
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...
15 / 228
2012-2013
15 / 228
16 / 228
2012-2013
16 / 228
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
2012-2013
16 / 228
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
2012-2013
17 / 228
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
18 / 228
2012-2013
18 / 228
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
Proximit et regroupement
19 / 228
2012-2013
19 / 228
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
2012-2013
20 / 228
21 / 228
2012-2013
21 / 228
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
2012-2013
22 / 228
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
23 / 228
2012-2013
23 / 228
24 / 228
2012-2013
24 / 228
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
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
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
25 / 228
2012-2013
25 / 228
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
26 / 228
2012-2013
26 / 228
2. Niveaux - b. RAID 1
RAID 1 : Disques en miroir (Mirroring)
27 / 228
2012-2013
27 / 228
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
2. Niveaux - c. RAID 4
RAID 4 : Rpartition et parit
29 / 228
2012-2013
29 / 228
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
2012-2013
30 / 228
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
2012-2013
31 / 228
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
2012-2013
32 / 228
33 / 228
2012-2013
33 / 228
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
2012-2013
33 / 228
34 / 228
2012-2013
34 / 228
Problme :
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
2012-2013
35 / 228
PCTFREE=
Taille moyenne d un tuple Taille initiale d un tuple 100 Taille moyenne d un tuple
36 / 228
2012-2013
36 / 228
37 / 228
2012-2013
37 / 228
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 ;
38 / 228
2012-2013
38 / 228
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
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
2012-2013
39 / 228
PCTFREE
int ;
ALTER TABLE
table _name
PCTUSED
int ;
40 / 228
2012-2013
40 / 228
2. Extension
Extension (Extent)
Ensemble de blocs Oracle
Objectif : amliorer le regroupement et donc rduire le temps de ncessaire pour lire des donnes d'un mme type
41 / 228
2012-2013
41 / 228
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
tablespaces
42 / 228
2012-2013
42 / 228
(RollBack
Problme :
autre
Ncessit d'annuler des actions sur les donnes, suite une panne ou
Exemple :
2 actions : dbiter A de 100 et crditer B de 100 A est dbit, mais une panne empche B d'tre crdit
il est ncessaire de savoir avec quelles autres actions la mise--jour de A forme une squence d'oprations indivisible (=transaction)
43 / 228
2012-2013
43 / 228
(RollBack
44 / 228
2012-2013
44 / 228
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
2012-2013
45 / 228
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
2012-2013
46 / 228
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
Concepts.
Fv. 2010]
47 / 228
2012-2013
47 / 228
48 / 228
2012-2013
48 / 228
48 / 228
2012-2013
48 / 228
maintenance
49 / 228
2012-2013
49 / 228
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
2012-2013
50 / 228
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
2012-2013
51 / 228
a. Prsentation
Deux modes de gestion de l'allocation/libration des extensions d'un tablespace : localement et par le dictionnaire
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
2012-2013
52 / 228
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]
53 / 228
2012-2013
53 / 228
2. Cration
> Spcication du type du (des) chier(s) stockant le tablespace CREATE [SMALLFILE|BIGFILE] TABLESPACE nom_tablespace
54 / 228
2012-2013
54 / 228
2. Cration
- c. chiers de donnes
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
2012-2013
55 / 228
2. Cration
- c. Fichiers de donnes
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
2012-2013
56 / 228
2. Cration
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
2012-2013
57 / 228
2. Cration
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
2012-2013
58 / 228
3. Modication
- a. Redimensionner un tablespace
se fait par
Redimensionner un tablespace :
1
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
2012-2013
59 / 228
3. Modication
- a. Redimensionner un tablespace
60 / 228
2012-2013
60 / 228
3. Modication
61 / 228
2012-2013
61 / 228
3. Modication
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
3. Modication
- e. Autres oprations
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 :
ALTER TABLE nomTable MOVE TABLESPACE nomTablespace ; Exemple : ALTER TABLE Produit MOVE TABLESPACE TS 1;
63 / 228
2012-2013
63 / 228
64 / 228
2012-2013
64 / 228
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
2012-2013
64 / 228
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
2012-2013
65 / 228
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
2012-2013
66 / 228
67 / 228
2012-2013
67 / 228
68 / 228
2012-2013
68 / 228
68 / 228
2012-2013
68 / 228
[k|M|G|T]];
69 / 228
2012-2013
69 / 228
70 / 228
2012-2013
70 / 228
Tablespaces
DBA_TABLESPACES V$TABLESPACE
Fichiers de donnes
DBA_DATA_FILES V$DATAFILE
Fichiers temporaires
DBA_TEMP_FILES V$TEMPFILE
70 / 228
2012-2013
70 / 228
Introduction
71 / 228
2012-2013
71 / 228
Introduction
71 / 228
2012-2013
71 / 228
Introduction
Plan
Ce chapitre... I. Base de donnes II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes
72 / 228
2012-2013
72 / 228
I. La base de donnes
II. Instance III. Traitement d'un ordre SQL IV. Dictionnaire de donnes
73 / 228
2012-2013
73 / 228
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
2012-2013
73 / 228
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
2012-2013
74 / 228
I. La base de donnes
75 / 228
2012-2013
75 / 228
I. La base de donnes
76 / 228
2012-2013
76 / 228
I. La base de donnes
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
2012-2013
77 / 228
I. La base de donnes
ALTER DATABASE ADD LOGFILE [GROUP numGroup ] ('nomFichier 1.LOG ', ['nomFichier 2.LOG ',...] SIZE [K|M]
numGroupe
I. La base de donnes
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
2012-2013
79 / 228
I. La base de donnes
80 / 228
2012-2013
80 / 228
II. Instance
81 / 228
2012-2013
81 / 228
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
81 / 228
2012-2013
81 / 228
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
2012-2013
82 / 228
II. Instance
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
83 / 228
2012-2013
83 / 228
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
2012-2013
84 / 228
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)
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}
85 / 228
2012-2013
85 / 228
II. Instance
(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
2012-2013
86 / 228
II. Instance
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
2012-2013
87 / 228
II. Instance
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
2012-2013
88 / 228
II. Instance
2. La SGA - En rsum...
89 / 228
2012-2013
89 / 228
II. Instance
90 / 228
2012-2013
90 / 228
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
: un processus serveur pour chaque processus utilisateur : un processus serveur pour plusieurs processus utilisateur
91 / 228
2012-2013
91 / 228
II. Instance
- 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
2012-2013
92 / 228
II. Instance
- 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
2012-2013
93 / 228
II. Instance
- 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
94 / 228
2012-2013
94 / 228
II. Instance
- 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 :
dans le chier de contrle, dans les en-ttes des chiers de donnes et de journalisation
Intrt :
Restauration plus rapide en cas de crash systme
Les entres Redo log datant d'avant le SCN ne sont pas rejoues
95 / 228
2012-2013
95 / 228
II. Instance
- 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
2012-2013
96 / 228
II. Instance
- e. Le processus SMON
(System
Dclenchement : Rle :
l'ouverture de la BD
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
2012-2013
97 / 228
II. Instance
- e. Le processus SMON
(System
[Oracle c
98 / 228
2012-2013
98 / 228
II. Instance
- 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)!!
99 / 228
2012-2013
99 / 228
II. Instance
- 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
2012-2013
100 / 228
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
102 / 228
2012-2013
102 / 228
Analyse (Parse)
Buer), le PS l'analyse
Library
l'utilisateur a le droit de les consulter. Si ces informations ne sont pas prsentes dans le Dictionary Buer, le PS les charge
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
Extraction :
102 / 228
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
103 / 228
2012-2013
103 / 228
104 / 228
2012-2013
104 / 228
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
2012-2013
104 / 228
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
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
2012-2013
105 / 228
3. Vues dynamiques
Contiennent l'information sur l'activit Prxes par V$
en cours de la BD et de l'instance
106 / 228
2012-2013
106 / 228
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
107 / 228
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'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
2012-2013
107 / 228
Gestion de l'instance
I. Fichier de paramtres
1. Prsentation
Exemple d'un chier de paramtres PFILE
108 / 228
2012-2013
108 / 228
Gestion de l'instance
I. Fichier de paramtres
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)
109 / 228
2012-2013
109 / 228
Gestion de l'instance
I. Fichier de paramtres
110 / 228
2012-2013
110 / 228
Gestion de l'instance
I. Fichier de paramtres
nomParametre
nomParametre "
nomParametre "
SQL : "SELECT name, value FROM V$SPPARAMETER WHERE name = nomParametre "
111 / 228
2012-2013
111 / 228
Gestion de l'instance
112 / 228
2012-2013
112 / 228
Gestion de l'instance
1. Dmarrage - a. Syntaxe
Dmarrage - Syntaxe (non exhaustive)
STARTUP [FORCE][RESTRICT][PFILE=nomPFILE] [OPEN | MOUNT | NOMOUNT]
[Oracle c
2012-2013
112 / 228
Gestion de l'instance
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
2012-2013
113 / 228
Gestion de l'instance
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
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
2012-2013
114 / 228
Gestion de l'instance
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
2012-2013
115 / 228
Gestion de l'instance
116 / 228
2012-2013
116 / 228
Gestion de l'instance
2. Arrt - a. Syntaxe
Syntaxe (non exhaustive)
SHUTDOWN [NORMAL | TRANSACTIONAL | IMMIDIATE | ABORT]
[Oracle c
2012-2013
117 / 228
Gestion de l'instance
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
2012-2013
118 / 228
Gestion de l'instance
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
2012-2013
119 / 228
Gestion de l'instance
[Oracle c
120 / 228
2012-2013
120 / 228
Gestion de l'instance
121 / 228
2012-2013
121 / 228
Gestion de l'instance
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 :
Fichiers trace de processus d'arrire-plan : informations sur les erreurs dtectes par les processus d'arrire plan Fichiers
trace utilisateur :
121 / 228
2012-2013
121 / 228
Gestion de l'instance
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
2012-2013
122 / 228
Gestion de l'instance
123 / 228
2012-2013
123 / 228
Gestion de l'instance
124 / 228
2012-2013
124 / 228
Gestion de l'instance
5. Outils de diagnostic
Repository)
La vue v$diag_info renseigne sur les emplacements des chiers d'alerte et de trace
125 / 228
2012-2013
125 / 228
Gestion de l'instance
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
2012-2013
126 / 228
Introduction
127 / 228
2012-2013
127 / 228
Introduction
Introduction
Rle de l'administrateur de scurit et des ressources
1 2 3 4 5
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
II. Gestion des privilges III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs
128 / 228
2012-2013
128 / 228
128 / 228
2012-2013
128 / 228
- 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
2012-2013
129 / 228
- 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
- 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
2012-2013
131 / 228
SE
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
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
2012-2013
133 / 228
III. Gestion des rles IV. Gestion des prols V. Audit de l'activit des utilisateurs
134 / 228
2012-2013
134 / 228
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.
134 / 228
2012-2013
134 / 228
Mot rserv ANY : droit d'excuter un ordre dans n'importe quel schma
135 / 228
2012-2013
135 / 228
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
136 / 228
2012-2013
136 / 228
Syntaxe :
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
2012-2013
137 / 228
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
2012-2013
138 / 228
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
140 / 228
2012-2013
140 / 228
TABLE[.nomCol ]
VIEW[.nomCol ]
SEQUENCE
PROCEDURE
141 / 228
2012-2013
141 / 228
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
2012-2013
142 / 228
Exemple :
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
Exemple
143 / 228
2012-2013
143 / 228
144 / 228
2012-2013
144 / 228
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
2012-2013
144 / 228
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...
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
146 / 228
2012-2013
146 / 228
147 / 228
2012-2013
147 / 228
148 / 228
2012-2013
148 / 228
1. Vue d'ensemble
Prol (prole) :
Ensemble nomm de
limitations :
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.
Intrt : contrle de l'utilisation des ressources et renforcement de la scurit Activation du contrle des limitations :
ALTER SYSTEM SET resource_limit = true
148 / 228
2012-2013
148 / 228
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
2012-2013
149 / 228
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
2012-2013
150 / 228
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]
151 / 228
2012-2013
151 / 228
ALTER DEFAULT LIMIT sessions_per_user 5 ALTER pAgent LIMIT failed_login_attempts UNLIMITED DROP PROFILE pAgent [CASCADE]
152 / 228
2012-2013
152 / 228
CREATE PROFILE pAgent LIMIT PASSWORD_VERIFY_FUNCTION nomFonction ALTER PROFILE pAgent LIMIT PASSWORD_VERIFY_FUNCTION DEFAULT
153 / 228
2012-2013
153 / 228
154 / 228
2012-2013
154 / 228
Ex.
154 / 228
2012-2013
154 / 228
Emp )
155 / 228
2012-2013
155 / 228
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
2012-2013
156 / 228
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
157 / 228
2012-2013
157 / 228
Audit par dfaut Audit des ordres SQL Audit des privilges Audit des objets
158 / 228
2012-2013
158 / 228
159 / 228
2012-2013
159 / 228
etc.
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 ]
160 / 228
2012-2013
160 / 228
Dsactivation :
NOAUDIT privilege [BY nomUser ]
161 / 228
2012-2013
161 / 228
Syntaxe :
AUDIT action ON objet [BY nomUser ] [WHENEVER [NOT] SUCCESSFUL] [BY ACCESS|SESSION]
action objet
scolarite
Dsactivation :
NOAUDIT action ON objet [BY nomUser ]
162 / 228
2012-2013
162 / 228
163 / 228
2012-2013
163 / 228
Introduction
164 / 228
2012-2013
164 / 228
Introduction
Introduction
Mise en place d'un BD Oracle
1 2 3
Ce chapitre...
1 2
164 / 228
2012-2013
164 / 228
165 / 228
2012-2013
165 / 228
Oracle_Base et Oracle_Home
165 / 228
2012-2013
165 / 228
166 / 228
2012-2013
166 / 228
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
2012-2013
167 / 228
168 / 228
2012-2013
168 / 228
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
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
2012-2013
169 / 228
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
1 N.B.
170 / 228
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
DATABASE
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
2012-2013
172 / 228
DATABASE
173 / 228
2012-2013
173 / 228
3. Cration l'aide du
174 / 228
2012-2013
174 / 228
3. Cration l'aide du
175 / 228
2012-2013
175 / 228
3. Cration l'aide du
176 / 228
2012-2013
176 / 228
3. Cration l'aide du
177 / 228
2012-2013
177 / 228
3. Cration l'aide du
178 / 228
2012-2013
178 / 228
3. Cration l'aide du
179 / 228
2012-2013
179 / 228
180 / 228
2012-2013
180 / 228
Figure:
180 / 228
[Oracle c
2012-2013
180 / 228
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
2012-2013
182 / 228
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
descripteur de connexion
183 / 228
2012-2013
183 / 228
db :
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
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
2012-2013
185 / 228
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
2012-2013
186 / 228
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
2012-2013
188 / 228
En rsum...
190 / 228
2012-2013
190 / 228
191 / 228
2012-2013
191 / 228
192 / 228
2012-2013
192 / 228
193 / 228
2012-2013
193 / 228
194 / 228
2012-2013
194 / 228
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
196 / 228
2012-2013
196 / 228
197 / 228
2012-2013
197 / 228
198 / 228
2012-2013
198 / 228
199 / 228
2012-2013
199 / 228
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
2012-2013
200 / 228
Sauvegarde et rcupration
Introduction
201 / 228
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
201 / 228
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
202 / 228
2012-2013
202 / 228
Sauvegarde et rcupration
I. Concepts de base
1. Principe de la sauvegarde/rcupration 2. Sauvegarde cohrente vs. sauvegarde incohrente 3. Quel mode de fonctionnement pour la BD?
203 / 228
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
sauvegarde base
204 / 228
2012-2013
204 / 228
Sauvegarde et rcupration
I. Concepts de base
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
205 / 228
2012-2013
205 / 228
Sauvegarde et rcupration
I. Concepts de base
206 / 228
2012-2013
206 / 228
Sauvegarde et rcupration
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
2012-2013
207 / 228
Sauvegarde et rcupration
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/i$itc0m (utilisation de la variable d'environnement ORACLE_SID) > rman target sys/i$itc0m@db
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
[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
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 blocks du chier dupliqu, mme ceux qui n'ont jamais t utiliss (blocs vides) Ne peut tre crite que dans un disque (pas directement sur la bande de sauvegarde)
209 / 228
2012-2013
209 / 228
Sauvegarde et rcupration
N'inclut pas les blocks 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
210 / 228
2012-2013
210 / 228
Sauvegarde et rcupration
Peut se faire
BD ferme (cold backup) : sauvegarde cohrente, si NOARCHIVELOG BD ouverte (hot backup) : sauvegarde incohrente, si ARCHIVELOG
211 / 228
2012-2013
211 / 228
Sauvegarde et rcupration
212 / 228
2012-2013
212 / 228
Sauvegarde et rcupration
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
N.B.
La sauvegarde du tablespace SYSTEM, entrane galement la sauvegarde du chier de contrle et de celui des paramtres
213 / 228
2012-2013
213 / 228
Sauvegarde et rcupration
Sauvegarde partielle BD ferme : possible, mais aucun intrt sauvegarde partielle exploitable uniquement si ARCHIVELOG, or si ARCHIVELOG autant la faire BD ouverte
214 / 228
2012-2013
214 / 228
Sauvegarde et rcupration
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
2012-2013
215 / 228
Sauvegarde et rcupration
[CUMULATIVE] DATABASE
4
LEVEL 1 : sauvegarde direntiel 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 direntiel (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
217 / 228
2012-2013
217 / 228
Sauvegarde et rcupration
En rsum...
Sauvegarde BD ouverte (hot
backup),
si ARCHIVELOG
Backup),
si NOARCHIVELOG, incrmentale si
218 / 228
2012-2013
218 / 228
Sauvegarde et rcupration
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
219 / 228
2012-2013
219 / 228
Sauvegarde et rcupration
: zone sur disque rserve au stockage de toutes donnes et les activits de sauvegardes (depuis la version 10g)
220 / 228
2012-2013
220 / 228
Sauvegarde et rcupration
int
[M|G] SCOPE=BOTH
Chemin
221 / 228
2012-2013
221 / 228
Sauvegarde et rcupration
222 / 228
2012-2013
222 / 228
Sauvegarde et rcupration
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.
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
2012-2013
222 / 228
Sauvegarde et rcupration
en ligne) 3 Redmarrer la BD
223 / 228
2012-2013
223 / 228
Sauvegarde et rcupration
Rcupration (RECOVER)
Possible uniquement si Sinon, les modications faites depuis la dernire sauvegarde sont dnitivement perdues
224 / 228
2012-2013
224 / 228
Sauvegarde et rcupration
3. Commandes de restauration/rcupration
Syntaxe (non exhaustive) : {RESTORE | RECOVER}
cible cible
[options ]
225 / 228
2012-2013
225 / 228
Sauvegarde et rcupration
Remarques
1 2
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
2012-2013
226 / 228
Sauvegarde et rcupration
227 / 228
2012-2013
227 / 228
Sauvegarde et rcupration
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
2012-2013
228 / 228