Академический Документы
Профессиональный Документы
Культура Документы
Pr BOUZIDI
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
D.BOUZIDI
D.BOUZIDI
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 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
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
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
D.BOUZIDI
15
D.BOUZIDI
17
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
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
20
D.BOUZIDI
23
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
D.BOUZIDI
26
D.BOUZIDI
27
D.BOUZIDI
28
D.BOUZIDI
29
D.BOUZIDI
30
D.BOUZIDI
31
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
D.BOUZIDI
34
D.BOUZIDI
35
Fin de linstallation
D.BOUZIDI
36
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
$ isqlplusctl stop iSQL*Plus 10.1.0.2.0 Copyright (c) 2004 Oracle. Stopping iSQL*Plus ... iSQL*Plus stopped.
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
$ 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
D.BOUZIDI
42
D.BOUZIDI
43
D.BOUZIDI
44
MOUNT
NOMOUNT
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
1 2 3 4 5
Vrification de soldes Ajout de nouveaux fonds Retrait de fonds de l'ancien compte Validation Dconnexion
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
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;
D.BOUZIDI
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
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
54
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
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
MOUNT
NOMOUNT
ARRET
D.BOUZIDI
58
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
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';
D.BOUZIDI
60
D.BOUZIDI
61
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
D.BOUZIDI
64
Unit
control01.ctl
Unit 2 Unit 3
control02.ctl control03.ctl
D.BOUZIDI
65
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
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
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
Instance
Mmoire SGA Zone de mmoire partage
LGW ARC
Fichiers de donnes
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
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
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
ALTER ALTER DATABASE DATABASE ADD ADD LOGFILE('/DISK1/Redo30.log','/DISK2/Redo31.log') LOGFILE('/DISK1/Redo30.log','/DISK2/Redo31.log') size size 1M; 1M;
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
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';
D.BOUZIDI
76
Fichier de contrle
D.BOUZIDI
77
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;
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);
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';
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
Logique
Segment
Extent
Bloc Oracle
Bloc OS
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
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
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 ::
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;
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.
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.
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
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
PCTFREE PCTUSED
D.BOUZIDI
97
80 % 40 % Insertions 3 Insertions 3
D.BOUZIDI
98
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
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
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.
))
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
TABLE
Privilges
ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE ALTER, SELECT DELETE, INSERT, SELECT, UPDATE EXECUTE
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
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.
D.BOUZIDI
110
D.BOUZIDI
111
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
Rles
Utilisateurs
Rles
HR_MGR
HR_CLERK
Privil Privilges
CREATE TABLE
D.BOUZIDI
D.BOUZIDI
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
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
D.BOUZIDI
D.BOUZIDI
REVOKE REVOKE hr_manager hr_manager FROM FROM PUBLIC; PUBLIC; DROP DROP ROLE ROLE hr_manager; hr_manager;
D.BOUZIDI
D.BOUZIDI
HR_CLERK
HR_MANAGER
PAY_CLERK
BENEFITS
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)
PAY_CLERK
PAY_CLERK_RO
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
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
D.BOUZIDI
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
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 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
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;
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
D.BOUZIDI
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
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
Modifications appliques
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
Fichier de paramtres
SYSTEM
USERS
SYSAUX
INDEX
Fichiers de contrle
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
D.BOUZIDI