Вы находитесь на странице: 1из 72

ADMINISTRATION DES BASES DE DONNEES

Pr BOUZIDI

Anne universitaire 2007-2008

Objectifs
Comprendre le rle et l'importance de chacune des tches de l'administration des bases de donnes Matriser ladministration de la base de donnes Oracle

D.BOUZIDI

Plan du cours
Introduction Architecture conceptuelle de la BD Oracle Installation et configuration du logiciel Oracle Database 10g Contrle la base de donnes Gestion du fichier de contrle Gestion des fichiers de journalisation Gestion des structures de stockages Administration des utilisateurs et des schmas Gestion des rles Sauvegarde / rcupration

Introduction

Rappel (1)
Base de donnes (BD) : ensemble de donnes organis en vue de son utilisation par des programmes correspondant des applications distinctes et de manire faciliter l'volution indpendante des donnes et des programmes. SGBD : ensemble de programmes qui permettent l'accs une BD Une table est llment de base dune BD
Constitue de lignes de donnes Chaque ligne comporte une ou plusieurs colonnes Une colonne unique d'une ligne unique est appele champ
Ligne

Colonne

Table
D.BOUZIDI

Champ 5

Rappel (2)
base de donnes relationnelle : Entit/Relation Contraintes d'intgrit : utilises pour garantir la validit des donnes stockes dans les tables Les types de contrainte suivants :
NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY

SQL : langage de programmation interactif standard permettant d'extraire et de mettre jour les infos d'une BD (interrogation, mj, contrle daccs, cohrence, intgrit, )
D.BOUZIDI 6

Tches d'un administrateur de BD (1)


Rle SI (Systme dInformation) : Administration et gestion efficace des donnes (lors de la mise en oeuvre de nouveaux systmes bass sur les Bases de Donnes)
viter la redondance des donnes viter un mauvais transfert d'un systme l'autre assurer la bonne comprhension des donnes
implmenter la conception de la BD

D.BOUZIDI

Tches d'un administrateur de BD (2)


Rle technologique (Niveau physique) : Administration et gestion efficiente des BD (lors de la mise en oeuvre de nouveaux serveurs de BD ou de nouvelles BD)
Evaluer le mat matriel pour le serveur de base de donn es donn Installer le logiciel Oracle Planifier la BD Cr Crer et ouvrir la BD Sauvegarder la BD Rcup cuprer la BD suite une panne Grer de la s scurit curit Surveiller les performances de la BD

D.BOUZIDI

Architecture conceptuelle de la BD Oracle

Objectifs
Ma triser les Ma Matriser les concepts concepts et et le le fonctionnement architecture oracle l fonctionnement de de l larchitecture oracle : :
Instance Instance Fichiers es, donn Fichiers de de donn donnes, Fichiers trage param Fichiers de de param paramtrage

D.BOUZIDI

10

Prsentation
Processus utilisateur Processus serveur PGA

Instance
Mmoire SGA Zone de mmoire partage

D.BOUZIDI

L'instance L'instance indispensable indispensable au au bon bon fonctionnement fonctionnement d'une d'une base base de de donnes donnes Oracle Oracle Les Les fichiers fichiers de de donnes donnes Les Les fichiers fichiers de de donnes donnes facultatifs facultatifs (fichier (fichier d'initialisation, fichier de mots de passe, d'initialisation, fichier de mots de passe, etc...) etc...)

D.BOUZIDI

Fichier ALERT Paramtres Fichier

Fichier Trace

Fichiers de donnes

Fichiers de contrle

Fichiers de journalisation

Fichier PWD

Base de donnes

11

Prsentation

12

Linstance
Instance
Mmoire SGA Cache des tampons des DATA
SMON PMON

Zone de mmoire partage Cache library Cache dictio D


LGWR ARCH CKPT

tampons Journalis ation


DBW

L'instance L'instance est est la la composition composition de de 2 2 sous sous ensembles ensembles : : SGA ) Une Une zone zone mmoire mmoire ( ( SGA ) pour pour stocker stocker les les donnes donnes issues issues des des fichiers fichiers de de donnes donnes sur sur le le disque disque dur. dur. Afin Afin de de pouvoir pouvoir les les partager partager entre entre les les diffrents diffrents processus. processus. Des Des processus processus d'arrire d'arrire plan plan :servent :servent grer grer les les transferts transferts de donnes entre la mmoire et le disque dur, plus de donnes entre la mmoire et le disque dur, plus d'autres d'autres actions actions ncessaires ncessaires au au bon bon fonctionnement fonctionnement de de la la base base de de donnes. donnes.
D.BOUZIDI 13

System global Area


Instance
Mmoire SGA Cache des tampons des DATA
SMON PMON

Zone de mmoire partage Cache library Cache dictio D


LGWR ARCH CKPT

tampons Journalis ation


DBW

La La SGA SGA ou ou System System global global Area Area 1. 1. Shared Shared Pool Pool :: zone zone de de mmoire mmoire partage partage 2. 2. Database Database Buffer Buffer Cache Cache :: cache cache de de tampons tampons de de donnes donnes 3. 3. Redo Redo Log Log Buffer Buffer :: tampon tampon de de journalisation journalisation
La Lataille tailletotale totalede dela lammoire mmoireSGA SGAest estdfinie dfiniepar parle leparamtre paramtreSGA_MAX_SIZE SGA_MAX_SIZE Variable_size : sont deux variables exprime la taille de lespace rserv Variable_size : sont deux variables exprime la taille de lespace rservla laSGA SGA fixedSize fixedSize D.BOUZIDI 14

System global Area


La SGA ou System global Area Shared Pool : utilis utilise pour partager les informations sur les objets de la base de donn donnes ainsi que sur les droits et privil privilges accord accords aux utilisateurs. se d dcoupe en 2 blocs : La Library Cache : stocke les informations sur les ordres SQL excuts rcemment dans une zone SQL Cache qui contiendra le texte de l'ordre SQL, la version compile de l'ordre SQL et son plan d'excution. Le Dictionnary Cache : contenant les dfinitions des objets de la base de donnes qui ont t utilis rcemment. Permettra au serveur Oracle de ne pas avoir aller chercher ces informations sur le disque chaque excution d'une requte SQL .

D.BOUZIDI

15

System global Area


La La SGA SGA ou ou System System global global Area Area Database Database Buffer Buffer Cache Cache :: Sert Sert stocker stocker les les blocs blocs de de donnes donnes utiliss utiliss rcemment rcemment Fonctionne Fonctionne selon selon le le principe principe dit dit du du bloc bloc ancien. ancien. Sa Sa taille taille est est dfinie dfinie par par deux deux paramtres paramtres
DB_BLOCK_SIZE DB_BLOCK_SIZE :: dfini dfini lors lors de de la la cration cration de de la la base basede de donnes, donnes,reprsente reprsente la la taille taille d'un d'un bloc bloc de dedonnes donnes Oracle. Oracle. Celui-ci Celui-ci est est dfini dfini de de manire manire dfinitive dfinitive et et ne ne pourra pourra plus plus tre tre modifi. modifi. DB_BLOCK_BUFFERS DB_BLOCK_BUFFERS :: dfini dfini le le nombre nombrede de blocs blocs Oracle Oracle qui qui pourront pourront tre tre contenus contenus dans dans le le Database Database Buffer Buffer Cache. Cache. Ce Ce paramtre paramtre est est devenu devenu obsolte obsolte partir partir de de la la version version 9i 9i et et a t remplac par DB_CACHE-Size. Exprim en octets ce a t remplac par DB_CACHE-Size. Exprim en octets ce paramtre paramtre modifiable modifiable dynamiquement dynamiquement alter alter system system set set db_cache_size=100M; db_cache_size=100M;
D.BOUZIDI 16

System global Area


La La SGA SGA ou ou System System global global Area Area Redo Redo Log Log Buffer Buffer :: sert sert exclusivement exclusivement enregistrer enregistrer toutes toutes les modifications apportes sur les donnes les modifications apportes sur les donnes de de la la base. base. Mmoire Mmoire de de type type circulaire, circulaire, et et dont dont on on pourra pourra changer changer la la taille taille avec avec le le paramtre paramtre LOG_BUFFER LOG_BUFFER Oracle Oracle ne ne pourra pourra craser craser les les donnes donnes contenues contenues dans dans ce ce buffer que si elles ont t crites dans les fichiers buffer que si elles ont t crites dans les fichiers REDOLOG REDOLOG FILE FILE Le Le paramtre paramtre dfinissant dfinissant la la taille taille de de Redo Redo log log buffer buffer est est log_buffer log_buffer

D.BOUZIDI

17

Program global Area


Processus utilisateur Processus serveur PGA

Instance
Mmoire SGA Zone de mmoire partage

Mmoire Mmoire non non partage. partage. seulement seulement utilise utilise par par des des processus processus serveur serveur ou ou d'arrire d'arrire plan plan alloue alloue lors lors du du dmarrage dmarrage du du processus processus et et dsalloue dsalloue lors lors de de l'arrt du processus. l'arrt du processus. Elle Elle contient contient :: La La zone zone de de tri tri :: Appele Appele SORT SORT AREA. AREA. Les informations de sessions, les Les informations de sessions, les privilges privilges de de l'utilisateur l'utilisateur Le Le Stack Stack Space Space :: Cette Cette zone zone contiendra contiendra toutes toutes les les autres autres variables d'environnement et de session de l'utilisateur variables d'environnement et de session de l'utilisateur
D.BOUZIDI 18

Les processus d'arrire plan


Instance
Mmoire SGA Cache des tampons des DATA
SMON PMON

tampons Journalis ation


DBW

Zone de mmoire partage Cache library Cache dictio D


LGWR ARCH CKPT

Le Le processus processus SMON SMON (System (System Monitor) Monitor) sert sert :: Corriger les plantages de l'instance Corriger les plantages de l'instance Vrifier Vrifier la la synchronisation synchronisation des des donnes donnes .. Si l'instance plante : Si l'instance plante : Rejouer Rejouer des des transactions transactions de de REDO REDO LOG LOG FILE FILE valides valides mais non non enregistres sur le disque dur mais non non enregistres sur le disque dur Ouvrir Ouvrir la la BD BD pour pour les les utilisateurs utilisateurs les les informations informations non non valides ne sont pas accessibles valides ne sont pas accessibles Annuler Annuler ttes ttes les les transactions transactions non non valids valids SMON sert nettoyer les segments SMON sert nettoyer les segments TMP TMP et et dfragmente dfragmente les les fichiers de donnes fichiers de donnes
D.BOUZIDI

19

Les processus d'arrire plan


Le Le processus processus PMON PMON (Process (Process Monitor) Monitor) ddi ddi aux aux utilisateurs, il sert : utilisateurs, il sert : annuler annuler les les transactions transactions d'une d'une session session (lors (lors d'un d'un plantage plantage de la session par exemple) de la session par exemple) relcher relcher tous tous les les verrous verrous poss poss par par la la session, session, relcher toutes les ressources dtenues relcher toutes les ressources dtenues par par la la session. session. Le Le processus processus DBWR DBWR (DataBaseWriter) (DataBaseWriter) ddi ddi :: l'criture du Database Buffer Cache dans les fichiers l'criture du Database Buffer Cache dans les fichiers de de donnes donnes vrifier vrifier en en permanence permanence le le nombre nombre de de blocs blocs libres libres dans dans le le Database Buffer Cache afin de laisser assez de place Database Buffer Cache afin de laisser assez de place de de disponible disponible pour pour l'criture l'criture des des donnes donnes dans dans le le buffer buffer Le processus DBWR se dclanche : Le processus DBWR se dclanche : Lorsque Lorsque le le nombre nombre de de bloc bloc dirty dirty atteint atteint une une certaine certaine limite limite Lorsqu'un Lorsqu'un processus processus recherchant recherchant de de blocs blocs libres libres dans dans le le Database Database Buffer Buffer Cache, Cache, et et qu'il qu'il n n a a trouv. trouv. Lors Lors de de timeout timeout (3 (3 secondes secondes par par dfaut) dfaut) Lors d'un checkpoint Lors d'un checkpoint
D.BOUZIDI

20

Les processus d'arrire plan


Le Le processus processus LGWR LGWR :: va va crire crire les les informations informations contenues contenues dans dans le le REDO REDO LOG LOG Buffer Buffer dans dans les les fichiers fichiers REDOLOG REDOLOG FILE. FILE. Il Il se se dclanche dclanche :: Qd Qd une une transaction transaction est est termine termine avec avec un un COMMIT COMMIT Qd Qd le le REDO REDO LOG LOG Buffer Buffer est est au au 1/3 1/3 plein plein (paramtrable) (paramtrable) Qd il y a plus de 1Mo d'infos de log contenues Qd il y a plus de 1Mo d'infos de log contenues dans dans le le buffer buffer Le Le processus processus CKPT CKPT :: sert sert mettre mettre jour jour les les en-ttes en-ttes des des fichiers de donnes, et les fichiers de contrle fichiers de donnes, et les fichiers de contrle CONTROL CONTROL FILE FILE afin afin de de spcifier spcifier que que l'action l'action de de CHECKPOINT CHECKPOINT s'est s'est bien bien droule droule Le Le processus processus ARCH ARCH :: copie copie un un fichier fichier REDO REDO LOG LOG FILE FILE un un autre autre emplacement. emplacement. La La copie copie se se dclenche dclenche automatiquement automatiquement en en mode mode ARCHIVELOG lors du changement de groupe ARCHIVELOG lors du changement de groupe de de REDO REDO LOG LOG FILE (en mode NOARCHIVELOG le processus n'existe FILE (en mode NOARCHIVELOG le processus n'existe pas). pas).
D.BOUZIDI 21

Excution des requtes


Une Une requte requte SELECT SELECT :: Le Le client client se se connecte connecte au au serveur, serveur, ce ce qui qui gnre la cration d'un processus serveur. gnre la cration d'un processus serveur. Lexcution Lexcution dune dune requte requte SELECT SELECT seffectue seffectue en en trois trois phases phases :: Le parsage : Le parsage : Vrifier Vrifier lexistence lexistence dune dune requte requte identique identique (Algorithme (Algorithme de de Hachage) dans la LIBRARY CACHE Hachage) dans la LIBRARY CACHE Vrifier Vrifier la la syntaxe syntaxe de de la la requte, requte, les les noms noms des des objets objets et et les les privilges privilges de de lutilisateur lutilisateur (DICTIONNARY (DICTIONNARY CACHE) CACHE) Verrouiller Verrouiller les les objets objets en en question question durant durant la la phase phase de de parsage afin d'viter toutes modifications de parsage afin d'viter toutes modifications de structure. structure. Gnrer Gnrer le le meilleur meilleur plan plan d'excution d'excution de de la la requte requte qui qui sera sera enregistr dans LIBRARY CACHE afin d'optimiser les enregistr dans LIBRARY CACHE afin d'optimiser les prochaines prochaines excutions excutions de de la la requte. requte. L'excution cute cup re es L'excution :: Le Le serveur serveur ex ex cute la la requte requte et et rr cup re les les donn donn es Le Le fetch fetch Rcupration Rcupration des des lignes lignes et et renvoie renvoie au au processus processus utilisateur utilisateur sous leur forme brute. (le formatage se sous leur forme brute. (le formatage se fait fait au au niveau niveau du du client client selon selon les les paramtres paramtres dfinis dfinis par par lutilisateur lutilisateur
D.BOUZIDI 22

Excution des requtes


Une Une requte requte DML DML :: Le Le parsage parsage :: Le Le mme mme scnario scnario que que pour pour une une requte requte SELECT. SELECT. L'excution : L'excution : Pour Pour assurer assurer une une bonne bonne cohrence cohrence des des donnes, donnes, cration par le serveur cration par le serveur Une Une image image avant avant :: utile utile pour pour les les autres autres utilisateurs utilisateurs ou ou en en cas cas dannulation, dannulation, enregiste enregiste dans dans le le segment segment ROLLBack ROLLBack Une Une image image aprs aprs :: utile utile pour pour la la transaction transaction en en cours). cours).

D.BOUZIDI

23

Installation et configuration du logiciel Oracle Database 10g

Objectifs
Connatre la configuration requise pour le systme Utiliser l'architecture Optimal Flexible Architecture (OFA) Installer et configurer le logiciel avec Oracle Universal Installer

D.BOUZIDI

25

Configuration systme requise


512 Mo de mmoire physique (RAM) 1 Go d'espace de swap 400 Mo d'espace disque utilis comme espace temporaire (/tmp ou \Temp) 1,5 Go d'espace disque pour le logiciel Oracle 1,5 Go d'espace disque pour la base de donnes prconfigure

D.BOUZIDI

26

Architecture OFA (Optimal Flexible Architecture)


Lobjectif de l'architecture OFA est de :
dfinir une organisation des rpertoires (application, base de donnes, ) recommender une convention de nomage des fichiers

OFA permet de faciliter les tches d'administration rptitives :


basculement entre plusieurs bases de donnes Oracle gestion et administration adquate de la croissance de la base de donnes Contribution limination de la fragmentation de l'espace libre

D.BOUZIDI

27

Architecture OFA (Optimal Flexible Architecture)


Dfinir les points de montage dansl e cas de system UNIX:
/u01 /disk01

Nommer les rpertoires :


/u01/app/oracle /u01/app/applmgr

Nommer les fichiers :


Fichiers de contrle : controln.ctl Fichiers de journalisation : redon.log Fichiers de donnes : tn.dbf

D.BOUZIDI

28

Les variables d'environnement


ORACLE_SID : nom de l'instance (par dfaut ORCL) ORACLE_HOME : rpertoire de base contenant le logiciel Oracle ORACLE_BASE : base de la structure de rpertoires Oracle pour l'architecture OFA NLS_LANG : paramtres de langue, de territoire et de jeu de caractres client

D.BOUZIDI

29

Dmarrage de Oracle Universal Installer

D.BOUZIDI

30

Emplacement et type dinstallation

D.BOUZIDI

31

Liste des produits de linstallation

D.BOUZIDI

32

Lancement de linstallation

Deux Messages Box affichant des erreurs A 43% de linstallation, cliquer sur OK Un autre 63%, cliquer sur ressayer
D.BOUZIDI 33

Assistant de Configuration des service NET, iSQL et BD

D.BOUZIDI

34

Configuration de la Base de donnes

D.BOUZIDI

35

Fin de linstallation

D.BOUZIDI

36

Contrle la base de donnes Database 10g

Objectifs
dmarrer et arrter des outils : iSQL*Plus et Enterprise Manager Database Control dmarrer et arrter le processus d'coute Oracle dmarrer et arrter Oracle Database 10g

D.BOUZIDI

38

Dmarrer et arrter iSQL*Plus


$ isqlplusctl start iSQL*Plus 10.1.0.2.0 Copyright (c) 2004 Oracle. Starting iSQL*Plus ... iSQL*Plus started.

All rights reserved.

$ isqlplusctl stop iSQL*Plus 10.1.0.2.0 Copyright (c) 2004 Oracle. Stopping iSQL*Plus ... iSQL*Plus stopped.

All rights reserved.

D.BOUZIDI

39

Structure de gestion
Les trois composants de la structure de gestion d'Oracle Database 10g sont les suivants :
Instance de base de donnes Processus d'coute Interface de gestion (Database Control)

Database Control

Listener
40

D.BOUZIDI

Dmarrer et arrter Database Control


$ emctl start dbconsole TZ set to US/Pacific Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0 Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved. http://edrsr9p1.us.oracle.com:5500/em/console/aboutApplication Starting Oracle Enterprise Manager 10g Database Control ...................... started. -----------------------------------------------------------------Logs are generated in directory /u01/app/oracle/product/10.1.0/db_1/edrsr9p1.us.oracle.com_orcl/sy sman/log

$ emctl stop dbconsole TZ set to US/Pacific Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0 Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved. http://edrsr9p1.us.oracle.com:5500/em/console/aboutApplication Stopping Oracle Enterprise Manager 10g Database Control ... ... Stopped.

D.BOUZIDI

41

Accder Database Control

D.BOUZIDI

42

Page d'accueil Database

D.BOUZIDI

43

Modifier le statut du processus d'coute

D.BOUZIDI

44

Etapes des procdures de dmarrage et d'arrt


DEMARRAGE OUVERTURE Ouverture de tous les fichiers conformment au fichier de contrle de cette instance.

MOUNT

NOMOUNT

Ouverture du fichier de contrle de cette instance.

Dmarrage de l'instance. ARRET ARRET

D.BOUZIDI

45

Options d'arrt
Mode d'arrt Permettre de nouvelles connexions Attendre la fin des sessions en cours Attendre la fin des transactions en cours Imposer un point de reprise et fermer les fichiers Mode d'arrt : A Abort T Transactional I Immediate N Normal x o NON OUI A x x x x I x x x o T x x o o N x o o o

D.BOUZIDI

46

Diffrents types d'arrt


Transfert de fonds Arrt en mode Normal Arrt en Arrt en mode mode Immediate Transactional

1 2 3 4 5

Vrification de soldes Ajout de nouveaux fonds Retrait de fonds de l'ancien compte Validation Dconnexion

Arrt de la base de donn donnes

Arrt de la base de donn donnes Arrt de la base de donn donnes

D.BOUZIDI

47

Options SHUTDOWN
Vers le bas :
Pendant les oprations

Le cache de SHUTDOWN NORMAL tampons de la ou base de donnes SHUTDOWN est crit dans les TRANSACTIONAL fichiers de donnes ou Les modifications SHUTDOWN IMMEDIATE non valides sont annules Les ressources sont libres Base de donnes cohrente (base de donnes propre)
D.BOUZIDI

Vers le haut :
Pas de rcupration d'instance

48

Options SHUTDOWN
Vers le bas :
Vers le haut : Les fichiers de Les mmoires SHUTDOWN ABORT journalisation en ou tampon ligne sont chec d'une modifies ne utiliss pour instance sont pas crites ou rappliquer dans les STARTUP FORCE les modifications fichiers de Les segments donnes d'annulation Les sont utiliss modifications pour annuler les non valides ne modifications sont pas Base de donnes non valides annules incohrente Les ressources (base de donnes "dirty") sont libres
49

Pendant les oprations

D.BOUZIDI

Options SHUTDOWN
STARTUP STARTUP [Option] [Option] NOMOUNT NOMOUNT :: Cr Cr la la SGA SGA et et dmarre dmarre les les processus processus en en arrire arrire plan plan mais mais ne ne permet permet pas pas l'accs l'accs la la base base (reste (reste un un OPEN OPEN faire). faire). MOUNT MOUNT :: Monte Monte la la base base pour pour certaines certaines activits activits DBA DBA mais mais ne ne permet permet aucun aucun accs accs la la base. base. OPEN OPEN :: Permet Permet aux aux utilisateurs utilisateurs d'accder d'accder la la base. base. EXCLUSIVE : Autorise l'instance courant seulement EXCLUSIVE : Autorise l'instance courant seulement accder accder la la base. base. PFILE PFILE :: Spcifie Spcifie le le fichier fichier d'initialisation d'initialisation prendre prendre en en compte. compte. FORCE : Annule l'instance courante avant d'effectuer FORCE : Annule l'instance courante avant d'effectuer un un dmarrage dmarrage normal. normal. RESTRICT RESTRICT :: Autorise Autorise seulement seulement l'accs l'accs aux aux utilisateurs utilisateurs avec avec le le privilge RESTRICTED SESSION. privilge RESTRICTED SESSION. RECOVER RECOVER Dmarre Dmarre la la restauration restauration media media quand quand la la base base dmarre. dmarre.

D.BOUZIDI

50

Exemple Exemple de de commande commande dmarrage dmarrage et et darrt darrt de de la la base base de de donnes donnes
Dmarre Dmarre l'instance l'instance et et ouvre ouvre la la base base de de donnes donnes ::
STARTUP STARTUP PFILE=init015.ora PFILE=init015.ora

Fait Fait passer passer la la base base de de donnes donnes de de l'tat l'tat NOMOUNT NOMOUNT MOUNT MOUNT ::
ALTER ALTER DATABASE DATABASE ORCL ORCL MOUNT; MOUNT;

Ouvert Ouvert la la base base de de donnes donnes en en mode mode lecture lecture seule seule (READ ONLY) : (READ ONLY) :
ALTER ALTER DATABASE DATABASE ORCL ORCL OPEN OPEN READ READ ONLY; ONLY;

Arrte Arrte de de ll instance instance et et la la base base de de donnes donnes ::


SHUTDOWN SHUTDOWN Immediate; Immediate;
D.BOUZIDI 51

Ouvrir une base de donnes en mode lecture seule (READ ONLY)


Toute Toute base base de de donnes donnes peut peut tre tre ouverte ouverte en en mode mode lecture seule. lecture seule. Dans Dans ce ce mode, mode, vous vous pouvez pouvez :: lancer lancer des des interrogations, interrogations, effectuer effectuer des des oprations oprations de de tri tri sur sur disque disque avec avec des des tablespaces tablespaces grs grs en en local, local, utiliser utiliser des des fichiers fichiers de de donnes donnes hors hors ligne ligne et et en en ligne, ligne, et et non non des des tablespaces, tablespaces, rcuprer rcuprer des des fichiers fichiers de de donnes donnes hors hors ligne ligne et et des des tablespaces. tablespaces.
52

D.BOUZIDI

Fichier de paramtres d'initialisation


Instance
Mmoire SGA Cache des tampons des DATA
SMON PMON

Zone de mmoire partage Cache library Cache dictio D


LGWR ARCH CKPT

tampons Journalis ation


DBW

init001.ora

SQL> SQL> CONNECT CONNECT sys/PwdSys sys/PwdSys AS AS SYSDBA SYSDBA SQL> STARTUP SQL> STARTUP PFILE=C:\oracle\product\10.1.0\admin\orcl\pfile\init001.ora PFILE=C:\oracle\product\10.1.0\admin\orcl\pfile\init001.ora

Paramtres D.BOUZIDI D.BOUZIDI

Dimensionnez Dimensionnez la la mmoire mmoire SGA. SGA. Dfinissez les valeurs par dfaut Dfinissez les valeurs par dfaut de de la la BD BD et et de de l'instance. l'instance. Dfinissez Dfinissez les les limites limites relatives relatives aux aux utilisateurs utilisateurs ou ou aux aux processus. processus. Dfinissez Dfinissez les les limites limites relatives relatives aux aux ressources ressources de de la la BD. BD. Dfinissez Dfinissez les les divers divers attributs attributs physiques physiques de de la la BD, BD, tels tels que que la la taille taille des des blocs. blocs. Indiquez Indiquez l'emplacement l'emplacement des des fichiers fichiers de de contrle, contrle, des des fichiers journaux archivs, du fichier ALERT fichiers journaux archivs, du fichier ALERT et et des des fichiers fichiers trace. trace.

Fichier

53

Utiliser les paramtres

54

Exemple de fichier de paramtres


# # Initialization Initialization Parameter Parameter File: File: initU15.ora initU15.ora db_name = db_name = U15 U15 control_files = control_files = (/DISK1/control01.con, (/DISK1/control01.con, /DISK2/control02.con) /DISK2/control02.con) db_block_size = 8192 db_block_size = 8192 db_block_buffers = db_block_buffers = 2048 2048 shared_pool_size = shared_pool_size = 52428800 52428800 log_buffer = log_buffer = 64K 64K processes = 50 processes = 50 db_files = db_files = 1024 1024 log_files = log_files = 10 10 max_dump_file_size = max_dump_file_size = 10240 10240 background_dump_dest = (/home/disk3/user15/BDUMP) background_dump_dest = (/home/disk3/user15/BDUMP) user_dump_dest = user_dump_dest = (/home/disk3/user15/UDUMP) (/home/disk3/user15/UDUMP) core_dump_dest = core_dump_dest = (/home/disk3/user15/CDUMP) (/home/disk3/user15/CDUMP) rollback_segments = rollback_segments = (r01,r02,r03,r04,r05,r06,r07,r08) (r01,r02,r03,r04,r05,r06,r07,r08) ... ...

D.BOUZIDI

55

Quelques paramtres
BACK_GROUND_DUMP_DEST :Emplacement o les fichiers traces des processus en arrire plan sont enregistrs. USER_DUMP_DEST Emplacement o les fichiers traces sont crs. CONTROL_FILES : Noms des fichiers de contrle. DB_CACHE_SIZED : taille du tampon de donnes, (remplace le paramtre DB_BLOCK_BUFFERS dfinissant le nombre de blocs mis en cache dans la SGA, paramtre obsolte partir de la version 9i) DB_NAME : Identifiant de la base de donnes de 5 caractres ou moins. (seul paramtre ncessaire la cration d'une base). SHARED_POOL_SIZE : Taille en octets de la zone de partage. IFILE : Permet de rfrencer un autre fichier de paramtre imbriquer dans la dfinition. LOG_BUFFER : Nombre d'octets allous au buffer redolog dans la SGA. MAX_DUMP_FILE_SIZE : Taille maximum des fichiers trace, spcifie en nombre de blocs de l'OS. PROCESSES : Nombre de processus de l'OS pouvant se connecter simultanment linstance. SQL_TRACE : Active loutil de suivi SQL pour chaque session utilisateur. TIMED_STATISTICS : Active ou non le minutage dans les fichiers trace et sur les crans.
D.BOUZIDI 56

Vues dynamiques des performances


Sont Sont gres gres par par le le serveur serveur Oracle Oracle et et mises mises jour jour en en permanence. permanence. Contiennent Contiennent des des donnes donnes sur sur les les structures structures de de disque disque et et de de mmoire. mmoire. Contiennent Contiennent des des donnes donnes utiles utiles pour pour le le rglage rglage des des performances. performances. Sont Sont associes associes des des synonymes synonymes publics publics portant portant le le prfixe prfixe V$. V$. v$fixed_table v$fixed_table contient contient le le nom nom de de toutes toutes les les vues vues disponibles disponibles
V$PARAMETER : des infos sur les paramtres d'initialisation

Mmoire SGA

V$SYSTEM_PARAMETER : des infos sur les paramtres dinitialisation et leurs modification ventuelles V$SGA : des infos sur la SGA V$OPTION : la liste des options installes sur le serveur Oracle V$PROCESS : des infos sur les processus actifs courant V$SESSION : des infos sur la session courante V$VERSION : Liste le numro de version et les composants V$INSTANCE : Affiche l'tat de l'instance courante

D.BOUZIDI

57

Afficher les vues dynamiques des performances


OUVERTURE Dictionnaire de donn donnes

MOUNT

NOMOUNT

Lecture des donn donnes sur disque

ARRET

Lecture des donn donnes en m mmoire

D.BOUZIDI

58

Affichage des paramtres


Afficher Afficher les les valeurs valeurs des des paramtres paramtres en en cours cours
Excutez Excutez la la commande commande ::
SHOW SHOW PARAMETER PARAMETER control control

Interrogez Interrogez la la vue vue dynamique dynamique des des performances performances V$PARAMETER V$PARAMETER ::
SELECT SELECT name name FROM FROM v$parameter v$parameter WHERE WHERE name name LIKE LIKE '%control%'; '%control%';

Certains Certains paramtres paramtres d'initialisation d'initialisation peuvent peuvent tre tre modifis modifis pendant pendant l'excution l'excution d'une d'une instance instance (grce (grce aux aux commandes commandes Alter Alter session session et et Alter Alter system system). ).
ALTER ALTER SESSION SESSION SET SET SQL_TRACE=true; SQL_TRACE=true; //session //session courante courante ALTER ALTER SYSTEM SYSTEM SET SET TIMED_STATISTICS=true; TIMED_STATISTICS=true; ALTER ALTER SYSTEM SYSTEM SET SET SORT_AREA_SIZE=131072 SORT_AREA_SIZE=131072 DEFERRED; DEFERRED;
// tre qu' // DEFERRED DEFERRED Indique Indique que que le le param param tre ne ne sera sera modifi modifi qu' partir partir de de la la prochaine prochaine session. session.
D.BOUZIDI 59

Gestion des sessions


Activer Activer et et dsactiver dsactiver une une session session en en mode mode restreint restreint Excutez Excutez la la commande commande STARTUP STARTUP pour pour restreindre restreindre l'accs l'accs une une base base de de donnes donnes ::
STARTUP STARTUP RESTRICT RESTRICT

Excutez Excutez la la commande commande ALTER ALTER SYSTEM SYSTEM pour pour mettre mettre une instance en mode restreint : une instance en mode restreint :
ALTER ALTER SYSTEM SYSTEM ENABLE ENABLE RESTRICTED RESTRICTED SESSION; SESSION;

Interrompre Interrompre une une session session Dans Dans la la vue vue dynamique dynamique des des performances performances V$SESSION, V$SESSION, identifiez identifiez la la session session interrompre interrompre ::
SELECT SELECT sid, sid, serial# serial# FROM FROM v$session v$session WHERE WHERE username='SCOTT'; username='SCOTT';

Excutez Excutez la la commande commande ALTER ALTER SYSTEM SYSTEM ::


ALTER ALTER SYSTEM SYSTEM KILL KILL SESSION SESSION '7,15'; '7,15';

D.BOUZIDI

60

Fichiers ALERT et TRACE


Les Les fichiers fichiers trace trace peuvent peuvent tre tre crits crits par par les les processus processus serveur serveur et et les les processus processus d'arrired'arrireplan. plan. Le Le serveur serveur Oracle Oracle vide vide les les informations informations relatives relatives aux aux erreurs erreurs dans dans des des fichiers fichiers trace. trace. Le Le fichier fichier ALERT ALERT est est le le journal journal chronologique chronologique des messages et des erreurs. des messages et des erreurs. La La fonction fonction trace trace par par processus processus serveur serveur peut peut tre active ou dsactive par : tre active ou dsactive par : une une commande commande ALTER ALTER SESSION, SESSION, le le paramtre paramtre SQL_TRACE. SQL_TRACE.

D.BOUZIDI

61

Gestion du fichier de contrle

Utiliser le fichier de contrle


Petit Petit fichier fichier binaire binaire :: Indique Indique au au serveur serveur o o sont sont situs situs les les fichiers fichiers constituant constituant la la base base de de donnes donnes Ncessaire Ncessaire ::
au au montage montage au au fonctionnement fonctionnement de de la la base base de de donnes donnes

Li Li une une seule seule base base de de donnes donnes Modifi Modifi frquemment frquemment par par le le serveur serveur oracle. oracle. Indispensable Indispensable pour pour la la restauration restauration de de la la base. base. Doit tre multiplex Doit tre multiplex En En cas cas de de perte perte du du fichier fichier de de contrle, contrle, la base de donnes doit tre la base de donnes doit tre restaure restaure Pour Pour afficher afficher les les noms noms des des fichiers fichiers de de CTL CTL
show show parameter parameter control_files control_files select select value value from from v$parameter v$parameter where where name='control_files'; name='control_files';
D.BOUZIDI 63

Contenu du fichier de contrle


Nom Nom et et identificateur identificateur de de la la base base de de donnes donnes Date de cration de la base de donnes Date de cration de la base de donnes Emplacement Emplacement des des fichiers fichiers de de donnes donnes et et de de journalisation journalisation Noms des tablespaces et les fichiers de donnes Noms des tablespaces et les fichiers de donnes (nom (nom de de fichier,statut lecture/criture, en ligne ou non) fichier,statut lecture/criture, en ligne ou non) Les Les fichiers fichiers log log en en ligne ligne Historique Historique de de journalisation journalisation archivs archivs Informations de sauvegarde Informations de sauvegarde Informations Informations sur sur les les blocs blocs corrompus corrompus

D.BOUZIDI

64

Multiplexer le fichier de contrle


control_files=("C: \oracle\ control_files=("C:\ oracle\product\ product\10.1.0\ 10.1.0\oradata\ oradata\orcl\ orcl\control01.ctl", "C:\ "C:\oracle\ oracle\product\ product\10.1.0\ 10.1.0\oradata\ oradata\orcl\ orcl\control02.ctl", "C:\ "C:\oracle\ oracle\product\ product\10.1.0\ 10.1.0\oradata\ oradata\orcl\ orcl\control03.ctl")

Unit
control01.ctl

Unit 2 Unit 3
control02.ctl control03.ctl

D.BOUZIDI

65

Multiplexer le fichier de contrle


Deux Deux mthodes mthodes pour pour multiplexer multiplexer le le fichier fichier de de contrle contrle :: Mthode Mthode 1 1
Visualiser Visualiser les les fichiers fichiers de de contrle contrle existants existants Arrter Arrter la la base base Modifier Modifier le le paramtre paramtre CONTROL_FILES CONTROL_FILES dans dans le le fichier fichier init.ora init.ora Copier Copier le le fichier fichier de de contrle contrle en en utilisant utilisant les les commandes commandes OS OS Dmarrer Dmarrer la la base base de de donnes donnes

Mthode Mthode 2 2
Ajouter Ajouter le le nouveau nouveau fichier fichier de de contrle contrle /disk3/oradata/orcl/control04.ctl /disk3/oradata/orcl/control04.ctl dans dans le le paramtre paramtre CONTROL_FILES CONTROL_FILES en en utilisant utilisant la la commande commande ::
alter alter system system set set control_files= control_files= '/disk1/oradata/orcl/control01.ctl', '/disk1/oradata/orcl/control01.ctl', '/disk1/oradata/orcl/control02.ctl '/disk1/oradata/orcl/control02.ctl ', ', '/disk1/oradata/orcl/control03.ctl '/disk1/oradata/orcl/control03.ctl ', ', '/disk1/oradata/orcl/control04.ctl control04.ctl' ' '/disk1/oradata/orcl/ '/disk1/oradata/orcl/control04.ctl' scope=spfile; scope=spfile;

Arrter Arrter la la base base Copier le Copier le fichier fichier de de contrle contrle en en utilisant utilisant les les commandes commandes OS OS Dmarrer la base de donnes Dmarrer la base de donnes
Oracle Oracle met met jours jours les les fichiers fichiers de de contrle contrle en en mme mme temps, temps, mais mais seul seul le le premier premier fichier fichier cit cit dans dans le le paramtre paramtre CONTROL_FILES CONTROL_FILES est est consult. consult. //SCOPE=SPFILE:le //SCOPE=SPFILE:le changement changement de de paramtre paramtre est est enregistr enregistr dans dans le le SPFILE, SPFILE, et et ne ne sera sera pris pris en en compte compte quau quau prochain prochain dmarrage dmarrage de de l'instance. l'instance. Utilis Utilis pour pour les les paramtres paramtres non non dynamique dynamique

D.BOUZIDI

66

sauvegarder le fichier de contrle


Deux Deux mthodes mthodes ::
Commande Commande sauvegardant sauvegardant le le fichier fichier de de contrle contrle en en un un fichier fichier binaire binaire :: alter alter database database backup backup controlfile controlfile to to nom_du_fichier nom_du_fichier Commande Commande crant crant un un fichier fichier en en format format texte texte dans dans le le rpertoire rpertoire USER_DUMP_DEST USER_DUMP_DEST alter alter database database backup backup controlfile controlfile to to trace; trace;

Cest Cest recommand recommand de de sauvegarder sauvegarder le le fichier fichier de de contrle contrle chaque chaque modification modification de de la la structure structure de de la la base base (Ajout, (Ajout, renomme renomme ou ou suppression suppression de de fichiers fichiers de de donnes donnes ou ou de de journalisation). journalisation).

D.BOUZIDI

67

Obtenir des informations

V$CONTROLFILE : affiche tous les noms des fichiers de contrle et et leur statut qui peut tre NULL ou INVALID V$CONTROLFILE_RECORD_SECTION : plusieurs infos sur le fichier de contrle (TYPE : Type de la section, RECORD_SIZE : Taille d'une d'une entre en bits, RECORDS_TOTAL : Nombre d'entres alloues pour la section, RECORDS_USED : Nombres d'entres utilises dans la section, FIRST_INDEX : Index de la premire entre, LAST_INDEX : Index de la dernire entre) V$KCCDI : affiche la valeur de MAXLOGMEMBERS (DIMLM) Liste des vues qui lisent directement du fichier de contrle : V$THREAD, V$DATABASE, V$DATAFILE, V$DATAFILE_HEADER V$LOGFILE, V$ARCHIVED_LOG, V$BACKUP, V$BACKUP_DATAFILE, V$BACKUP_PIECE, V$BACKUP_REDOLOG, V$BACKUP_SET,

Fichier de contrle

D.BOUZIDI

68

Gestion des fichiers de journalisation (les fichiers log)

Utiliser Utiliser des des fichiers fichiers de de journalisation journalisation


Permettent Permettent la la base base de de garder garder une une trace trace de de toutes toutes les les altrations altrations de de donnes, donnes, En En cas cas de de crash crash de de la la base, base, ils ils permettent permettent de de rejouer rejouer les les modifications modifications apportes apportes la la base. base. Doivent Doivent tre tre multiplixs multiplixs au au moins moins au au nombre nombre de de deux deux

Instance
Mmoire SGA Zone de mmoire partage

LGW ARC

Fichiers de donnes

Fichiers de contrle Base de donnes

Fichiers de journalisation Fichiers archivages des logs

D.BOUZIDI

70

Mode Mode de de fonctionnement fonctionnement des des fichiers fichiers de de journalisation journalisation

Groupe 1

Groupe 2

Groupe 3

Membre1

Membre1

Membre1

Unit Unit 1

Membre2

Membre2

Membre2 Unit Unit 2

En En mode mode NOARCHIVELOG, NOARCHIVELOG, un un fichier fichier log log plein plein est est disponible disponible aprs aprs que que les les changements changements enregistrs enregistrs dedans dedans sont sont crits crits dans dans les les fichiers fichiers de de donnes. donnes. En En ARCHIVELOG, ARCHIVELOG, un un fichier fichier log log plein plein est est disponible disponible aprs aprs que que les les changements changements effectus effectus dedans dedans sont sont crits crits dans dans les les fichiers fichiers de de donnes donnes et et tait tait archiv archiv Un Un fichier fichier log log en en ligne ligne ou ou archiv archiv est est identifi identifi par par son son numro numro de de squence squence
D.BOUZIDI 71

Obtenir Obtenir des des informations informations


Sur Sur l'archivage l'archivage partir partir ::
Ligne Ligne de de commande commande ::ARCHIVE ARCHIVE LOG LOG LIST; LIST; V$DATABASE V$DATABASE (NAME,LOG_MODE) (NAME,LOG_MODE)SELECT SELECT name, name, log_mode log_mode FROM FROM v$database; v$database; V$INSTANCE V$INSTANCE (ARCHIVER) (ARCHIVER) SELECT archiver FROM v$instance;
SELECT archiver FROM v$instance;

Sur Sur les les groupes groupes partir partir ::


V$THREAD V$THREAD (groups, (groups, current_group#, current_group#, sequence# sequence# )) //fichier //fichier log log en en cours cours SELECT SELECT groups, groups, current_group#, current_group#, sequence# sequence# FROM FROM v$thread; v$thread;

Sur Sur les les groupes groupes et et les les membres membres partir partir ::
V$LOG V$LOG (group#, (group#, members, members, status, status, sequence, sequence, bytes) bytes) //les //les infos infos du du fichier fichier CTL CTL status : unused (jamais crit), current (en ligne et en cours d'criture), active (en ligne et ncessaires la restauration de la base ), inactive (en ligne non ncessaires la restauration de la base)
SELECT SELECT group#, group#, sequence#, sequence#, bytes, bytes, members, members, status status FROM FROM v$log v$log ; ;

V$LOGFILE V$LOGFILE (group#, (group#, type, type, status, status, member) member) status : invalid (le fichier est inaccessible), stale (le fichier est incomplet), deleted (le fichier nest pas utilis), vide (le fichier est en cours dutilisation)
D.BOUZIDI SELECT SELECT * * FROM FROM v$logfile; v$logfile; 72

Changements Changements de de fichier fichier de de journalisation journalisation et et points points de de reprise reprise
Un Un log log switch switch est est le le point point o o la la base base arrte arrte d'crire d'crire dans dans l'un l'un des des fichiers fichiers redo redo en en ligne ligne et et commence commence crire crire dans dans un un autre. autre. Se Se dclanche dclanche ::
Le Le fichier fichier log log courant courant est est plein plein et et on on doit doit continuer continuer crire crire dans dans le le fichier fichier redo redo Configur pour qu'il se reproduit intervalles rguliers Configur pour qu'il se reproduit intervalles rguliers Manuellement Manuellement

Imposer Imposer des des changements changements de de fichier fichier de de journalisation journalisation l'aide l'aide de de la la commande commande ::
ALTER ALTER SYSTEM SYSTEM SWITCH SWITCH LOGFILE; LOGFILE; La La commande commande suivante suivante permet permet d'archiver d'archiver le le redo redo log log courant courant et et d'activer d'activer le le redo redo log log suivant. suivant. ALTER .. ALTER SYSTEM SYSTEM CHECKPOINT; CHECKPOINT; //archiver //archiver le le redo redo log log courant courant

Grer Grer les les points points de de reprise reprise l'aide l'aide des des paramtres paramtres d'initialisation d'initialisation ::
LOG_CHECKPOINT_INTERVAL LOG_CHECKPOINT_INTERVAL LOG_CHECKPOINT_TIMEOUT LOG_CHECKPOINT_TIMEOUT FAST_START_IO_TARGET FAST_START_IO_TARGET

D.BOUZIDI

73

Processus Processus CKPT CKPT


Le Le CHECKPOINT CHECKPOINT est est un un vnement vnement qui qui se se dclencher dclencher lors lors ::
D'un D'un changement changement de de groupe groupe de de REDO REDO LOG LOG FILE. FILE. D'un D'un arrt arrt normal normal de de la la base base de de donnes donnes (c'est (c'est dire dire sans sans l'option l'option ABORT) ABORT) D'une D'une demande demande explicite explicite de de l'administrateur l'administrateur D'une D'une limite limite dfinie dfinie par par les les paramtres paramtres d'initialisation d'initialisation LOG_CHECKPOINT_INTERVAL LOG_CHECKPOINT_INTERVAL :: spcifie spcifie le le nombre nombre maximum maximum de de blocs blocs du du REDO REDO LOG LOG Buffer Buffer qui qui seront seront alors alors lus lus lors lors d'une d'une restauration restauration de de l'instance. l'instance. LOG_CHECKPOINT_TIMEOUT fini LOG_CHECKPOINT_TIMEOUT :: D D fini en en secondes. secondes. Il Il permet permet de de dfinir dfinir le le temps temps maximum maximum entre entre 2 2 CHECKPOINTS CHECKPOINTS (ver (ver > > 8i 8i :: permet permet de de dfinir dfinir le le temps temps maximal maximal de de lecture lecture du du processus processus LGWR LGWR ). ). FAST_START_IO_TARGET FAST_START_IO_TARGET :: en en secondes, secondes, il il dfinit dfinit le le temps temps maximum maximum pour pour restaurer restaurer une une instance. instance.

L'vnement L'vnement CHECKPOINT CHECKPOINT dclenche dclenche


Le Le LGWR LGWR :: vide vide le le REDO REDO LOG LOG Buffer. Buffer. l'criture d'un certain nombre l'criture d'un certain nombre de de blocs blocs du du Database Database Buffer Buffer Cache Cache dans dans les les fichiers fichiers de de donnes donnes par par DBWn. DBWn. Le Le nombre nombre de de blocs blocs cris cris par par DBWn DBWn est est dfini dfini avec avec le le paramtre paramtre FAST_START_IO_TARGET FAST_START_IO_TARGET
D.BOUZIDI 74

Ajout Ajout des des groupes groupes

Manipulation des fichiers de log

ALTER ALTER DATABASE DATABASE ADD ADD LOGFILE('/DISK1/Redo30.log','/DISK2/Redo31.log') LOGFILE('/DISK1/Redo30.log','/DISK2/Redo31.log') size size 1M; 1M;

Ajout Ajout des des membres membres un un groupe groupe


Groupe 1 Groupe 2 Groupe 3

ALTER ALTER DATABASE DATABASE ADD ADD LOGFILE LOGFILE MEMBER MEMBER '/DISK2/Redo11.log' '/DISK2/Redo11.log' TO TO GROUP GROUP 1, 1, '/DISK2/Redo21.log' '/DISK2/Redo21.log' TO TO GROUP GROUP 2; 2;

Redo10.log

Redo20.log

Redo30.log

Redo11.log

Redo21.log

Redo31.log

Modification Modification demplacement demplacement


1. 1. Arrtez Arrtez la la base base de de donnes donnes 2. 2. Copiez Copiez les les fichiers fichiers de de log log en en ligne ligne vers vers un un nouvel nouvel emplacement. emplacement. 3. 3. Excutez Excutez la la commande commande ALTER ALTER DATABASE DATABASE RENAME RENAME FILE FILE en en mode mode MOUNT. MOUNT.
ALTER ALTER DATABASE DATABASE RENAME RENAME FILE FILE '/DISK2/Redo11.log' '/DISK2/Redo11.log' TO TO '/DISK3/Redo11.log'; '/DISK3/Redo11.log';

Suppression Suppression des des groupes groupes ::


ALTER ALTER DATABASE DATABASE DROP DROP LOGFILE LOGFILE GROUP GROUP 3; 3;

Suppression Suppression des des membres membres des des groupes groupes ::
ALTER ALTER DATABASE DATABASE DROP DROP LOGFILE LOGFILE MEMBER MEMBER '/DISK2/Redo21.log'; '/DISK2/Redo21.log';

Effacement Effacement des des fichiers fichiers de de journalisation journalisation ::


ALTER ALTER DATABASE DATABASE CLEAR CLEAR LOGFILE LOGFILE '/DISK1/Redo20.log'; '/DISK1/Redo20.log'; D.BOUZIDI 75

Erreurs possibles du processus LGWR


Un Un membre membre d'un d'un groupe groupe contenant contenant au au moins moins deux fichiers de journalisation n'est pas deux fichiers de journalisation n'est pas disponible. disponible. Tous Tous les les membres membres du du groupe groupe suivant suivant ne ne sont sont pas pas disponibles. disponibles. Tous Tous les les membres membres du du groupe groupe en en cours cours ne ne sont sont pas pas disponibles. disponibles.

D.BOUZIDI

76

Obtenir des informations


V$THREAD : affiche les infos sur le fichier log courant V$LOG : donne les informations en lisant dans le fichier de contrle contrle au lieu de lire dans le dictionnaire de donnes V$LOGFILE : Pour voir les noms des membres d'un groupe ( GROUP# est le numro du groupe Redo Log. STATUS prend la valeur : INVALID si le fichier est inaccessible, STALE si le fichier est incomplet , DELETED si le fichier n'est plus utilis et VIDE si le fichier est en cours d'utilisation. MEMBER est le nom du membre Redo Log V$LOG_HISTORY : contient des infors concernant l'historique des fichiers redo partir du fichier de contrle. Le maximum que peut retenir la vue dpends du paramtre MAXLOGHISTORY. MAXLOGHISTORY.

Fichier de contrle

D.BOUZIDI

77

Analyser les fichiers de journalisation en ligne


Suivi Suivi des des modifications modifications ::
dans dans la la base base de de donnes, donnes, dans dans une une table table spcifique, spcifique, relatives relatives un un utilisateur utilisateur particulier particulier

Application Application de de modles modles d'accs d'accs aux aux donnes. donnes. Annulation Annulation des des modifications modifications de de la la base base de donnes. de donnes. Utilisation Utilisation des des donnes donnes archives archives pour pour effectuer effectuer des des oprations oprations de de rglage rglage et et planifier planifier les les capacits. capacits.

D.BOUZIDI

78

LogMiner
Le Le problme problme de de ces ces fichiers fichiers c'est c'est que que l'on l'on ne ne peut peut pas pas diter diter le le contenu contenu aussi aussi facilement facilement Oracle Oracle a a fournit fournit un un outil outil trs trs pratique pratique permettant d'analyser et dauditer permettant d'analyser et dauditer les les actions actions effectues effectues sur sur la la base base :: LogMiner LogMiner Deux Deux scripts scripts sont sont utiliss utiliss pour pour linstaller linstaller ::
<oracle <oracle home>/rdbms/admin/dbmslm.sql home>/rdbms/admin/dbmslm.sql qui qui installe installe le le package package DBMS_LOGMNR DBMS_LOGMNR qui qui vous vous servira servira analyser analyser les les REDO REDO LOG, LOG, ainsi ainsi que que des des procdures, procdures, vues vues et et tables tables publiques. publiques. <oracle <oracle home>/rdbms/admin/dbmslmd.sql home>/rdbms/admin/dbmslmd.sql qui qui installe installe le le package package DBMS_LOGMNR_D DBMS_LOGMNR_D qui qui servira servira construire construire le le dictionnaire dictionnaire de de donnes. donnes.

D.BOUZIDI

79

Utiliser LogMiner
Cration Cration dun dun Snapshot Snapshot du du DD DD (pour (pour avoir avoir les les dfinitions dfinitions des des objets objets prsents prsents dans dans la la base base de de donnes) donnes)
Initialiser Initialiser le le paramtre paramtre UTL_FILE_DIR UTL_FILE_DIR ::
Alter /oracle/tmp/' Alter system system SET SET utl_file_dir= utl_file_dir= /oracle/tmp/' SCOPE=spfile; SCOPE=spfile;

Cration Cration dun dun fichier fichier de de dictionnaire dictionnaire ::


EXECUTE .ora ', /tmp/ '); EXECUTE DBMS_LOGMNR_D.BUILD(monDictionnaire DBMS_LOGMNR_D.BUILD(monDictionnaire .ora ', /oracle /oracle /tmp/ ');

Dfinition Dfinition des des fichiers fichiers de de log log analyser analyser en en configurant configurant la la vue vue V$LOGMNR_CONTENTS V$LOGMNR_CONTENTS (spcifie (spcifie les les fichiers fichiers log log analyser) analyser) Initialisation Initialisation dune dune nouvelle nouvelle liste liste et et dfinition dfinition du du premier premier fichier fichier de de log log analyser analyser
EXECUTE EXECUTE DBMS_LOGMNR.ADD_LOGFILE(/Disk1/Redo10.log', DBMS_LOGMNR.ADD_LOGFILE(/Disk1/Redo10.log', DBMS_LOGMNR.NEW); DBMS_LOGMNR.NEW);

Ajout Ajout dautres dautres fichiers fichiers analyser analyser la la liste liste ::
EXECUTE EXECUTE DBMS_LOGMNR.ADD_LOGFILE(/Disk1/Redo20.log', DBMS_LOGMNR.ADD_LOGFILE(/Disk1/Redo20.log', DBMS_LOGMNR.ADDFILE); DBMS_LOGMNR.ADDFILE);

Suppression Suppression de de fichiers fichiers log log de de la la liste liste ::


EXECUTE /disk1/Redo20.log',DBMS_LOGMNR.REMOVEFILE); EXECUTE DBMS_LOGMNR.ADD_LOGFILE( DBMS_LOGMNR.ADD_LOGFILE( /disk1/Redo20.log',DBMS_LOGMNR.REMOVEFILE); D.BOUZIDI 80

Utiliser LogMiner
Lancement Lancement de de lanalyse lanalyse
Initialisation Initialisation dune dune session session logMiner logMiner :: Initialisation Initialisation dune dune session session logMiner logMiner pour pour une une priode priode donnes: donnes:
EXECUTE EXECUTE Dbms_Logmnr.Start_Logmnr(/oracle/temp/monDictionnaire.ora', Dbms_Logmnr.Start_Logmnr(/oracle/temp/monDictionnaire.ora', starttime starttime =>to_date('01-Jan-2006 =>to_date('01-Jan-2006 00:00:00','DD-MON-YYYY 00:00:00','DD-MON-YYYY HH:MI:SS'),endtime HH:MI:SS'),endtime => to_date('01-Jan-2006 10:00:00', => to_date('01-Jan-2006 10:00:00', 'DD-MON-YYYY 'DD-MON-YYYY HH:MI:SS')); HH:MI:SS')); EXECUTE EXECUTE DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>/tmp/monDictionnaire.ora'); DBMS_LOGMNR.START_LOGMNR(DICTFILENAME=>/tmp/monDictionnaire.ora');

Identification Identification des des modification modification apportes apportes une une table table
SELECT SELECT timestamp, timestamp, username, username, sql_redo sql_redo FROM FROM v$logmnr_contents v$logmnr_contents WHERE WHERE seg_name seg_name = = 'EMP'; 'EMP';

Arrt Arrt de de la la session session logMiner logMiner


EXECUTE EXECUTE DBMS_LOGMNR.END_LOGMNR; DBMS_LOGMNR.END_LOGMNR;

D.BOUZIDI

81

Obtenir Obtenir des des informations informations sur sur les les fichiers fichiers de de journalisation journalisation analyser analyser
Il Il existe existe 4 4 vues vues dynamiques dynamiques lies lies notre notre session session LogMiner LogMiner (celles-ci n'existent que pendant notre session (celles-ci n'existent que pendant notre session LogMiner) LogMiner) V$LOGMNR_DICTIONARY V$LOGMNR_DICTIONARY :: contient contient les les infos infos sur sur le le dictionnaire dictionnaire de de donnes donnes de de LogMiner. LogMiner. V$LOGMNR_PARAMETERS V$LOGMNR_PARAMETERS :: contient contient les les infos infos concernant concernant la la session session LogMiner LogMiner en en cours. cours. V$LOGMNR_CONTENTS V$LOGMNR_CONTENTS :: contient contient les les infos infos issues issues des des fichiers fichiers REDO REDO LOG. LOG. V$LOGMNR_LOGS V$LOGMNR_LOGS :: contient contient les les infos infos sur sur tous tous les les fichiers fichiers REDO LOG qui ont t ajouts pour cette session REDO LOG qui ont t ajouts pour cette session

D.BOUZIDI

82

Gestion des structures de stockages

Hirarchie de stockage de la base de donnes


Base de donnes Tablespace Fichier de donnes Physique

Logique

Segment

Extent

Bloc Oracle

Bloc OS

Hirarchie de stockage de la base de donnes


Une Une base base donnes donnes est est compose compose dun dun ensemble ensemble dunits dunits logiques logiques appeles appeles TABLESPACE TABLESPACE.. Un Un TABLESPACE TABLESPACE est est compos compos d'au d'au moins moins un un DATAFILE DATAFILE,, c'est c'est dire dire un un fichier fichier de de donnes donnes qui qui est est physiquement prsent sur le serveur l'endroit physiquement prsent sur le serveur l'endroit stipul stipul lors lors de de sa sa cration. cration. Chaque Chaque DATAFILE DATAFILE est est constitu constitu de de SEGMENTS SEGMENTS Un Un segment segment est est d'au d'au moins moins un un EXTENT EXTENT (ou (ou page) page) L'extent L'extent est est un un groupe groupe de de BLOCS BLOCS contigus contigus pouvant pouvant accueillir accueillir des des donnes, donnes, il il est est constitu constitu d'au d'au moins moins 3 3 blocs blocs Le Le bloc bloc est est le le plus plus petit petit lment lment de de stockage stockage d'une d'une base de donnes base de donnes

Les tablespaces
Une Une base base donnes donnes mmorise mmorise dans dans une une ou ou plusieurs plusieurs units units logiques appeles TABLESPACE . logiques appeles TABLESPACE. Cette Cette organisation organisation permet permet ladministrateur ladministrateur de de :: Contrler Contrler lallocation lallocation despace despace disque disque Assigner des quotas de ressource Assigner des quotas de ressource disque disque aux aux utilisateurs utilisateurs Contrler Contrler la la disponibilit disponibilit des des donnes donnes en en rendant rendant les les tablespaces tablespaces online online ou ou offline offline Constituer Constituer des des units units de de sauvegarde sauvegarde ou ou de de restauration restauration partielle de la base partielle de la base Rpartir Rpartir les les zones zones de de stockage stockage entre entre plusieurs plusieurs disques disques pour pour accrotre accrotre les les performances performances

Quelques types de tablespaces


Tablespace Tablespace SYSTEM SYSTEM::
Cr Cr lors lors de de la la cration cration de de la la base base de de donnes donnes (avec (avec lordre lordre CREATE CREATE DATABASE) DATABASE) Contient : les tables du dictionnaire de donnes, les procdures, Contient : les tables du dictionnaire de donnes, les procdures, les les fonctions, fonctions, les les packages, packages, les les triggers triggers

Tablespace Tablespace TEMP TEMP ::


Contient Contient :: les les segments segments temporaires temporaires utiliss utiliss par par Oracle Oracle lors lors doprations doprations de de tri tri (SORT_AREA_SIZE (SORT_AREA_SIZE insuffisante), insuffisante), de de cration cration dindex dindex et et de de tables tables temporaires, temporaires, Chaque Chaque BD BD doit doit comporter comporter un un tablespace tablespace temporaire temporaire affect affect aux aux utilisateurs utilisateurs comme comme tablespace tablespace temporaire temporaire (si (si aucun aucun tablespace tablespace temporaire temporaire n'est n'est dsign dsign lors lors de de la la cration cration du du compte, compte, Oracle Oracle affecte affecte ce ce tablespace tablespace l'utilisateur l'utilisateur CREATE CREATE DATABASE DATABASE <NomBase>... <NomBase>... DEFAULT DEFAULT TEMPORARY TEMPORARY TABLESPACE TABLESPACE temp01; temp01; On On peut peut dsigner dsigner un un tablespace tablespace temporaire temporaire pour pour un un utilisateur utilisateur donn donn ALTER ALTER USER USER scott scott TEMPORARY TEMPORARY TABLESPACE TABLESPACE temp01; temp01;

Tablespace Tablespace USERS USERS ::


Contient Contient :: les les segments segments de de donnes donnes utilisateurs utilisateurs (tables,clusters, (tables,clusters, index,) index,) On On peut peut dfinir dfinir #ts #ts tablespaces tablespaces USERS USERS pour pour sparer sparer les les diffrentes diffrentes applications applications

Tablespace Tablespace UNDO UNDO ::


Rserv Rserv l'annulation l'annulation des des commandes commandes DDL DDL (UPDATE, (UPDATE, INSERT, INSERT, etc...). etc...). Lors Lors dune dune suppression suppression par par exemple, exemple, ORACLE ORACLE copie copie les les lignes lignes supprimer supprimer dans dans le le tablespace tablespace UNDO UNDO et et ensuite ensuite indique indique que que les les blocs blocs contenant contenant les les donnes donnes dans dans le le tablespace tablespace d'origine )) d'origine sont sont libres libres (le (le paramtre paramtre undo_tablespace, undo_tablespace, undo_management undo_management CREATE CREATE UNDO UNDO TABLESPACE TABLESPACE undotbs undotbs DATAFILE DATAFILE '<oracle_Home>\oradata\orcl\undotbs.dbf' '<oracle_Home>\oradata\orcl\undotbs.dbf' size size 100M; 100M;

Cration de tablespaces
CREATE CREATE TABLESPACE TABLESPACE app_data app_data DATAFILE SIZE DATAFILE '/DISK1/app_data_01.dbf '/DISK1/app_data_01.dbf SIZE 100M, 100M, '/DISK2/app SIZE '/DISK2/app data_ data_ 02.dbf 02.dbf SIZE 100M 100M DEFAULT 500K DEFAULT STORAGE STORAGE ( ( INITIAL INITIAL 500K NEXT NEXT MAXEXTENTS MAXEXTENTS PCTINCREASE PCTINCREASE 500K 500K 500 500 0 0 ); );

o o INITIAL INITIAL : : Dfinit Dfinit la la taille taille du du premier premier extent extent (Par (Par dfaut dfaut 5*DB_BLOCK_SIZE) 5*DB_BLOCK_SIZE) o o NEXT NEXT se se rapporte rapporte la la taille taille de de l'extent l'extent suivant. suivant. o MINEXTENTS exprime le nombre d'extents allous o MINEXTENTS exprime le nombre d'extents allous lors lors de de la la cration cration du du segment segment (Par (Par dfault dfault 1). 1). o o MAXEXTEBTS MAXEXTEBTS est est le le nombre nombre maximal maximal dextents dextents pouvant pouvant tre tre alloues alloues un un segment segment o o PCTINCREASE PCTINCREASE dfinie dfinie le le pourcentage pourcentage de de croissance croissance de de la la taille taille du du segment segment suivant suivant

Gestion de lespace dans les tablespaces


A A la la cration cration d'un d'un objet objet (par (par exemple exemple une une table), table), ORACLE ORACLE cre cre un un extent extent .. Lors Lors de de remplissage remplissage (ajout/modification), (ajout/modification), Oracle Oracle rempli rempli les les blocs blocs de de donnes donnes qui qui constituent constituent l'extent l'extent jusqu' jusqu' remplir remplir l'extent l'extent entirement entirement et et cre cre un un nouvel nouvel extent extent si si le le prcdent prcdent est est plein plein Deux modes de gestion de lespace Deux modes de gestion de lespace :: Tablespaces Tablespaces grs grs par par le le dictionnaire dictionnaire de de donnes donnes:: ORACLE ORACLE stocke stocke les les informations informations relatives relatives l'allocation l'allocation d'espace d'espace dans dans le le dictionnaire dictionnaire de de donnes donnes Ceci Ceci induit induit une une charge charge supplmentaire supplmentaire pour pour toutes toutes les les oprations oprations sur sur les les objets objets d'un d'un tablespace. tablespace. Ladministrateur Ladministrateur doit doit bien bien dimensionner dimensionner la la taille taille des des extents extents pour pour viter viter une une fragmentation fragmentation excessive excessive Tablespaces Tablespaces grs grs localement localement (locally (locally managed managed )) :: Les Les informations informations sont sont stockes stockes au au niveaux niveaux des des enttes enttes des des tablespaces, tablespaces, ceci ceci vite vite des des accs accs intempestifs intempestifs au au dictionnaire dictionnaire de de donnes donnes (option (option dfinit dfinit par par dfaut dfaut partir partir de de la la version version 9i) 9i) Deux Deux modes modes de de gestion gestion des des extents extents ::
Le Le mode mode UNIFORM UNIFORM impose impose Oracle Oracle de de crer crer des des extents extents de de taille taille identique. identique. Ce Ce mode mode nest nest pas pas utilis utilis pour pour un un tablespace tablespace dannulation dannulation Le Le mode mode AUTOALLOCATE AUTOALLOCATE demande demande de de crer crer des des extents extents de de plus plus en en plus plus grands grands avec avec le le nombre nombre d'extents d'extents crs. crs. Ce Ce mode mode ne ne peut peut tre tre utilis utilis pour pour un un tablespace tablespace temporaire temporaire

Gestion de lespace dans les tablespaces


CREATE CREATE TABLESPACE TABLESPACE user_data user_data DATAFILE DATAFILE '/DISK2/user_data_01.dbf' '/DISK2/user_data_01.dbf' SIZE SIZE 500M 500M EXTENT EXTENT MANAGEMENT MANAGEMENT LOCAL LOCAL UNIFORM UNIFORM SIZE SIZE 10M; 10M;

Cration Cration de de tablespace tablespace temporaire temporaire gr gr localement localement


CREATE CREATE TEMPORARY TEMPORARY TABLESPACE TABLESPACE temp temp TEMPFILE TEMPFILE '/DISK2/temp_01.dbf' '/DISK2/temp_01.dbf' SIZE SIZE 500M 500M EXTENT EXTENT MANAGEMENT MANAGEMENT LOCAL LOCAL UNIFORM UNIFORM SIZE SIZE 10M; 10M;

Modification Modification des des paramtres paramtres de de stockage stockage


ALTER ALTER TABLESPACE TABLESPACE app_data app_data MINIMUM MINIMUM EXTENT EXTENT 2M; 2M;

On On peut peut modifier modifier un un ensemble ensemble de de paramtres paramtres


ALTER ALTER TABLESPACE TABLESPACE app_data app_data DEFAULT DEFAULT STORAGE STORAGE ( ( INITIAL INITIAL 2M 2M NEXT NEXT 2M 2M MAXEXTENTS MAXEXTENTS 999 999 ); );

Statut dun tablespace


Tablespace Tablespace "offline" "offline" non non disponible disponible pour pour accder accder aux aux donnes donnes Certains tablespaces doivent tre "online" : Certains tablespaces doivent tre "online" : SYSTEM, SYSTEM, tablespaces tablespaces contenant contenant des des segments segments d'annulation d'annulation actifs. actifs. Pour Pour mettre mettre un un tablespace tablespace "offline" "offline" ::
ALTER ALTER TABLESPACE TABLESPACE app_data app_data OFFLINE; OFFLINE;

Pour Pour mettre mettre un un tablespace tablespace "online" "online" ::


ALTER ALTER TABLESPACE TABLESPACE app_data app_data ONLINE; ONLINE;

Tablespace Tablespace disponible disponible pour pour des des oprations oprations de de lecture lecture (Impossible (Impossible de de supprimer supprimer les les objets objets du du tablespace) tablespace) Pour Pour crer crer un un tablespace tablespace en en lecture lecture seule seule sur sur un un lecteur lecteur non non rinscriptible rinscriptible :: ALTER ALTER TABLESPACEREAD TABLESPACEREAD ONLY; ONLY; Placez Placez le le fichier fichier de de donnes donnes sur sur le le lecteur lecteur non non rinscriptible rinscriptible ALTER TABLESPACERENAME DATAFILE; ALTER TABLESPACERENAME DATAFILE;

Suppression Suppression ::

Manipulation des tablespaces

Tablespace Tablespace supprim supprim du du dictionnaire dictionnaire de de donnes. donnes. Eventuellement, Eventuellement, contenu contenu supprim supprim du du dictionnaire dictionnaire de de donnes. donnes. Fichiers de systme d'exploitation non supprims. Fichiers de systme d'exploitation non supprims. DROP DROP TABLESPACE TABLESPACE app_data app_data INCLUDING INCLUDING CONTENTS CONTENTS AND AND DATAFILES; DATAFILES;

Redimensionner Redimensionner un un tablespace tablespace :: Modification Modification de de la la taille taille d'un d'un fichier fichier de de donnes donnes automatique automatique
ALTER ALTER TABLESPACE TABLESPACE app_data app_data ADD ADDDATAFILE DATAFILE '/DISK3/app_data_04.dbf' '/DISK3/app_data_04.dbf' SIZE SIZE 200M 200M AUTOEXTEND AUTOEXTEND ON ON NEXT NEXT 10M 10M MAXSIZE MAXSIZE 500M; 500M;

Modification Modification Manuellement Manuellement


ALTER ALTER DATABASE DATABASE DATAFILE DATAFILE '/DISK5/app_data_02.dbf' '/DISK5/app_data_02.dbf' RESIZE RESIZE 200M; 200M;

Ajout Ajout dun dun datafile datafile


ALTER ALTER TABLESPACE TABLESPACE app_data app_data ADD ADDDATAFILE DATAFILE '/DISK5/app_data_03.dbf' '/DISK5/app_data_03.dbf' SIZE SIZE 200M; 200M;

Dplacement Dplacement des des datafiles datafiles


ALTER ALTER TABLESPACE TABLESPACE app_data app_data RENAME RENAME DATAFILE DATAFILE '/DISK3/app_data_01.dbf' '/DISK3/app_data_01.dbf' TO TO'/DISK5/app_data_01.dbf'; '/DISK5/app_data_01.dbf';

Types de segment
On On distingue distingue cinq cinq types types de de segments segments :: 1. Les segments de donnes 1. Les segments de donnes
Ils Ils servent servent stocker stocker les les donnes donnes des des tables tables utilisateurs utilisateurs et systme et systme Chaque Chaque table table a a un un et et un un seul seul segment segment qui qui est est cre cre automatiquement automatiquement lors lors de de la la cration cration de de la la table. table.

2. 2. Les Les segments segments dindex dindex


Servent Servent stocker stocker les les donnes donnes dindex. dindex. Ces Ces donnes donnes peuvent peuvent donc donc tre tre stockes stockes dans dans un un tablespace tablespace distinct distinct des des donnes donnes des des tables. tables. Un Un segment segment dindex dindex est est cr cr automatiquement automatiquement lors lors de de la la cration cration de de lindex. lindex. On On peut peut prciser prciser lors lors de de la la cration cration dun dun index, index, le le tablespace tablespace dans dans lequel lequel sera sera cr cr le le segment. segment.

D.BOUZIDI

93

Types de segment
On On distingue distingue cinq cinq types types de de segments segments :: 3. Les segments temporaires 3. Les segments temporaires
Utiliss Utiliss par par Oracle Oracle pour pour le le traitement traitement des des requtes requtes SQL SQL ncessitant ncessitant un un espace espace disque disque temporaire. temporaire. Les Les segments segments temporaires temporaires sont sont crs crs en en cas cas de de besoin besoin et et supprims supprims aprs aprs lexcution lexcution de de la la commande. commande. Le Le tablespace tablespace dans dans lequel lequel sont sont cres cres ces ces segments segments est est dfini dfini lors lors de de la la cration cration et et modification modification dun dun utilisateur. utilisateur. Si Si ce ce tablespace tablespace nest nest pas pas dfini, dfini, alors alors cest cest le le tablespace tablespace SYSTEM SYSTEM qui qui est est utilis utilis par par dfaut. dfaut.

4. 4. Le Le segment segment damorage damorage (BOOTSTRAP) (BOOTSTRAP)


Ce Ce segment segment est est cr cr dans dans le le tablespace tablespace SYSTEM. SYSTEM. Il Il contient contient les les dfinitions dfinitions des des objets objets du du dictionnaire dictionnaire de de donnes donnes qui qui sont sont charges charges lors lors de de louverture louverture de de la la base base

5. 5. Les Les segments segments dannulation dannulation (ROLLBACK) (ROLLBACK)


Ces Ces segments segments (rollback (rollback segments) segments) contiennent contiennent les les donnes donnes avant avant modification modification due due une une transaction. transaction. Ils Ils permettent permettent dannuler dannuler leur leur effet effet en en cas cas de de besoin. besoin.
D.BOUZIDI 94

Notion dextent et de bloc


Notion dextents :
Une Une extent extent est est un un ensemble ensemble contigu contigu de de blocs blocs logiques logiques allous allous un un segment. segment. Tout Tout segment segment est est initialement initialement cr cr avec avec un un extent extent initiale initiale (initial extent). (initial extent). Allocation Allocation lorsque lorsque le le segment segment est est cr, cr, tendu tendu ou ou modifi. modifi. Libration Libration lorsque lorsque le le segment segment est est supprim, supprim, modifi, modifi, tronqu, tronqu,

Notion de bloc :
Unit Unit minimum minimum d'entre/sortie d'entre/sortie Constitu d'un ou Constitu d'un ou de de plusieurs plusieurs blocs blocs de de systme systme d'exploitation d'exploitation Dfini Dfini par par DB_BLOCK_SIZE DB_BLOCK_SIZE Dfini lors Dfini lors de de la la cration cration de de la la base base de de donnes donnes
D.BOUZIDI 95

Contenu d'un bloc de base de donnes

EnEn-tte (@ du bloc, type de segment, segment,) Espace libre : utilis utilis pour linsertion de nouvelles lignes ou mise jours n ncessitant despace sup. Donn Donnes : lorsqu lorsquune ligne ne peut tenir sur un seul bloc elle est stock stocke dans deux ou +iers +iers Blocs (blocs (blocs cha chans)

D.BOUZIDI

96

Paramtres d'utilisation de l'espace de bloc


INITRANS
La gestion gestion de de lespace lespace libre libre dun dun bloc bloc logique logique MAXTRANS La se se fait fait en en fonction fonction des des valeurs valeurs des des paramtres paramtres PCTFREE PCTFREE et et PCTUSED. PCTUSED. PCTFREE PCTFREE fixe fixe le le % % despace despace du du bloc bloc qui qui doit doit tre tre maintenu maintenu constamment constamment libre. libre. Sa Sa valeur valeur par par dfaut dfaut est est 10%. 10%. Quand Quand un un bloc bloc ne ne peut peut tre tre utilis utilis car car la la valeur valeur PCTFREE PCTFREE de de lui lui interdit, interdit, on on ne ne pourra pourra recommencer recommencer le le remplir remplir que que si si lespace lespace occup occup est est en en % % descend descend en en dessous dessous de de la la valeur valeur PCTUSED. PCTUSED. Sa Sa valeur valeur par par dfaut dfaut est est 40%. 40%.

PCTFREE PCTUSED

D.BOUZIDI

97

Utilisation de l'espace de bloc


PCTFREE=20 PCTUSED=40 80 % Insertions 1 Insertions 2

80 % 40 % Insertions 3 Insertions 3

D.BOUZIDI

98

Vues du dictionnaire de donnes


Informations Informations de de tablespace tablespace ::
DBA_TABLESPACES DBA_TABLESPACES V$TABLESPACE V$TABLESPACE DBA_TABLESPACE_USAGE_METRICS DBA_TABLESPACE_USAGE_METRICS

Informations Informations de de fichier fichier de de donnes donnes ::


DBA_DATA_FILES DBA_DATA_FILES DBA_TABLES DBA_TABLES V$DATAFILE V$DATAFILE

Informations Informations de de fichier fichier temporaire temporaire ::


DBA_TEMP_FILES DBA_TEMP_FILES V$TEMPFILE V$TEMPFILE

Informations Informations sur sur les les segments segments ::


DBA_SEGMENTS DBA_SEGMENTS

Informations Informations sur sur les les extents extents ::


DBA_EXTENTS DBA_EXTENTS (Extents (Extents utiliss) utiliss) DBA_FREE_SPACE DBA_FREE_SPACE (Extents (Extents libres) libres)
D.BOUZIDI 99

Administration des utilisateurs

Compte utilisateur
Pour Pour crer crer un un utilisateur, utilisateur, l'administrateur l'administrateur doit doit affecter affecter un un profil, profil, choisir choisir une une technique technique d'authentification d'authentification et et affecter affecter des des tablespaces tablespaces
Un Un nom nom utilisateur utilisateur unique unique ou ou login login (< (< 30 30 caractres, caractres, pas pas de de caractres caractres spciaux spciaux et et doit doit commencer commencer par par une une lettre) lettre) Une Une mthode mthode dauthentification dauthentification :: Autre Autre lauthentification lauthentification par par mot mot de de passe passe ORACLE ORACLE fait fait lauthentification lauthentification par par certificats, certificats, par par biomtrie biomtrie et et par par systme systme tier tier Un Un tablespace tablespace par par dfaut dfaut :: emplacement emplacement par par dfaut dfaut o o l'utilisateur l'utilisateur mettra mettra ses ses objets objets s'il s'il n'indique n'indique pas pas d'autre d'autre tablespace tablespace (il (il faut faut lui lui accorder accorder les les privilges privilges et et les les quotas quotas ncessaires ncessaires pour pour quil quil puisse puisse crer crer des des objets) objets) Un Un tablespace tablespace temporaire temporaire :: emplacement emplacement dans dans lequel lequel l'utilisateur l'utilisateur peut peut crer crer des des objets objets temporaires, temporaires, tels tels que que des des tris tris et et des des tables tables temporaires temporaires Un Un profil profil utilisateur utilisateur :: cest cest lensemble lensemble de de restrictions restrictions de de ressources ressources concernant concernant
lutilisation lutilisation de de la la base base de de donnes donnes et et le le mot mot de de passe passe affect affect l'utilisateur l'utilisateur (longueur, (longueur, priode priode dexpiration, dexpiration, ) )

D.BOUZIDI

101

Le Le contrle contrle de de lutilisation lutilisation de de la la BD BD ::


CPU CPU :: exprim exprim par par session session ou ou par par appel appel

Profil utilisateur

CPU/Session CPU/Session (exprim (exprim en en centimes centimes de de secondes) secondes) :: pour pour une une valeur valeur gale gale 1000, 1000, un un utilisateur, utilisateur, qui qui consomme consomme plus plus de de 10 10 secondes secondes de de temps temps de de CPU, CPU, sera sera dconnect. dconnect. CPU/Call CPU/Call :: au au lieu lieu de de limiter limiter la la session session globale globale dun dun utilisateur, utilisateur, on on empche empche que que la la commande commande qui qui consomme consomme plus plus des des ressources ressources CPU CPU de de lutilisateur lutilisateur

Network/Memory Network/Memory :: une une session session utilisateur utilisateur consomme consomme des des ressources ressources rseau rseau et et mmoire, mmoire, on on peut peut donc donc grer grer ::
Nombre Nombre de de minutes minutes pendant pendant lesquelles lesquelles un un utilisateur utilisateur peut peut tre tre connect connect avant avant d'tre d'tre automatiquement automatiquement dconnect dconnect (Connect (Connect Time). Time). Nombre Nombre de de minutes minutes pendant pendant lesquelles lesquelles une une session session utilisateur utilisateur peut peut rester rester inactive inactive avant avant d'tre d'tre automatiquement automatiquement dconnecte dconnecte (Idle (Idle Time). Time). Nombre Nombre de de sessions sessions simultanes simultanes pouvant pouvant tre tre cres cres l'aide l'aide d'un d'un compte compte utilisateur utilisateur de de base base de de donnes. donnes. Private SGA : limite la quantit Private SGA : limite la quantit d'espace d'espace consomm consomm dans dans la la mmoire mmoire pour pour le le tri, tri, cration cration dindex, dindex, etc. etc.

Disk Disk I/O I/O :: limite limite la la quantit quantit de de donnes donnes qu'un qu'un utilisateur utilisateur peut peut lire, lire, par par session session ou ou par par appel. appel.
D.BOUZIDI 102

Contrle Contrle de de lauthentification lauthentification ::

Profil utilisateur

Lauthentification Lauthentification permet permet de de vrifier vrifier lidentit lidentit dune dune entit entit qui qui souhaite souhaite utiliser utiliser les les ressources ressources de de la la base base de de donnes donnes ::
Ce Ce mcanisme mcanisme permet permet dtablir dtablir une une relation relation de de confiance confiance pour pour les les interactions interactions ultrieures. ultrieures. La La responsabilit responsabilit :: permettant permettant de de lier lier laccs laccs et et des des actions actions des des entits entits spcifiques. spcifiques.

Trois Trois technique technique dauthentification: dauthentification:


Password Password (Authentification (Authentification par par la la base base de de donnes) donnes) :: cre cre chaque chaque utilisateur utilisateur avec avec un un mot mot de de passe passe associ associ qui qui doit doit tre tre fourni fourni lorsde lorsde la la connexion connexion (ex: (ex: CREATE CREATE USER USER scott scott IDENTIFIED IDENTIFIED by by tiger;) tiger;) External External (Authentification (Authentification par par le le systme systme dexploitation) dexploitation) :: ce ce mode mode lauthentification lauthentification repose repose sur sur celle celle dfinie dfinie par par lOS. lOS. Aucun Aucun mot mot de de passe passe de de base base de de donnes donnes n'est n'est utilis utilis pour pour ce ce type type de de connexion. connexion. (ex: (ex: CREATE CREATE USER USER OPS$NomUser OPS$NomUser IDENTIFIED IDENTIFIED EXTERNALLY; EXTERNALLY; Global (Authentification globale) Global (Authentification globale) :: permet permet de de renforcer renforcer lauthentification lauthentification via via dautre dautre systmes systmes comme comme l'identification l'identification des des utilisateurs utilisateurs via via la la biomtrie, biomtrie, les les certificats certificats x509, x509, les les systmes systmes tiers tiers et et Oracle Oracle Internet Internet Directory. Directory. Avantage Avantage fait fait une une seul seul authentification authentification Lorsqu'un Lorsqu'un utilisateur utilisateur est est cr, cr, son son statut statut peut peut tre tre verrouill verrouill ou ou dverrouill. dverrouill. Si Si un un compte compte utilisateur utilisateur verrouill, verrouill, ne ne peut peut tre tre utilis utilis pour pour se se connecter connecter la la base base de de donnes. donnes. 103 D.BOUZIDI Les Les comptes comptes des des nouveaux nouveaux utilisateurs utilisateurs sont sont verrouills verrouills par par dfaut dfaut

))

Tablespace Tablespace ::

Tablespaces et de schmas

Un Un tablespace tablespace par par dfaut dfaut est est le le tablespace tablespace dans dans lequel lequel les les objets objets sont sont crs crs si si aucun aucun tablespace tablespace n'est n'est dsign dsign lors lors de de la la cration cration de de l'objet l'objet
Si Si on on a a pas pas choisi choisi de de tablespace tablespace par par dfaut, dfaut, le le tablespace tablespace permanent permanent par par dfaut dfaut dfini dfini par par le le systme systme est est utilis utilis Si Si on on na na pas pas indiqu indiqu de de tablespace tablespace temporaire, temporaire, celui celui dfini dfini par par le le systme systme est est utilis utilis CREATE CREATE USER USER user01 user01 identified identified by by PWDuser01 PWDuser01 DEFAULT DEFAULT TABLESPACE TABLESPACE tbs_users tbs_users TEMPORARY TEMPORARY TABLESPACE TABLESPACE tmp_users; tmp_users;

Schma Schma ::
L'ensemble L'ensemble des des objets objets appartenant appartenant un un utilisateur utilisateur est est appel appel schma schma (Tables, (Tables, Dclencheurs, Dclencheurs, Index, Index, Vues, Vues, Squences, Squences, Types Types de de donnes donnes dfinis dfinis par par l'utilisateur, l'utilisateur, ) ) Lors Lors de de la la cration cration d'un d'un utilisateur utilisateur de de base base de de donnes, donnes, un un schma schma correspondant correspondant portant portant le le mme mme nom nom est est cr cr pour pour cet cet utilisateur utilisateur Les Les objets objets du du mme mme schma schma peuvent peuvent rsider rsider dans dans diffrents diffrents tablespaces tablespaces et et un un tablespace tablespace peut peut contenir contenir des des objets objets de de diffrents diffrents schmas schmas Un Un utilisateur utilisateur ne ne peut peut tre tre associ associ qu' qu' un un seul seul schma, schma, le le nom nom utilisateur utilisateur et et le le schma schma sont sont souvent souvent utiliss utiliss de de manire manire interchangeable. interchangeable. Pour Pour accder accder aux aux objets objets de de lutilisateur lutilisateur user01 user01 (si (si on on a a le le droit) droit) on on prcede prcede le le nom nom de de lobjet lobjet par par le le nom nom de de lutilisateur lutilisateur (equi (equi au au nom nom du du schma) schma) Select Select * * from from user01.nomTable; user01.nomTable; D.BOUZIDI 104

Privilges
Par Par dfaut, dfaut, lorsqu'un lorsqu'un utilisateur utilisateur est est cr, cr, aucun aucun privilge privilge ne ne lui lui est est accord, accord, il il ne ne peut peut effectuer effectuer aucune aucune opration opration dans dans la la base base de de donnes. donnes. Si Si l'utilisateur l'utilisateur ne ne dispose dispose d'aucun d'aucun quota quota dans dans aucun aucun tablespace, tablespace, il il ne ne pourra pourra pas pas crer crer d'objets. d'objets. Deux Deux types types de de privilge privilge ::
Systme Systme ::
Accord Accord par par l'administrateur l'administrateur ou ou par par quelqu'un quelqu'un qui qui la la permission permission d'administrer d'administrer le le privilge privilge a a t t accord, accord, Permet Permet aux aux utilisateurs utilisateurs d'effectuer d'effectuer des des actions actions particulires particulires dans dans la la base base de de donnes donnes (par (par exemple exemple crer crer des des Tablespaces). Tablespaces).

Objet Objet ::
permet permet aux aux utilisateurs utilisateurs d'accder d'accder un un objet objet spcifique spcifique et et de de le le manipuler manipuler (table, (table, sequence, sequence, ) ) Sans Sans permission permission spcifique, spcifique, les les utilisateurs utilisateurs ne ne peuvent peuvent accder accder qu' qu' leurs leurs propres propres objets. objets. Les Les privilges privilges objet objet peuvent peuvent tre tre accords accords par par le le propritaire propritaire d'un d'un objet, objet, l'administrateur l'administrateur qui qui la la permission permission d'accorder d'accorder des des privilges privilges sur sur l'objet l'objet a a t t 105 accorde accorde explicitement. explicitement.

D.BOUZIDI

Privilges
DROP DROP ANY ANY object object :: le le privilge privilge DROP DROP ANY ANY autorise autorise l'utilisateur l'utilisateur supprimer supprimer des des objets objets qui qui ne ne lui lui appartiennent appartiennent pas pas CREATE, CREATE, MANAGE, MANAGE, DROP, DROP, ALTER ALTER TABLESPACE TABLESPACE :: les les utilisateurs utilisateurs qui qui ne ne sont sont pas pas administrateurs administrateurs ne ne doivent doivent gnralement gnralement pas pas pouvoir pouvoir contrler contrler les les tablespaces. tablespaces. GRANT GRANT ANY ANY OBJECT OBJECT PRIVILEGE PRIVILEGE :: ce ce privilge privilge autorise autorise les les utilisateurs utilisateurs accorder accorder des des permissions permissions sur sur des des objets objets qui qui ne ne leur appartiennent pas. leur appartiennent pas. ALTER ALTER DATABASE DATABASE et et ALTER ALTER SYSTEM SYSTEM :: les les utilisateurs utilisateurs qui qui ne ne sont pas administrateurs ne doivent gnralement pas tre sont pas administrateurs ne doivent gnralement pas tre autoriss autoriss modifier modifier la la base base de de donnes donnes ou ou l'instance. l'instance.

D.BOUZIDI

106

Exemples de privilges
Privilges Privilges systme systme
Catgorie
INDEX

Exemples
CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE

Privilges Privilges Objet Objet


OBJET
Table

TABLE

Privilges
ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE ALTER, SELECT DELETE, INSERT, SELECT, UPDATE EXECUTE

Squence vue Procdure

SESSION

TABLESPACE

D.BOUZIDI

107

Affectation de quotas
Un Un quota quota est est une une allocation allocation d'espace d'espace dans dans un un tablespace tablespace donn. donn. Par Par dfaut, dfaut, un un utilisateur utilisateur ne ne dispose dispose d'aucun d'aucun quota quota sur sur aucun aucun des des tablespaces. tablespaces. Trois Trois options options pour pour affecter affecter un un quota quota utilisateur utilisateur
Unlimited Unlimited :: permet permet l'utilisateur l'utilisateur d'employer d'employer tout tout l'espace l'espace disponible disponible dans dans le le tablespace. tablespace. Valeur Valeur :: indique indique l'espace l'espace pouvant pouvant tre tre employ employ par par l'utilisateur. l'utilisateur. Cette Cette valeur valeur ne ne garantit garantit cependant cependant pas pas que que l'espace l'espace est est rserv rserv pour pour l'utilisateur. l'utilisateur. Elle Elle peut peut tre tre suprieure suprieure ou ou infrieure infrieure l'espace l'espace actuellement actuellement disponible disponible dans dans le le tablespace. tablespace. Privilge Privilge systme systme UNLIMITED UNLIMITED TABLESPACE TABLESPACE :: remplace remplace tous tous les les quotas quotas individuels individuels sur sur les les tablespaces tablespaces et et accorde accorde l'utilisateur l'utilisateur un un quota quota illimit illimit sur sur tous tous les les tablespaces tablespaces
ALTER ALTER USER USER user01 user01 QUOTA QUOTA 10M 10M ON ON AppData; AppData;

D.BOUZIDI

108

Manipulation des comptes user


Cration Cration dun dun utilisateur: utilisateur:
CREATE CREATE USER USER user01 user01 IDENTIFIED IDENTIFIED BY BY PwdUser01 PwdUser01 DEFAULT DEFAULT TABLESPACE TABLESPACE AppData AppData TEMPORARY TEMPORARY TABLESPACE TABLESPACE temp temp QUOTA QUOTA 15M 15M ON ON dAppDta dAppDta

Modification Modification des des paramtres paramtres utilisateur utilisateur ::


ALTER ALTER USER USER user01 user01 QUOTA QUOTA 50M 50M ON ON AppData; AppData;

PASSWORD PASSWORD EXPIRE; EXPIRE;

Suppression Suppression dun dun utilisateur utilisateur ::


DROP DROP USER USER peter; peter; DROP DROP USER USER peter peter CASCADE; CASCADE;

Option Option cascade cascade :: Si Si le le schma schma contient contient des des tables, tables, Oracle Oracle effacera effacera alors alors toute toute les les contraintes contraintes d'intgrits d'intgrits des des tables tables et et toutes toutes les les contraintes contraintes d'intgrits d'intgrits dans dans les les schmas schmas d'autres d'autres utilisateurs utilisateurs qui qui faisaient faisaient rfrences rfrences aux aux contraintes contraintes UNIQUE UNIQUE et et PRIMARY PRIMARY KEY KEY du du schma schma qui qui est est en en cours cours de de suppression suppression Les Les vues vues principales principales permettant permettant de de surveiller surveiller des des utilisateurs utilisateurs
dba_users dba_users et et dba_TS_Quotas dba_TS_Quotas
D.BOUZIDI 109

Les Rles
Problmes Problmes ::
Il Il est est trop trop fastidieux fastidieux d'accorder d'accorder de de manire manire individuelle individuelle les les privilges privilges ncessaires ncessaires chaque chaque utilisateur utilisateur le le risque risque d'erreur d'erreur est est trop trop important. important.

Solution Solution :: utilisation utilisation des des rles rles


Un Un rle rle est est un un ensemble ensemble de de privilges privilges pouvant pouvant tre tre accords accords des des utilisateurs utilisateurs ou ou d'autres d'autres rles. rles. Un Un Rle Rle est est utilis utilis pour pour administrer administrer les les privilges privilges de de base base de de donnes donnes On On peut peut ajouter ajouter des des privilges privilges un un rle, rle, puis puis accorder accorder le le rle rle un un utilisateur, utilisateur, L'utilisateur L'utilisateur peut peut alors alors activer activer le le rle rle et et exercer exercer les les privilges privilges octroys octroys par par ce ce rle rle

D.BOUZIDI

110

Les caractristiques des rles


Les Les privilges privilges sont sont accords accords aux aux rles rles (et (et rvoqus) rvoqus) comme comme si si le le rle rle tait tait un un utilisateur. utilisateur. Les Les rles rles peuvent peuvent tre tre accords accords aux aux utilisateurs utilisateurs ou ou d'autres d'autres rles rles (et (et rvoqus) rvoqus) comme comme s'il s'il s'agissait s'agissait de de privilges privilges Un Un rle rle peut peut tre tre constitu constitu de de privilges privilges systme systme et et objet. objet. Un Un rle rle peut peut tre tre activ activ ou ou dsactiv dsactiv pour pour chaque chaque utilisateur utilisateur auquel auquel le le rle rle est est accord. accord. L'activation L'activation d'un d'un rle rle peut peut ncessiter ncessiter un un mot mot de de passe. passe. Les Les rles rles n'appartiennent n'appartiennent personne personne et et ne ne rsident rsident dans dans aucun aucun schma. schma. Exemple Exemple ::
les les privilges privilges SELECT SELECT et et UPDATE UPDATE sont sont accords accords au au rle rle HR_CLERK HR_CLERK sur sur la la table table EMP EMP Les Les privilges privilges DELETE DELETE et et INSERT INSERT sur sur la la table table EMP, EMP, ainsi ainsi que que le le rle rle HR_CLERK, HR_CLERK, sont sont accords accords au au rle rle HR_MGR HR_MGR Le Le rle rle HR_MGR HR_MGR est est accord accord au au manager, manager, lequel lequel peut peut prsent prsent effectuer effectuer des des SELECT, SELECT, des des UPDATE UPDATE ,, des des DELETE DELETE et et des des INSERT INSERT sur sur la la table table EMP. EMP.

D.BOUZIDI

111

Exemple de rles Prdfinis


ROLE CONNECT Privilges associs CREATE SESSION, CREATE TABLE, CREATE VIEW, CREATE SYNONYM, CREATE SEQUENCE, CREATE DATABASE LINK, CREATE CLUSTER, ALTER SESSION CREATE TABLE, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TRIGGER, CREATE TYPE, CREATE CLUSTER, CREATE INDEXTYPE, CREATE OPERATOR La plupart des privilges systme et plusieurs autres rles. Ce rle ne doit pas tre accord aux utilisateurs qui ne sont pas administrateurs.

RESOURCE

DBA

Les Les vues vues permettant permettant de de surveiller surveiller des des utilisateurs utilisateurs
DBA_SYS_PRIVS DBA_SYS_PRIVS //privilges //privilges systmes systmes DBA_TAB_PRIVS DBA_TAB_PRIVS //privilges //privilges objets objets Dba_TS_Quotas Dba_TS_Quotas //quotas //quotas sur sur un un tablespace tablespace
D.BOUZIDI 112

Gestion des rles

Rles
Utilisateurs

Rles

HR_MGR

HR_CLERK

Privil Privilges

SELECT ON EMP CREATE SESSION

INSERT ON EMP UPDATE ON EMP

CREATE TABLE

D.BOUZIDI

Avantages des rles


Limitation Limitation de de l'octroi l'octroi de de privilges privilges Gestion Gestion dynamique dynamique des des privilges privilges Disponibilit Disponibilit slective slective des des privilges privilges Pas Pas de de rvocation rvocation en en cascade cascade Amlioration Amlioration des des performances performances

D.BOUZIDI

Crer des rles


Crer Crer un un rle rle
CREATE CREATE ROLE ROLE sales_clerk; sales_clerk;

Crer Crer un un rle rle protg protg par par un un mot mot de de passe passe
CREATE CREATE ROLE ROLE hr_clerk hr_clerk IDENTIFIED IDENTIFIED BY BY bonus; bonus;

Crer Crer un un rle rle dont dont lauthentification lauthentification est est gre gre par par une une application application externe externe
CREATE CREATE ROLE ROLE hr_manager hr_manager IDENTIFIED IDENTIFIED EXTERNALLY; EXTERNALLY;

D.BOUZIDI

Utiliser des rles prdfinis


Nom du rle
CONNECT

Description
Permet l'ouverture et la modification d'une session, la cration de tables, vues, clusters, squences, synonymes et liens de DB SESSION Permet de crer des types, tables clusters, oprateurs, squences, index et procdures Tous les privilges systme avec l'option WITH ADMIN OPTION Privilges d'export de base de donnes. Privilges d'import de base de donnes

RESOURCE

DBA EXP_FULL_DATABASE IMP_FULL_DATABASE

D.BOUZIDI

Manipulation des rles


Modifier Modifier un un rle rle
ALTER ALTER ROLE ROLE sales_clerk sales_clerk IDENTIFIED IDENTIFIED BY BY commission; commission; ALTER ALTER ROLE ROLE hr_clerk hr_clerk IDENTIFIED IDENTIFIED EXTERNALLY; EXTERNALLY; ALTER ALTER ROLE ROLE hr_manager hr_manager NOT NOT IDENTIFIED; IDENTIFIED;

Attribuer Attribuer un un rle rle


GRANT GRANT sales_clerk sales_clerk TO TO scott; scott; GRANT GRANT hr_clerk, hr_clerk, TO TO hr_manager; hr_manager; GRANT GRANT hr_manager hr_manager TO TO scott scott WITH WITH ADMIN ADMIN OPTION; OPTION;

D.BOUZIDI

Dfinir des rles par dfaut


Dfinir Dfinir des des rles rles par par dfaut dfaut
ALTER ALTER USER USER scott scott DEFAULT DEFAULT ROLE ROLE hr_clerk, hr_clerk, sales_clerk; sales_clerk; ALTER ALTER USER USER scott scott DEFAULT DEFAULT ROLE ROLE ALL; ALL; ALTER ALTER USER USER scott scott DEFAULT DEFAULT ROLE ROLE ALL ALL EXCEPT EXCEPT hr_clerk; hr_clerk; ALTER ALTER USER USER scott scott DEFAULT DEFAULT ROLE ROLE NONE; NONE;

Supprimer Supprimer des des rles rles


REVOKE REVOKE sales_clerk sales_clerk FROM FROM scott; scott;

REVOKE REVOKE hr_manager hr_manager FROM FROM PUBLIC; PUBLIC; DROP DROP ROLE ROLE hr_manager; hr_manager;

D.BOUZIDI

Activer et dsactiver les rles


Dsactivez Dsactivez un un rle rle pour pour le le rvoquer rvoquer temporairement temporairement un un utilisateur. utilisateur. Activez Activez un un rle rle pour pour l'accorder l'accorder temporairement. temporairement. La La commande commande SET SET ROLE ROLE permet permet d'activer d'activer et et de de dsactiver dsactiver les les rles. rles. Les Les rles rles par par dfaut dfaut sont sont accords accords aux aux utilisateurs utilisateurs lors lors de de la la connexion. connexion. Un Un mot mot de de passe passe peut peut tre tre ncessaire ncessaire pour pour activer activer un un rle. rle.

D.BOUZIDI

Instructions relatives la cration de rles


Utilisateurs Rles utilisateur Rles application

HR_CLERK

HR_MANAGER

PAY_CLERK

BENEFITS

PAYROLL

Privil Privilges d'application Privilges Benefits Privilges Payroll

D.BOUZIDI

Utilisation des rles protgs par mot de passe et des rles par dfaut

Prot Protg par mot de passe (ne correspond pas un rle par d dfaut)

Rle par dfaut

PAY_CLERK

PAY_CLERK_RO

Privil Privilges INSERT, UPDATE, DELETE et SELECT


D.BOUZIDI

Privil Privilges SELECT

Afficher les informations sur les rles


Vue du rle
DBA_ROLES DBA_ROLE_PRIVS ROLE_ROLE_PRIVS DBA_SYS_PRIVS ROLE_SYS_PRIVS ROLE_TAB_PRIVS SESSION_ROLES

Description
Tous les rles existants dans la base de donnes Rles accords aux utilisateurs et aux rles Rles accords aux rles Privilges systme accords aux utilisateurs et aux rles Privilges systme accords aux rles Privilges de table accords aux rles Rles d'un utilisateur actuellement activs

D.BOUZIDI

Sauvegarde et restauration

IMPORT et EXPORT
Permet Permet de de sauvegarder/restaurer sauvegarder/restaurer le le contenu contenu logique d'une base de donnes dans logique d'une base de donnes dans un un fichier fichier de de transfert transfert Oracle Oracle au au format format binaire binaire Le Le fichier fichier export export permet permet de de recrer recrer des des objets objets qu'il qu'il contient contient (portabilit (portabilit OS OS et et logiciel) logiciel) A A ne ne pas pas utiliser utiliser distance distance :: augmente augmente le le trafic trafic du du rseau rseau La La version version de de l'utilitaire l'utilitaire Import Import ne ne peut peut tre tre antrieure antrieure celle celle de de l'utilitaire l'utilitaire Export Export

D.BOUZIDI

Mode dImport et dExport


Base Base de de donnes donnes complte complte (option (option FULL): FULL):
Tous Tous les les objets objets de de la la base base sont sont exports exports l'exception l'exception de de certains certains utilisateurs utilisateurs :: SYS, SYS, ORDSYS, ORDSYS, CTXSYS, CTXSYS, MDSYS MDSYS et et ORDPLUGINS ORDPLUGINS Lors Lors de de L'importation L'importation tous tous les les objets objets exports exports sont sont crs crs dans dans la la base base de de destination destination

Utilisateur Utilisateur
Que Que les les objets objets appartenant appartenant un un utilisateur utilisateur qui qui sont sont exports exports (OWNER) (OWNER) On On peut peut impoter, impoter, du du fichier fichier export, export, les les objets objets dun dun utilisateur utilisateur donn donn dans dans le le schma schma dun dun utilisateur utilisateur (FROMUSER (FROMUSER / / TOUSER) TOUSER) Le fichier export Le fichier export permet permet de de recrer recrer des des objets objets qu'il qu'il contient (portabilit OS et logiciel) contient (portabilit OS et logiciel)

D.BOUZIDI

Mode dImport et dExport


Table Table (option (option TABLES) TABLES)
Lors Lors de de l'exportation l'exportation dune dune table table tous tous ses ses objets objets (index, (index, contraintes, contraintes, dclencheurs, dclencheurs, privilges privilges ) ) sont sont sauvegards sauvegards dans dans le le fichier dexport fichier dexport Lors Lors de de L'importation L'importation les les tables tables doivent doivent tre tre nommes grce au paramtre TABLES nommes grce au paramtre TABLES (comme (comme dans dans lexportation) lexportation)

Tablespace Tablespace (TABLESPACE) (TABLESPACE)


les les mtas mtas donns donns concernant concernant les les tablespaces tablespaces spcifis spcifis et et les les objets objets qu'ils qu'ils contiennent contiennent sont sont crites crites dans dans un un fichier fichier dexport dexport

D.BOUZIDI

Mode dImport et dExport


Privilges Privilges
Actions
Exporter son propre schma Exporter d'autres schmas Exporter la base entire ou tablespaces Importer un objet du fichier

Privilge ou rle
CREATE SESSION SYSDBA, DBA et EXP_FULL_DATABASE EXP_FULL_DATABASE IMP_FULL_DATABASE

D.BOUZIDI

Paramtres de lExport
Paramtres Userid File Log Full Grants Indexes Owner Parfile Rows Query Tables Statistics Description chane de connexion la base de donnes Nom du fichier de sauvegarde Nom du fichier de sortie du compte-rendu, pour voir les erreurs en particulier Export de toute la base Export des privilges Export des index Utilisateur(s) exporter Fichier contenant les paramtres d'export Export des lignes Dfinit une condition de filtre pour exporter un sousensemble Table(s) exporter Analyse des objets exports

D.BOUZIDI

Paramtres dimport
Paramtres Userid File Log Fromuser Full Grants Indexes Parfile Rows Show Destroy Tables Analyze Touser
D.BOUZIDI

Description chane de connexion la base de donnes Nom du fichier de sauvegarde Nom du fichier de sortie du compte-rendu, pour voir les erreurs en particulier Utilisateur exporter vers TOUSER Export de tout le contenu du fichier de sauvegarde Import des privilges Import des index Fichier contenant les paramtres dimport Import des lignes Liste le contenu du fichier d'export, aucune opration n'est effectue dans la base Dtruit les objets s'ils existent avant de les importer Table(s) exporter Excute la commande ANALYZE dans le fichier de sauvegarde Utilisateur destinataire

Exemple dexport
Exporter Exporter les les structures structures de de la la base base donnes donnes
exp exp userid=system/manager userid=system/manager file=c:\save\exp_ORCL_struct_full.dump file=c:\save\exp_ORCL_struct_full.dump log=c:\saveLog\exp_ORCL_struct_full.log log=c:\saveLog\exp_ORCL_struct_full.log full=y full=y rows=n rows=n

Exporter Exporter dun dun schma schma


exp exp userid=system/manager userid=system/manager file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\logsave\exp_scott_full.log log=c:\logsave\exp_scott_full.log owner=scott owner=scott

Exporter Exporter dune dune table table


exp exp userid=system/manager userid=system/manager file=c:\save\exp_emp_scott.dump file=c:\save\exp_emp_scott.dump log=c:\logsave\exp_emp_scott.log log=c:\logsave\exp_emp_scott.log tables=scott.emp tables=scott.emp

Exporter Exporter dune dune tablespace tablespace


exp exp userid=system/manager userid=system/manager file=c:\save\exp_nomTablespace.dump file=c:\save\exp_nomTablespace.dump log=c:\logsave\exp_nomTablespace.log log=c:\logsave\exp_nomTablespace.log tablespace=nomTablespace tablespace=nomTablespace

Exporter Exporter selon selon une une condition condition


exp exp system/manager system/manager file=\save\exp_ORCL_query1.dmp file=\save\exp_ORCL_query1.dmp tables=scott.emp tables=scott.emp query="'where query="'where salaire salaire > > 500'" 500'" D.BOUZIDI

Exemple dimport
Importer Importer tous tous les les schma schma sauvegards sauvegards
imp imp userid=stystem/manager userid=stystem/manager file=c:\save\exp_ORCL_struct_full.dump file=c:\save\exp_ORCL_struct_full.dump log=c:\logsave\imp_ORCL_struct_full.log log=c:\logsave\imp_ORCL_struct_full.log

Importer Importer un un schma schma dun dun fichier fichier export export contenant contenant tt tt la la BD BD
imp imp userid=scott/tiger userid=scott/tiger file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\logsave\imp_scott_full.log log=c:\logsave\imp_scott_full.log owner=scott owner=scott

Importer Importer un un schma schma vers vers un un autre autre


imp imp userid=scott/tiger userid=scott/tiger file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\logsave\imp_scott_full.log log=c:\logsave\imp_scott_full.log fromuser=scott fromuser=scott touser=user01 touser=user01

Importer Importer une une table table dun dun schma schma vers vers un un autre autre
imp imp userid=system/manager userid=system/manager file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\logsave\imp_scott_full.log log=c:\logsave\imp_scott_full.log fromuser=scott fromuser=scott Tables=emp Tables=emp touser=user02 touser=user02 D.BOUZIDI

Exemple Exemple dexport dexport /import /import utilisant utilisant un un fichier fichier de de paramtres paramtres
Cration Cration du du fichier fichier de de paramtres paramtres dexport dexport
userid=system/manager userid=system/manager file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\exp_scott_full.log log=c:\exp_scott_full.log owner=scott owner=scott rows=y rows=y expScott.prm expScott.prm

Export Export un un schma schma


exp exp parfile=c:\fichierParametre\expScott.prm parfile=c:\fichierParametre\expScott.prm

Cration Cration du du fichier fichier de de paramtres paramtres dimport dimport


userid=system/manager userid=system/manager file=c:\save\exp_scott_full.dump file=c:\save\exp_scott_full.dump log=c:\imp_scott_full.log log=c:\imp_scott_full.log owner=scott owner=scott rows=y rows=y impScott.prm impScott.prm

Export Export un un schma schma


imp imp parfile=c:\fichierParametre\impScott.prm parfile=c:\fichierParametre\impScott.prm D.BOUZIDI

Sauvegarde Sauvegarde Froid Froid


Permet Permet de de faire faire une une sauvegarde sauvegarde dune dune Base Base de de donnes en arrt donnes en arrt Les Les fichiers fichiers (datafiles, (datafiles, logfiles, logfiles, controlfile, controlfile, etc) etc) peuvent tre sauvegards sans corruption peuvent tre sauvegards sans corruption Fortement Fortement utilise utilise en en mode mode noArchivelog noArchivelog Inconvnients Inconvnients :: nest nest valable valable pour pour des des environnements environnements haute haute disponibilit disponibilit o o lactivit lactivit ne ne peut peut tre tre interrompue interrompue

D.BOUZIDI

Sauvegarde Sauvegarde Froid Froid Les Les tapes tapes de de sauvegarde sauvegarde
Lister Lister les les noms noms sauvegarder sauvegarder
Fichiers Fichiers de de donnes donnes
Select Select * * from from dba_datafiles; dba_datafiles;

Fichiers Fichiers de de contrles contrles


Select control_files ; Select * * from from v$parameter v$parameter where where name name like like control_files ;

Les Les fichiers fichiers log log


Select Select * * from from v$logfile; v$logfile;

Arrter Arrter de de la la base base de de donnes donnes en en mode mode immediate immediate
Shutdown Shutdown immediate immediate

Effectuer sauvegarder par par Effectuer une une copie copie des des fichiers fichiers sauvegarder une une commande commande OS OS Redmarrer Redmarrer la la base base de de donnes donnes
D.BOUZIDI

Sauvegarde Sauvegarde Chaud Chaud


Permet Permet de de faire faire une une sauvegarde sauvegarde dune dune Base Base de de donnes sans la faire arrter donnes sans la faire arrter Utile Utile dans dans un un contexte contexte haute haute disponibilit disponibilit o o ltat des fichiers change constamment ltat des fichiers change constamment Fonctionnement Fonctionnement :: Placer Placer un un tablespace tablespace dans dans le le mode de sauvegarde et de sauvegarder les mode de sauvegarde et de sauvegarder les fichiers fichiers de de donnes, donnes, puis puis de de rtablir rtablir le le tablespace dans le mode normal tablespace dans le mode normal La La base base de de donnes donnes doit doit tre tre en en mode mode Archivelog Archivelog

D.BOUZIDI

Sauvegarde Sauvegarde Chaud Chaud Stratgie Stratgie de de sauvegarde: sauvegarde:


Sauvegarde Sauvegarde complte complte de de la la base base de de donnes donnes des intervalles rguliers des intervalles rguliers Sauvegarde Sauvegarde partielle partielle de de la la base base de de donnes donnes Archivage Archivage des des fichiers fichiers de de journalisation journalisation (log) (log) Sauvegarde Sauvegarde du du fichier fichier de de contrle contrle en en cas cas de de modification modification dans dans la la base base de de donnes donnes

D.BOUZIDI

Sauvegarde Sauvegarde Chaud Chaud Sauvegarde Sauvegarde dun dun tablespace tablespace mis mis en en offline offline
Identifier Identifier les les fichiers fichiers du du tablesapce tablesapce sauvegarder sauvegarder
Select Select file_name file_name from from dba_datafiles dba_datafiles where where tablespace_name= NOMTABLESPACE tablespace_name= NOMTABLESPACE

Mettre Mettre le le tablespace tablespace en en mode mode offline offline


Alter Alter tablespace tablespace NomTablespace NomTablespace offline offline normal normal

Effectuer Effectuer une une copie copie des des fichiers fichiers sauvegarder sauvegarder par une commande OS par une commande OS Remettre Remettre le le tablespace tablespace en en mode mode on on online online
Alter Alter tablespace tablespace NomTablespace NomTablespace online online
D.BOUZIDI

Procdure Procdure de de rcupration rcupration


Fichier de journalisation Fichier de archiv journalisation Fichier de archiv journalisation en ligne

Modifications appliques

Informations d'annulation appliques

Fichiers de donnes restaurs

Fichiers de donnes contenant des transactions valides et non valides

Fichiers de donnes rcuprs

1
D.BOUZIDI

Procdures Procdures de de rcupration rcupration gres gres par par l'utilisateur l'utilisateur : : commande commande RECOVER RECOVER
Restaurer tous les fichiers de base de donnes partir d'une sauvegarde et rcuprer la base de donnes :
SQL> RECOVER DATABASE

Restaurer les fichiers de donnes endommags partir d'une sauvegarde et rcuprer les fichiers de donnes :
SQL> RECOVER TABLESPACE index_tbs

Ou
SQL> RECOVER DATAFILE '/oradata/indx01.dbf'

D.BOUZIDI

Crer Crer un un nouveau nouveau fichier fichier de de contrle contrle

Fichier de paramtres

SYSTEM

USERS

Fichier de Fichier de journalisation journalisation 1A 1B Fichier de Fichier de journalisation journalisation 2A 2B

SYSAUX

INDEX

Fichier de mots de passe


UNDO TEMP

Fichiers de contrle

SQL> ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

D.BOUZIDI

141

Situations Situations ncessitant ncessitant une une rcupration rcupration incomplte incomplte

La rcupration complte choue parce qu'un fichier de journalisation archiv est manquant. Un ou plusieurs fichiers de journalisation non archivs et un fichier de donnes sont manquants. Une sauvegarde du fichier de contrle est utilise pour ouvrir ou rcuprer la base de donnes.

D.BOUZIDI

Mthodes Mthodes recommandes recommandes pour pour la la rcupration rcupration incomplte incomplte

Suivez soigneusement toutes les tapes. Effectuez des sauvegardes totales de la base de donnes avant et aprs la rcupration. Vrifiez toujours que la rcupration a russi. Sauvegardez et supprimez les fichiers de journalisation archivs.

D.BOUZIDI

Procdure Procdure de de rcupration rcupration UNTIL UNTIL TIME TIME


1. 2. 3. 4. 5. Arrtez la base de donnes. Restaurez les fichiers de donnes. Montez la base de donnes. Rcuprez la base de donnes. Ouvrez la base de donnes avec l'option RESETLOGS. 6. Sauvegardez la base de donnes.
SQL> $ cp SQL> SQL> SQL> SQL> $ cp shutdown immediate /BACKUP/* /u01/db01/ORADATA startup mount recover database until time '2004-05-28:11:44:00'; alter database open resetlogs; shutdown; /u01/db01/ORADATA/* /BACKUP
144

D.BOUZIDI

Вам также может понравиться