Vous êtes sur la page 1sur 84

Systmes de Gestion des Bases de Donnes : ORACLE

Institut Suprieur dEducation et de Formation Continue

Systmes de Gestion Des Bases de Donnes

Dr Mohamed Salah GOUIDER

Dr Mohamed Salah GOUIDER

Page 1

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Table des matires


1. COMPOSANTS DE L ARCHITECTURE ORACLE 1.1. INTRODUCTION AU SERVEUR ORACLE 1.1.1. Tches de ladministrateur de base de donnes 1.2. CONNEXION A UN SERVEUR ORACLE 1.2.1. Processus utilisateur 1.2.2. Processus serveur 1.3. INSTANCE ORACLE ET BASE DE DONN ES 1.3.1. System Global Area (SGA) 1.3.2. SGA dynamique. 1.3.3. Processus d'arrire plan 1.3.4. Fichiers de la base de donnes 1.3.5. Fichiers relatant la Base de donnes 1.4. TRAITEMENT DE REQUETES 1.4.1. Etapes lors du traitement d'une requte 1.4.2. Pool partag (Shared Pool) 1.4.3. Buffer de Cache de la base de donnes (Database Buffer Cache) 1.4.4. Buffer de Redo Log 1.4.5. Program Global Area (PGA) 1.5. TRAITEMENT DE REQU TES DML 1.5.1. Phases d'excution d'un requte DML 1.5.2. Segments de Rollback 1.5.3. Database Writer (DBWn) 1.5.4. Log Writer (LGWR) 1.6. TRAITEMENT DUN COMMIT 1.6.1. Numro de changement du systme (SCN) 1.6.2. Traitement d'un COMMIT : Etapes 2. OUTILS D'ADMINISTRATION 2.1. UTILITAIRES ADMINISTRATIFS 2.1.1. Utilitaires d'administration de base de donnes 2.1.2. Optimal Flexible Architecture (OFA) 2.2. ORACLE ENTREPRISE MANAGER (OEM) 2.2.1. Architecture d'OEM : Vue d'ensemble 2.2.2. Composants de la console OEM. 2.2.3. Services communs d'OEM. 2.2.4. Configurer OEM 2.3. PACKAGE D'ADMINISTRATION. 2.3.1. Pack de management DBA 2.3.2. Packs de management supplmentaires

Dr Mohamed Salah GOUIDER

Page 2

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

3. GERER UNE INSTANCE ORACLE 3.1. AUTHENTIFICATION ET PRIVILEGES 3.2. FICHIERS DE PARAMETRES 3.2.1. Paramtres prsents dans le fichier de paramtre 3.2.2. Le PFILE (initSID.ora) 3.2.3. Le SPFILE (spfileSID.ora) 3.2.4. Rgles pour les valeurs de paramtre 3.2.5. Paramtres essentiels 3.2.6. Paramtres communment modifis 3.3. DEMARRAGE ET ARRET D'UNE INSTANCE. 3.3.1. Etapes de dmarrage dune instance 3.3.2.. Changer la disponibilit de la Base de donnes 3.3.3. Etapes d'arrt d'une instance 3.3.4. Modes d'arrts 3.4. VUE DYNAMIQUE DES PERFORMANCES 3.4.1. Caractristiques des vues dynamiques de performance 3.4.2. Descriptions des vues dynamiques de performance 4. PROCEDURE DE CREATION D UNE BASE DE DONN ES 4.1. PREREQUIS NECESSAIRES A LA CREATION 4.1.1. Grer et sauvegarder les fichiers dune base de donnes 4.1.2. Crer une base de donnes 4.2. ENVIRONNEMENT DU SYSTEME DEXPLOITATION 4.2.1. Cration de fichiers de mots de passe 4.3. CREER UNE BASE DE DONNEES 4.3.1. Assistant de configuration de base de donnes 4.3.2. Les options de la commande CREATE DATABASE 4.3.3. Crer une base de donnes en mode commande. 4.3.4. Les conditions d'erreur lors de la cration d'une base de donnes 4.3.5. Le contenu d'une base de donnes aprs sa cration 5. UTILISATION ET CONTENU DU DICTIONNAIRE DE DONNEES 5.1. STRUCTURE DU DICTIONNAIRE DE DONN ES 5.1.1. Prsentation du dictionnaire de donnes 5.1.2. Cration et catgories des vues du dictionnaire de donnes 5.1.3. Informations contenues dans le dictionnaire de donnes. 5.2. SCRIPTS DU DICTIONNAIRE DE DONNREES 5.2.1. Cration de fonctions PL/SQL 5.2.2. Scripts administratifs

Dr Mohamed Salah GOUIDER

Page 3

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

6. GESTION DES FICHIERS DE CONTROLE ET DE REDO LOG 6.1. FICHIER DE CONTROLE 6.1.1. Contenu des fichiers de contrle 6.1.2. Multiplexage des fichiers de contrle 6.1.3. Rcuprer les informations des fichiers de contrle 6.2. LES FICHIERS DE REDO LOG 6.2.1. Utiliser les fichiers de redo log 6.2.2. Structure des fichiers de redo log 6.2.3. Paramtres des fichiers de redo log. 6.3. GERER LES GROUPES DE REDO 6.3.1. Fonctionnement des fichiers de redo log. 6.3.2. Forcer un basculement de fichiers log et un point de synchronisation 6.3.3. Ajout de groupe de fichiers redo log online 6.3.4. Ajout des membres redo log online 6.3.5. Relocalisation des fichiers redo log online 6.3.6. Suppression de groupes de fichiers redo log online 6.3.7. Suppression des membres redo log online 6.3.8. Rinitialisation des fichiers redo log online 6.4. PLANIFICATION DES FICHIERS REDO LOG ONLINE 3.4.1. Nombre de fichiers redo log online 6.4.2. Emplacement des fichiers redo log online 6.4.3. Dimensionnement des fichiers redo log online 6.4.4. Grer les redo log online with OMF 6.4.5. Obtenir des informations sur les groupes 6.4.6. Archivage de fichiers de redo log 7. GERER LES TABLESPACES ET LES FICHIERS DE DONNEES 7.1. ARCHITECTURE D'UNE BASE DE DONNEES 7.1.1. Vue d'ensemble de la structure d'une base de donnes 7.1.2. Relations. Cration de base de donnes 7.1.3. Caractristiques d'un tablespace 7.1.4. Utilisations d'un tablespace 7.1.5. Caractristiques d'un fichier de donnes 7.2. CREER DES TABLESPACES 7.2.1. Types de tablespaces 7.2.2. Cration dun tablespace 7.2.3. Gestion de lespace dans les tablespaces 7.2.4. Locally Managed tablespaces 7.2.5. Dictionary Managed Tablespaces 7.2.6. Paramtres de stockage 7.2.7. Les Undo Tablespaces 7.3. TABLESPACE TEMPORAIRE
Dr Mohamed Salah GOUIDER Page 4 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

7.3.1. Tablespace temporaire 7.3.2. Tablespace temporaire par dfaut 7.3.3. Restrictions sur les Tablespace temporaire par dfaut 7.4. MANIPULATION DE TABLESPACE. 7.4.1.Offline Status 7.4.2. Tablespace en lecture seul 7.4.3. Tablespaces en lecture seul sur des supports en lecture seul 7.4.4. Supprimer un Tablespace 7.4.5. Consquences de la suppression de tablespaces 7.5. FICHIERS DE MANIPULATION DES DONNNES 7.5.1. Mettre en place lextension automatique des fichiers de donnes 7.5.2. Changer la taille des fichiers de donnes manuellement 7.5.3. Ajouter un fichier de donnes un Tablespace 7.5.4. Dplacer un fichier de donnes : ALTER TABLESPACE 7.6. AUTRES OPTIONS SUR LES TABLESPACES 7.6.1. Configurer OMF pour la cration de Tablespace 7.6.2. Crer des Tablespaces avec OMF 7.6.3. Rcuprer des informations sur les Tablespaces.

Dr Mohamed Salah GOUIDER

Page 5

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1. Composants de l architecture Oracle


1.1. Introduction au serveur Oracle
Tches de l administrateur de base de donnes L'administrateur de base de donnes (appel DBA) est responsable du contrle et de la configuration du systme et des utilisateurs. De nombreuses taches vont tre effectues par celui-ci : Installer le serveur Oracle et les outils applicatifs, crer les bases de donnes. Assurer la maintenance et la disponibilit de la base de donnes. Crer la structure logique de stockage, c'est dire les tablespaces, les tables, les vues et les indexes. Manager la structure physique de stockage, comprenant les fichiers de donnes, les fichiers de contrle et les fichiers de redo log. Allouer et prvoir l'espace disque systme de stockage ncessaire aux spcifications de la base de donnes. Maintenir, contrler et monitorer les accs des utilisateurs. Assurer la scurit du systme. Monitorer les performances de la base de donnes. Crer un plan de sauvegarde et de rcupration.

1.2. Connexion a un serveur Oracle


Pour travailler et consulter les donnes, les utilisateurs doivent tout d'abord se connecter un Serveur Oracle. Il existe trois types de connexions grce auxquelles un utilisateur peut accder un Serveur Oracle : Connexion locale : Selon cette mthode, un utilisateur est directement connect sur la machine faisant office de Serveur Oracle. Connexion Deux Tiers : Ce type de connexion est couramment nomm "Connexion Client Serveur", un utilisateur se connecte partir d'une machine directement connecte un Serveur Oracle. Par exemple, lorsque qu'un utilisateur lance un Oracle Forms (Front End pour consulter des bases de donnes Oracle travers des formulaires.) sur un poste client sous Windows pour accder un Serveur Oracle rsident sur une machine Windows NT Serveur. Connexion Multi Tiers : Dans une architecture multi tiers, la machine de l'utilisateur se connecte un Serveur applicatif (Par exemple un Serveur Web) qui

Dr Mohamed Salah GOUIDER

Page 6

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

lui mme va se connecter au serveur Oracle pour rcuprer les donnes issues de la base de donnes. Lorsque qu'un utilisateur est connect une machine sur laquelle rside un Serveur Oracle, deux process sont invoqus : Le process utilisateur et le process serveur. Un process utilisateur est cr lorsque tout outil client allant communiquer avec le serveur Oracle est lanc (Un outil d'administration, une application, SQL*Plus, une application Oracle Forms). Un process utilisateur est un mcanisme qui va excuter le code d'une application ou d'un outil Oracle. Un process serveur est cr lorsque un utilisateur va se loguer sur le serveur en spcifiant un nom d'utilisateur, un mot de passe et un nom de base de donnes. Le process Serveur est cr sur le serveur Oracle. Le process serveur va permettre l'interaction entre le process utilisateur et le serveur Oracle en rcuprant les requtes et en les excutant sur les serveurs Oracle. Le lien entre le process utilisateur et le process serveur est appel une connexion. Si l'utilisateur se connecte localement sur le serveur, le chemin de communication est tabli via un mcanisme de communication inter process. Si l'utilisateur se connecte via une machine cliente, un logiciel rseau est utilis. Une connexion spcifique entre un utilisateur et un serveur Oracle est appel une Session. La session dmarre lorsque la connexion de l'utilisateur est valide par le serveur Oracle et se termine lorsqu'il se dconnecte ou lorsqu'une fin de connexion prmature se produit. De nombreuses sessions concurrentes d'un mme utilisateur ou de plusieurs peuvent s'excuter sur le serveur Oracle.

Dr Mohamed Salah GOUIDER

Page 7

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1.2.1. Processus utilisateur


Pour faire fonctionner un outil application tel que SQL*Plus ou des applicatifs Oracle Forms, Oracle cre un process utilisateur (Client). L'UPI (User Program Interface) est un mcanisme standardis utilis par un process utilisateur pour communiquer avec un process serveur. C'est l'UPI qui gnre l'appel au serveur Oracle.

1.2.2. Processus serveur


Le process serveur a les caractristiques suivantes : Il traite les requtes du process utilisateur et retourne le statut et le rsultat de cette requte. Le DBA la responsabilit de l'administration de ces process serveurs. Chaque process serveur utilise une zone de mmoire appele la PGA (Program Global Area). Cette zone est cre au dmarrage du process serveur. Le process serveur inclus l'OPI (Oracle Program Interface) qui est utilis pour communiquer avec la base de donnes Oracle.

1.3. Instance Oracle et Base de donnes


1.3.1. System Global Area (SGA)
Un serveur Oracle est constitu d'une instance Oracle et d'une base de donnes Oracle. L'instance Oracle comprend une rgion de la mmoire appele La SGA (System Global Area), ainsi que les processus darrire plan utilis pour grer la base de donnes. La SGA contient des donnes et des informations de contrle sur le serveur Oracle. La mmoire est alloue la SGA lors du dmarrage d'une instance et ds alloue lors de son arrt. Cette zone mmoire est partage et rside dans la mmoire vive qui n'est pas swappe ni pagine pour des raisons de performances. La SGA se compose de plusieurs structures de groupe de mmoire, les trois principales tant : Le pool partag (Shared Pool) : Contient les requtes SQL le plus rcemment excut et l'information du dictionnaire de donnes la plus rcemment utilise. Le buffer de cache de la base de donnes (Database Buffer Cache) : Cette structure stocke les donnes utilisatrices les plus rcentes tires des tables. Le buffer de redo Log (Redo Log Buffer) : Ce buffer est utilis pour enregistrer les modifications effectues sur la base de donnes. On trouve aussi dans la SGA : Le pool large (Large Pool) : Le large pool est une zone mmoire optionnel de la SGA configure uniquement dans un environnement serveur partag. Quand un utilisateur se connecte un serveur partag, Oracle a besoin dallouer de lespace supplmentaire dans les shared pool pour stocker les informations de connexions entre les diffrents process. Le pool large permet donc dallger certaines zones
Dr Mohamed Salah GOUIDER Page 8 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

mmoires de la SGA. En effet, il na pas besoin de diminuer la mmoire alloue aux arbres de parcours au profit des informations de sessions, dentres/sortie, de sauvegarde et des processus de rcuprations. Le gain de performance vient de la rduction de la charge occasionne par l'augmentation ou la rduction de la mmoire cache partage. Recover Manager (RMAN), utilise le large pool pour restaurer les donnes en cas de dfaillance. Le pool Java (Java Pool) : Sa taille par dfaut est de 24Mo et doit tre utilis en cas dutilisation du langage Java.

1.3.2. SGA dynamique


Une SGA dynamique implmente une infrastructure qui permet de modifier la taille dynamiquement de la SGA sans teindre linstance. La taille de la SGA va augmente par lintermdiaire du data buffer cache, du shared pool, et du pool large sans jamais dpasser le SGA_MAX_SIZE. Les Paramtres qui affectent la taille de la SGA sont : DB_CACHE_SIZE : La taille de cache des blocs standard. LOG_BUFFER : Le nombre de bit pour le redo log buffer cache. SHARED_POOL_SIZE : La taille en bit du shared pool. LARGE_POOL_SIZE : La taille du large pool, par dfaut 0.

Dr Mohamed Salah GOUIDER

Page 9

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1.3.3. Processus d'arrire plan


Une instance Oracle comprend, en plus de la SGA, un ensemble de process d'arrire plan qui sont au niveau du systme d'exploitation. Oracle 9i comprend cinq process d'arrire plan obligatoire pour une instance : Database Writer (DBWn) : Il crit les donnes changes du buffer de cache de base de donnes vers les fichiers de donnes. Log Writer (LGWR) : Il enregistre les changements qui sont instancis dans le buffer de redo log vers les fichiers de redo log. (Ces changements sont rfrencs comme les donnes du redo log) System Monitor (SMON) : Il excute une rcupration de l'instance lors de son dmarrage, il nettoie les segments temporaires qui ne sont plus utiliss et annule les transaction qui n'avaient pas t valides lors d'un plantage du systme. Il dfragmente l'espace disponible dans les fichiers de donnes. Process Monitor (PMON) : Il rcupre les process lorsque qu'un process utilisateur choue. Il est responsable du nettoyage du cache et de dverrouiller les ressources systme bloques par un process utilisateur. Check point (CKPT) : il met jour les statuts d'information sur la base de donnes tels que les enttes des fichiers de base de donnes. Ceci est fait lors d'un vnement de check point tel qu'une rotation des logs. Les changements dans le buffer de cache de la base de donnes sont alors crits de manire permanente dans les fichiers de donnes. En plus de ces process obligatoires, on trouve un ensemble de process optionnels : Recoverer (RECO) Archiver (ARCn) Lock (LCKn) Dispatcher (Dnnn) Shared Server (Snnn) Parallel Query Slaves (Pnnn)

Dr Mohamed Salah GOUIDER

Page 10

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1.3.4. Fichiers de la base de donnes Une base de donnes Oracle a une structure logique et physique. Entendons par structure physique que les fichiers contenu dans la base de donnes ont une relle existence (ex : fichiers de donnes). Pour sa part, la base de donnes Oracle est constitue de trois types de fichiers : Les fichiers de donnes contenant les donnes des blocs de donnes qui sont modifies par les transactions courantes, le dictionnaire de donnes, les objets utilisateurs. Les fichiers de redo log contenant un enregistrement des changements qui ont t fait sur la base de donnes, pour avoir la possibilit de revenir en arrire en cas de dysfonctionnement. Une base Oracle contient au moins deux groupes de redo log chacun contenant au moins un fichier de redo log. Pour renforcer leur tolrance une panne de disque dur, Oracle supporte les fichiers de redo log multiplexs. On peut ainsi maintenir une ou plusieurs copies de fichiers de redo log sur diffrents disques (On parle de fichiers mirrors). Les fichiers de contrles contenant les informations ncessaires pour maintenir et vrifier lintgrit des donnes de la base. Une base de donnes Oracle ncessite au moins un fichier de contrle, il est toutefois possible de les mirrorer sur plusieurs disques dur.

1.3.5. Fichiers relatant la Base de donnes


Ce sont les fichiers qui ne font pas partie de la base de donnes mais qui sont utiliss par le serveur Oracle pour des oprations telles que le dmarrage d'une instance ou l'authentification des utilisateurs. Il existe trois types de fichiers : Les fichiers de paramtre (Parameter File) : Il va dfinir les caractristiques de l'instance. Lors du dmarrage d'une instance, le serveur Oracle va lire les paramtres d'initialisation du fichier de paramtres. On retrouve des informations telles que le nom de la base de donnes, la taille de la mmoire allouer, le nom des fichiers de contrle ainsi que les autres paramtres systme. Le fichier de mots de passe (Password File) : Il est utilis pour authentifier les utilisateurs privilgis. Les fichiers de redo log archivs (Archived Redo Log Files) : Ils contiennent des copies off line des fichiers de redo log. Ils sont utiliss lors d'une rcupration suite une dfaillance d'un mdia. Les fichiers de redo log sont sauvs lorsqu'ils sont pleins, cette fonctionnalit n'est utilise que lorsque la base de donnes est en mode "ARCHIVELOG".

Dr Mohamed Salah GOUIDER

Page 11

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1.4. Traitement de requtes


1.4.1. Etapes lors du traitement d'une requte
Lorsqu'un utilisateur lance une dclaration ou une requte SQL, le process utilisateur l'envoie au process serveur qui la traite. Ce traitement est dcoup en trois tapes : Parcours (Parse) : Le process serveur reoit la requte, analyse la syntaxe et vrifie les privilges de l'utilisateur pour les objets rfrencs accder. La section de mmoire du pool partag de la SGA est utilise pour compiler la requte et crer un arbre de parcours. Le statut de russite ou non de l'analyse est renvoy au process utilisateur. Excution (Excution) : Prparation de la rcupration des donnes. Si l'ordre SQL est un UPDATE ou un DELETE, les lignes affectes sont verrouilles par le process serveur pour tre rendues non accessibles aux autres utilisateurs. Rcupration des donnes (Fetch) : Les donnes sont rcupres et envoyes au process utilisateur. Selon la quantit de mmoire disponible, un ou plusieurs fetch peuvent tre ncessaires.

1.4.2. Pool partag (Shared Pool)


Le pool partag est une zone mmoire faisant parti de la SGA et dont la taille doit tre dfinie par le DBA. Le Shared Pool peut tre retaille dynamiquement avec la commande : ALTER SYSTEM SET SHARED_POOL_SIZE = 128M; Nous allons ici voir les diffrentes composantes de cette zone utilise par le process serveur pour traiter les requtes. On trouve dans le pool partag : Le cache de librairie (Library Cache) : Contient les informations sur les requtes SQL et/ou PL/SQL rcemment utilises. Le plan dexcution de ces requtes est galement stock ainsi que larbre de parcours et le texte des requtes. Les verrous et les handles sur le cache de librairie sont galement consigns. Le cache de librairie est compos de deux structures : la zone partage SQL et la zone partage PL/SQL Le cache du dictionnaire de donnes (Data Dictionary Cache) :

Dr Mohamed Salah GOUIDER

Page 12

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Contient des informations les plus rcemment utilises sur le dictionnaire de donnes, les objets de la base de donnes, sa structure et la dfinition des colonnes. On trouve galement les utilisateurs valides, leur mot de passe et leurs privilges. Les informations du dictionnaire de donnes sont mises en cache lorsque elles sont demandes par la base de donnes. Ceci permet daugmenter la rapidit daccs aux donnes.

1.4.3. Buffer de Cache de la base de donnes (Database Buffer Cache)


Lorsquune requte est excute, le process serveur consulte le database buffer cache (Compris dans la SGA) pour les blocs de donnes requis par la requte. Le DBA doit configurer la taille de cette zone mmoire. Le buffer de cache est compos de trois caches indpendants : DB_CACHE_SIZE : Ne peut tre mis 0. Gre la taille du buffer par dfaut DB_KEEP_CACHE_SIZE : Gre la taille du keep buffer cache, utilis pour stocker les blocs dans la mmoire susceptible dtre rutiliss. DB_RECYCLE_CACHE_SIZE : Gre le taille du recycle buffer cache, employ pour supprimer les blocs de mmoire rutilis qui ont subit peu de changement. DB_CACHE_ADVICE (ON, OFF, READY) : Permet dactiver les statistiques qui prdisent le comportement de la base lorsquon modifie la taille du cache. Les rsultats sont consultables laide de la vue V$DB_CACHE_ADVISE. Le database buffer cache contient des blocs de donnes lus dans les fichiers de donnes. Cela permet au process serveur daccder plus rapidement aux donnes, cette zone comporte les caractristiques suivantes : Le database buffer cache contient les donnes les plus rcemment et frquemment utilises. Il contient des blocs de donnes modifies et non modifies dats selon un algorithme Oracle (LRU) pour mettre jour le buffer. La taille de chaque buffer du buffer cache est gale la taille dun bloc Oracle et spcifi par le paramtre DB_BLOCK_SIZE.

1.4.4. Buffer de Redo Log


Le buffer de redo log enregistre les changements faits lors dune requte DML. Ces caractristiques sont les suivantes : Il fait parti de la SGA. Sa taille est dfinie par le paramtre LOG_BUFFER et doit tre dfinie par le DBA.
Dr Mohamed Salah GOUIDER Page 13 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Il se compose dentres qui contiennent les blocs changs, la position du changement et la nouvelle valeur. Il nidentifie pas le bloc o les changements sont faits, c'est--dire quil traite de manire similaire les blocs de donnes, dindex ou de segments de ROLLBACK. Son utilisation est squentielle et circulaire. Il est renouvel lorsquil est plein et que les entres ont t enregistres dans les fichiers de redo log online.

1.4.5. Program Global Area (PGA)


Lorsque quun process serveur est cr, ou un process darrire plan, la base de donnes Oracle alloue une zone globale de programme (PGA Program Global Area ou bien Process Global Area) dans la mmoire. Cest un buffer mmoire qui contient les donnes et les informations de contrle pour ce process serveur. Elle contient pour un serveur ddi : Une zone de tri (Sort area) : Utilis pour stocker, si ncessaire, les rsultats intermdiaires lors du tri. Des informations de session : Contient les privilges utilisateurs pour la session en cours. Un tat de curseur (Cursor State) : Etat de ltape dans lexcution des ventuels curseurs de la session. Un curseur est un pointeur sur la mmoire associ une requte SQL donne. Cest une zone de travail utilis pour stocker le rsultat de la requte. Un espace de pile (Stack Space) : Contient les variables de session et les arrays. Dans la version 9i, de nouveaux paramtres dynamiques de gestion de la PGA sont apparus. Par exemple, PGA_AGGREGATE_TARGET dfinit la taille maximale que peut atteindre la PGA totale alloue toute une instance. La taille total de la PGA est infrieur au PGA_AGGREGATE_TARGET en mode auto de WORKAREA_SIZE_POLICY.

1.5. Traitement de requtes DML


1.5.1. Phases d'excution d'un requte DML
Les requtes de manipulations de donnes (DML), tel que les UPDATE, DELETE ou INSERT, sont utilises pour manipuler les donnes. Comprendre leur excution permet de crer le data buffer cache et les segments de ROLLBACK appropris. Le traitement dune requte DML se compose de deux phases : Parcours (Parse) : Contrle des erreurs et placement dans une mmoire partage SQL.

Dr Mohamed Salah GOUIDER

Page 14

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Excution : Si la phase de parcours sest effectue avec succs, lexcution se fait en plusieurs tapes. Lecture des blocs de donnes et de ROLLBACK dans le database buffer cache. Mise en place de verrous sur les donnes qui vont tre changes. Ecriture de limage avant dans les segments de roll back et enregistrement des changements du buffer cache dans le redo log buffer pour protger limage avant en cas de dfaillance. Finalement, les donnes sont enregistres dans le buffer cache et les changements sont galement enregistrs dans le redo log buffer protgeant ainsi limage aprs. Les blocs de donnes altres dans le buffer cache sont marqus comme "sales (Dirty)", c'est--dire quils ne correspondent plus aux blocs dans les fichiers de donnes.

1.5.2. Segments de Rollback


Les segments de Rollback sont utiliss pour sauver les donnes lors dune requte DML afin de les restaurer en cas d'annulation de la transaction ainsi que pour empcher dautres transactions de voir les donnes en cours de modification. Ces segments ne sont pas visibles par un utilisateur. Une base de donnes contient un ou plusieurs segments de Rollback. Le serveur Oracle assigne un segment de Rollback chaque transaction. Les segments de Rollback peuvent permettre de rcuprer des donnes non commites (valides)

Dr Mohamed Salah GOUIDER

Page 15

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

lors dune transaction. Ils permettent galement de rcuprer un tat consistant de la base de donnes en cas de dfaillance systme. Les segments de Rollback sont contenus dans les fichiers de donnes et sont lus dans le database buffer cache si ncessaire.

1.5.3. Database Writer (DBWn)


Ce process darrire plan crit les donnes du database buffer cache vers les fichiers de donnes sur le disque. Ces blocs de donnes sont crits lorsque certains vnements se produisent tel que: Lcriture a lieu lorsque le nombre de buffers sales atteint un seuil, cela permet de librer des buffers dans le database buffer cache. Lcriture se produit lorsque quun process serveur ne trouve plus de buffer libre aprs avoir recherch un certain nombre de buffers. Lcriture seffectue lors dun timeout, par exemple lorsque le DBWn reste inactif plus de trois secondes. Le DBWn recherche alors des buffers sales selon lalgorithme LRU ou bien crit la totalit si la base de donnes est inactive. Le DBWn se dclenche lorsquun check point est atteint, cela se produit par exemple lors de larrt de la base de donnes. Lorsquun tablespace temporaire ou normal est mis offline. Lorsquun tablespace est mis en lecture seule. Lorsquune table est tronque ou supprime. Lors dun timeout.

Dr Mohamed Salah GOUIDER

Page 16

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

1.5.4. Log Writer (LGWR)


Le Log Writer crit squentiellement des entres du redo log buffer vers les fichiers de redo log. Le process LGWR crit lorsque lun des quatre vnements suivants se produit : Lorsque le buffer de redo log est plein un tiers de sa capacit. Lorsquun timeout se produit, par exemple lors dune inactivit de plus de trois secondes. Avant que le process DBWn crive les donnes du database buffer cache vers les fichiers de donnes. Lorsquune transaction utilisateur est commite. Toutes les 3secondes. LGWR peut demander DBWn dcrire dans les fichiers de donnes.

1.6. Traitement d un commit


1.6.1. Numro de changement du systme (SCN)
La base de donnes Oracle assigne un SCN (System Change Number) chaque transaction qui est commite dans le but de lidentifier de manire unique. Ce numro unique est enregistr dans les segments de Rollback ainsi que dans les fichiers de redo log. Il est galement utilis comme une marque temporelle (Timestamp) pour permettre la base de donnes de synchroniser les donnes. Les vnements sont organiss dans un ordre temporel au sein dune instance et entre instances.

Dr Mohamed Salah GOUIDER

Page 17

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Il permet au serveur Oracle de lire les donnes de manire consistante en faisant abstraction de la date systme du systme dexploitation lors de la restauration de la base de donnes.

1.6.2. Traitement d'un COMMIT : Etapes


Une transaction doit tre crite de manire permanente aprs le traitement de celleci. Pour cela un COMMIT est ralis. Nous allons voir les tapes qui constitue cette action de commit : Un process serveur enregistre une ligne COMMIT accompagne de son SCN dans le buffer de redo log. Le process LGWR crit les entres du buffer de redo log dans les fichiers de redo log en commenant par la ligne de COMMIT (LGWR confirme la russite du commit seulement aprs que les buffer de redo log soit crit sur le disque.). Le process serveur enregistre les informations indiquant que la transaction est termine. Les ressources verrouilles dans les tables et les enregistrements sont alors libres. Le process serveur informe le process utilisateur de la fin du COMMIT. Un commit ralisant ces tapes est appel un commit rapide (Fast Commit), on remarquera que seul le buffer de redo log est crit sur le disque. Les buffers sales sont crits dans le fichier de donnes de manire indpendante par le process DBWn. Une seule criture sur le disque est donc ncessaire pour raliser un COMMIT. Si plusieurs process utilisateurs ralisent un commit simultanment, le serveur Oracle rassemble les commits et ncrit quune seule fois.

Dr Mohamed Salah GOUIDER

Page 18

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

2. Outils d'administration
2.1. Utilitaires administratifs
2.1.1. Utilitaires d'administration de base de donnes
Oracle Universal Installer : Linstallateur Universel est un installateur Java utilis pour installer Oracle9i, les outils Oracle et les utilitaires. Il peut installer des logiciels partir dun CDROM ou dInternet, dtecter les dpendances entre les diffrents composants. Il dtecte le langage courant du systme dexploitation ou bien utilise le langage par dfaut. Il est possible de spcifier diffrents rpertoires principaux (Le ORACLE_HOME) pour permettre dinstaller plusieurs versions dun mme produit. Linstallation peut tre guid par des assistants ou permet dutiliser des packages standard ncessitant un minimum de rponses. Il est galement possible de le lancer en mode silencieux, dans ce cas, un fichier de rponse est utilis pour remplacer les rponses aux diffrentes questions lors de linstallation. Le mode silencieux est utilis lorsquil ny a pas de terminal graphique ou lorsque lon veut que lutilisateur na rien faire pour linstallation. La syntaxe de lancement de la commande varie en fonction du systme dexploitation. Un fichier de log est cr lors de linstallation et contient lensemble des tapes et les rsultats. Une liste des produits installs est maintenue en cas de dsinstallation de lun dentre eux. Les outils de post-installation sont galement lancs si besoin est. Par exemple, aprs linstallation dOEM (Oracle Enterprise Manager), lassistant de configuration de base de donnes est lanc. Oracle Database Configuration Assistant : Cet assistant permet de crer une base de donnes, configurer les options de la base de donnes, supprimer une base de donnes, grer les templates. Outils pour la cration des fichiers de mots de passe : La commande orapwd permet de crer un fichier de mot de passe.

Dr Mohamed Salah GOUIDER

Page 19

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Ensuite, il suffit de mettre REMOTE_LOGIN_PASSWORDFILE EXLUSIVE dans le fichier de paramtre. Puis, ajouter les utilisateurs au fichier de mot de passe et de leur attribuer des privilges. SQL* Plus : SQL* Plus est un outils Oracle qui permet de manipuler et interagir avec la base de donnes. Une prsentation plus complte de SQL* Plus est disponible dans le module SQLP. Oracle Enterprise Manager : Cest un outil important permettant, via une interface graphique, dadministrer, de contrler et de tuner une ou plusieurs bases de donnes localises sur un ou plusieurs serveurs.

2.1.2. Optimal Flexible Architecture (OFA)


OFA est larchitecture standard quil est recommand dutiliser dans une base de donnes Oracle. Les trois rgles importantes pour respecter cette architecture sont : Etablir une structure de rpertoires, o nimporte quel fichier de base de donnes peut tre enregistr sur nimporte quel espace disque. Sparer les objets avec un comportement diffrent sur diffrents tablespaces. Augmenter les performances de la base de donnes en sparant les composants de la base de donnes sur des disques diffrents. OFA organise donc la base de donnes en fonction des types de fichiers et de leurs utilisations. Les fichiers binaires, de contrles, de logs et administratifs peuvent tre spars sur des disques diffrents. Ladministration en sera simplifi et les performances grandement amliores.

Larborescence ci-dessus montre une structure de stockage selon le modle OFA.

Dr Mohamed Salah GOUIDER

Page 20

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

2.2. Oracle Entreprise Manager (OEM)


2.2.1. Architecture d'OEM : Vue d'ensemble
Oracle Entreprise Manager fournit un outil graphique de configuration systme pour administrer une ou plusieurs bases de donnes. OEM se prsente sous la forme dune architecture trois tiers, elle comprend : La console est un outil graphique, utiliss par les DBA pour administrer une ou plusieurs bases de donnes partir dune mme console. La console OEM comporte des menus, des barres doutils et elle peut intgrer des outils provenant dautres fabricants. Elle permet daccder un ensemble doutils tel que la planification de taches, la gestion des vnements, la recherche de services sur le rseau et la scurit. Les composants OMS forment le second tiers, les donnes de ces composants sont en effet stockes dans le repository OEM. Le repository OEM est un jeu de tables dans la base de donnes contenant les donnes systme, les donnes applicatives et ltat des n uds administrs sur lenvironnement Oracle. La base de donnes stockant le repository OEM doit tre accessible la console OEM. Un repository est associ des utilisateurs et non une machine, ainsi, il devient indpendant de sa localit et peut tre accd de partout. Un repository OEM distinct peut tre associ chaque utilisateur OMS peut donc effectuer toutes les taches administratives, et ce de manire distribue, de plus, plusieurs OMS peuvent tre mis en place et agir en load balancing, ce qui augmente la tolrance de panne

Dr Mohamed Salah GOUIDER

Page 21

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Les Noeuds constituent la troisime couche de larchitecture quun utilisateur va chercher administrer. Ces noeuds sont contrls par les intelligent agents . Un intelligent agent est un process qui sexcute sur le noeud distant du rseau et qui permet de ladministrer distance.

2.2.2. Composants de la console OEM


La console OEM est linterface graphique utilisateur de lapplication OEM, elle contient un ensemble de composants qui permettent un ensemble de DBA dadministrer une ou plusieurs base de donnes dans un environnement Oracle. Elle se compose de menus permettant de lancer des applications dadministrations, des outils daccs et de services et laccs lensemble des fonctionnalits de la console OEM. Elle contient un ensemble dicnes prsentant sous forme de palettes les diffrents outils, et donnant un accs similaire aux lments des menus de manire plus rapide. Une fentre de navigation apporte une vue hirarchique des diffrents noeuds du rseau, elle permet de visualiser lensemble des services Oracle travers le rseau ainsi que les objets quils contiennent. Les objets rseaux sont galement reprsents sur une carte graphique qui permet de les situer gographiquement. La console OEM comprend galement la gestion des taches planifies (Job) qui permettent de lancer distance des taches concernant les listeners , les bases de donnes ou bien les htes. Un historique et un suivi de ltat des jobs sont galement disponibles. On peut galement consulter les vnements systmes sur les diffrents noeuds et selon les critres que lon souhaite. Le DBA peut alors tre contact par email ou autres. Certains vnements peuvent faire lobjet de jobs correctifs qui seront lancs au dclanchement de celui-ci.

2.2.3. Services communs d'OEM


OEM comporte un ensemble de services permettant au DBA dadministrer les serveurs Oracle et leurs bases de donnes. Les principaux services fournis par les OMS sont les suivants : Le service de taches panifies (Job Service) : Il gre les jobs programms et permet donc dautomatiser des taches rptitives. Le service de gestion des vnements (Event Service) : Il permet de contrler les vnements systmes survenant sur lensemble des serveurs Oracle du rseau, il permet de contrler des limites applicatives et

Dr Mohamed Salah GOUIDER

Page 22

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

systmes tel que lespace occup par les fichiers de donnes, la charge CPU ou bien des pertes de disponibilit dun service. Il peut, lors dun vnement donn, dclencher des jobs de rcupration ou autres. Le service de dcouverte (Discovery Service) : Cest un assistant permettant de dcouvrir sur le rseau les diffrents services tel que les bases de donnes, les serveurs Web, les listeners, les machines, les parallel Servers et les serveurs de vido. Le service de scurit (Security Service) : Il permet de contrler laccs aux services Oracle ainsi quaux noeuds du rseau. Un super administrateur peut galement grer les diffrents administrateurs et leurs privilges. Les authentifications sont encodes dans le repository OEM et les utilisateurs doivent spcifier leur identit pour accder chaque ressource travers la console OEM.

2.2.4. Configurer OEM


Cette section prsente la configuration dOEM, lors de son installation, installateur universel lance lassistant de configuration dOEM, mais il est galement possible de le lancer nouveau lors de la cration dun repository supplmentaire. Les tapes se dcoupent comme suit : Cration du repository OEM : Lassistant de configuration demande lhte, le port, et le SID du lieu ou va tre install le repository. Lancement du service OMS : La seconde tape consiste lancer le service OMS, il dmarre automatiquement au dmarrage de Windows ou bien il peut tre dmarr manuellement. Lancement de la console OEM : La console OEM peut tre lanc via le menu Dmarrer . Il est alors possible de se connecter au repository OEM et de dcouvrir automatiquement (Ceux ou lintelligent agent est lanc) ou manuellement les diffrents noeuds et services prsents sur le rseau. Configuration de la scurit : La scurit approprie doit tre mise en place pour contrler laccs aux diffrents noeuds et services du rseau. Lauthentification pour un utilisateur doit tre configure pour chaque objet accder. Travail sur une base de donnes : La dernire tape consiste choisir une base de donnes via lexplorateur et sauthentifier pour pouvoir ladministrer.

2.3. Package d'administration


Dr Mohamed Salah GOUIDER Page 23 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

2.3.1. Pack de management DBA


Le pack de management DBA est un ensemble doutils utiliss pour ladministration des bases de donnes. Il se compose de cinq applications et de deux jeux dutilitaires et dassistants : Instance Manager : Cet outil permet de monter, fermer et surveiller une base de donne Security Manager : Il permet de contrler laccs aux services Oracle ainsi quaux noeuds du rseau. Un super administrateur peut galement grer les diffrents administrateurs et leurs privilges. Storage Manager : Permet de surveiller les tablespaces, fichiers de donnes, segments de rollback. Schema Manager : Il permet de crer et maintenir des objets comme les tables, indexes et vues. SQL* Plus Worksheet : Cest une application en ligne de commandes permettant de lancer des requtes SQL, du code PL/SQL ou encore des commandes SQL*Plus.

Les outils et les assistants de sauvegarde Oracle : Ils permettent de sauvegarder, restaurer ou bien recouvrer une base de donnes. On peut galement grer les fichiers de redo log grce ces outils. On lance ces outils partir de la console ou du Gestionnaire de Schma. Les outils et assistants de gestion des donnes : Ils aident au chargement et lorganisation des donnes dans les bases de donnes. Ils permettent galement le transfert des donnes partir et vers une base de donnes Oracle. On lance ces outils partir de la console ou du Gestionnaire de Stockage.

2.3.2. Packs de management supplmentaires


OEM peut intgrer dans sa console trois outils administratifs supplmentaires : Le Pack de Diagnostic : Il fournit des utilitaires daudit et de monitoring des bases de donnes, il devient possible de collecter et dinspecter des performances spcifiques selon des statistiques aidant au paramtrage fin dune base de donnes. Le Gestionnaire de Performances Oracle permet de raliser cela en temps rel et fournit des vues graphiques sur la performance de la base de donnes et du systme. Oracle TopSessions permet de lister lensemble des sessions connectes au serveur Oracle. On peut galement voir les dtails dune session et y mettre fin.

Dr Mohamed Salah GOUIDER

Page 24

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Le planificateur de capacit permet de collecter des donnes et de stocker un historique des informations sur la base de donnes pour parer laugmentation de la capacit requise. Le Visualisateur de donnes de trace Oracle permet de suivre et de programmer les informations de traages de la base de donnes et de Net8. Le Pack de Tuning : Il se compose dun ensemble doutils visant amliorer les performances dune base de donnes. Lanalyseur SQL permet danalyser et dditer des requtes SQL pour augmenter leurs performances. Le Gestionnaire de Tablespace permet de monitorer et contrler lespace de stockage. Il fournit un ensemble dinformations sur les tablespaces et leurs segments. On peut dfragmenter lespace occup et rorganiser les donnes. Oracle Expert permet de tuner et doptimiser le systme de manire trs fine. Le Pack de Gestion du Changement : Il se compose dutilitaires utiliss pour contrler le changement de la dfinition des objets de la base de donnes. Lapplication de Capture permet de capturer limage dun objet un instant donn. Lapplication de Diffrentiel permet de comparer les diffrences entre la dfinition dobjet pour deux base de donnes ou selon un modle. Les Objet de Changement rapide et de modification permettent de propager des changements aux objets dune ou plusieurs bases de donnes. Lapplication de Gestion des Plans permet de centraliser laccs tous ces outils.

Dr Mohamed Salah GOUIDER

Page 25

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

3. Grer une Instance Oracle


3.1. Authentification et privilges
Les utilisateurs administrateurs de la base de donnes sont responsables de la gestion et de ladministration du serveur Oracle. Des privilges particuliers sont requis pour permettre de faire ces taches. Deux comptes utilisateur DBA son crs automatiquement et ont le rle DBA : Le compte SYS : Cr lors de linstallation dOracle avec tous les privilges systmes. Mot de passe par dfaut : change_on_install, changer aprs linstallation. Le schma de SYS stocke toutes les tables et les vues du dictionnaire de base de donnes. Aucun utilisateur ne peut modifier ou crer de table dans ce schma. Le compte SYSTEM : Cr lors de linstallation dOracle avec tous les privilges systmes. Mot de passe par dfaut : manager changer aprs linstallation. Le schma de SYSTEM stocke les tables et les vues administratives ainsi que des informations administratives propres certains produits Oracle supplmentaires.

3.2. Fichiers de paramtres


3.2.1. Paramtres prsents dans le fichier de paramtre
Une base de donnes Oracle devient accessible aux utilisateurs lorsque le DBA dmarre linstance et ouvre la base de donnes. Pour dmarrer une instance, Oracle lit le fichier dinitialisation. Ces fichiers sont au nombre de deux (le dernier est une nouveaut de la 9i) : le PFILE et le SPFILE. Le PFILE fait communment rfrence au fichier init<SID>.ora et le SPFILE (fichier binaire) fait rfrence au fichier spfile<SID>.ora o SID est le nom de linstance. Le fichier de paramtre est un fichier texte contenant la liste des paramtres de dmarrage de linstance.

3.2.2. Le PFILE (initSID.ora)


Sous Windows NT, ce fichier se trouve par dfaut dans le rpertoire %ORACLE_HOME%\database et contient un paramtre IFILE qui fait rfrence un fichier plus complexe situ dans le rpertoire %ORACLE_HOME%\admin\<SID>\pfile. Sous UNIX, on peut le trouver dans le rpertoire $ORACLE_HOME/dbs.
Dr Mohamed Salah GOUIDER Page 26 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Ce fichier est lu lors du dmarrage de linstance, on peut lditer avec nimporte quel diteur de texte et le redmarrage de linstance est ncessaire pour que les changements prennent effet. Il est prfrable de faire une copie de ce fichier sur lordinateur o se trouve OEM sil en existe un. Parmi les paramtres du fichier de paramtre, on trouve le nom de la base de donnes pour laquelle linstance est dmarre. Les paramtres contrlent les performances de la base de donnes ainsi que la quantit de mmoire utilise par les diffrentes composantes de la SGA. On peut galement dfinir certains attributs physiques de la base de donnes au moment de sa cration telle que la taille des blocs de donnes. On trouve galement dans ce fichier le nom et le chemin des fichiers de contrle, des fichiers de log archivs et des fichiers de trace de la base de donnes.

3.2.3. Le SPFILE (spfileSID.ora)


Le spfile est un fichier binaire de paramtres dynamiques qui est gr par le serveur Oracle. Il se situe dans le mme rpertoire que le initSID.ora et contient aussi les mmes donnes. Si le fichier spfileSID.ora existe, il est prioritaire par rapport au PFile. En effet, au dmarrage de linstance le serveur essayera de lire le spfile plutt que le pfile, le pfile sera lu seulement en cas dchec de la lecture du spfile.

Dr Mohamed Salah GOUIDER

Page 27

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Remarque : Le contenu du spfile est visible dans la vu dynamique V$SPPARAMETER et non pas V$PARAMETER qui est utilis par le pfile.

3.2.4. Rgles pour les valeurs de paramtre


Un ensemble de rgles rgissent les paramtres compris dans le fichier de paramtre : La plupart des paramtres sont optionnels. Leur ordre nest pas important. Le format pour dfinir un paramtre est de la forme nom_de_paramtre = valeur et scrit sur une ligne. La plupart des paramtres ont une valeur par dfaut. Si un paramtre comprend des espaces ou des tabulations, il doit tre mis entre doubles quotes. Certain paramtres tel que CONTROL_FILE peuvent prendre plusieurs valeurs, elles doivent tre mises entre parenthses et spares par des virgules. Des lignes de commentaires peuvent tre incluses dans le fichier et doivent commencer par le symbole #. Le mot cl IFILE est utilis pour inclure dautres fichiers un fichier de paramtre. Si le systme dexploitation est sensible la casse, le fichier de paramtre le devient galement.

3.2.5. Paramtres essentiels


La plupart des paramtres sont optionnels, cependant certains paramtres sont au contraire essentiels pour linstance Oracle. La liste suivante les prsente : DB_NAME : Identifiant de la base de donnes. DB_CACHE_SIZE : Ne peut tre mis 0. Gre la taille du buffer par dfaut. DB_KEEP_CACHE_SIZE : Gre la taille du keep buffer cache, utilis pour stocker les blocks dans la mmoire susceptible dtre rutiliss. DB_RECYCLE_CACHE_SIZE : Gre le taille du recycle buffer cache, employ pour supprimer les blocs de mmoire rutilis qui ont subit peu de changement. DB_BLOCK_SIZE : Taille dun bloc de donnes spcifi lors de la cration de la base de donnes. Ne peut tre chang aprs la cration. COMPATIBLE : Version du serveur avec laquelle linstance pourra tre compatible. CONTROL_FILES : Spcifie le nom des fichiers de contrle de la base de donnes. SHARED_POOL_SIZE : Spcifie la taille du pool partag en bytes.
Dr Mohamed Salah GOUIDER Page 28 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

BACKGROUND_DUMP_DEST : Spcifie le rpertoire ou le process de fond de taches crit les fichiers de trace et les fichiers de log dalertes. USER_DUMP_DEST : Spcifie le lieu o les fichiers de trace utilisateurs sont cres.

3.2.6. Paramtres communment modifis


Les paramtres le plus souvent modifis par le DBA pour une instance donne sont les suivants : IFILE : Permet dinclure un autre fichier de paramtres dans le fichier courant. Peut tre utilis jusqu trois niveaux. LOG_BUFFER : Spcifie le nombre de bytes qui sont allous pour le buffer de redo log dans la SGA. MAX_DUMP_FILE_SIZE : Spcifie la taille maximale en bloc des fichiers de trace. PROCESSES : Dfinit le nombre maximum de process du systme dexploitation pouvant tre simultanment connect linstance. SQL_TRACE : Permet dactiver ou non lutilitaire de trace SQL pour toutes les sessions utilisateurs. TIMED_STATISTICS : Permet dactiver ou non la datation des vnements dans les fichiers de trace et les crans de monitoring.

3.3. Dmarrage et arrt d'une instance


3.3.1. Etapes de dmarrage d une instance
Le dmarrage dune instance se fait en plusieurs tapes. Elles sont au nombre de trois et se prsentent tel que suit : Le dmarrage de linstance, Le montage de la base de donnes Et louverture de la base de donnes. Le dmarrage de linstance est la premire tape, on parle de mode NOMOUNT. On dmarre ce mode lors de la cration de la base de donnes ou la rgnration des fichiers de contrle. Cest ce moment que le serveur va essayer de lire les fichiers de paramtres dans lordre suivant : le spfileSID.ora. Si il nest pas trouv alors, le spfile.ora (fichier de paramtres cre automatiquement avec une base de donnes). Sinon, le initSID.ora

Dr Mohamed Salah GOUIDER

Page 29

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

La SGA est alloue et les process dmarrs. Les fichiers de trace et dalertes sont galement ouverts. La seconde tape consiste monter la base de donnes. Cest le mode MOUNT. La base de donnes nest pas encore ouverte et donc non accessible. Ce mode est utilis pour certaines taches de maintenance de la base de donnes. A ce moment, la base de donnes est associe une instance dmarre, le serveur Oracle localise les fichiers de contrle et les ouvre.. Ces fichiers sont alors lus pour obtenir le nom et le statut des fichiers de donnes et de redo log. La troisime tape de dmarrage est louverture de la base de donnes. On lappelle galement le mode OPEN ou mode normal de la base de donnes. A ce moment, un utilisateur valide de la base de donnes peut se connecter et accder aux donnes. Lors de cette tape finale, le serveur Oracle vrifie que les fichiers de donnes et de redo log puissent tre ouverts. Si louverture de lun dentre eux choue, une erreur est renvoye et la base de donnes nest pas ouverte. La consistance de la base de donnes est galement vrifie pour sassurer que les fichiers de donnes soient bien synchroniss. Si ncessaire, le process darrire plan SMON lance la restauration dinstance. Les derniers checkpoints sont identifis, les fichiers de Rollback et les donnes utilisateurs sont mises jour, les transactions non commites font lobjet dun rollback

3.3.2. Changer la disponibilit de la Base de donnes


Un DBA peut dmarrer une instance Oracle dans lun des trois modes NOMOUNT, MOUNT et OPEN. Ce mode peut tre chang de lun lautre lorsque linstance t lance (de NOMOUT vers MOUNT puis VERS OPEN). Il est possible de le changer soit grce la commande ALTER DATABASE ou grce au Manager dInstance Oracle. En ligne de commande et en mode NOMOUT, il est possible de taper ceci : ALTER DATABASE [MOUNT| OPEN] Il est possible dagir sur le mode de la base de donnes laide du Manager dInstance Oracle. On peut par exemple changer ltat de la base de donnes de NOMOUNT MOUNT. Cela se fait laide du menu Base de donnes.

Dr Mohamed Salah GOUIDER

Page 30

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

3.3.3. Etapes d'arrt d'une instance


Il y a trois tapes dans le process darrt dune instance et de la base de donnes : La base de donnes est d abord ferme : Lors de cette tape, le serveur Oracle crit tous les changements des buffers caches dans les fichiers de donnes. Tous les buffers de redo log sont crits dans les fichiers de redo log en ligne. Ces mmes fichiers sont ensuite ferms. La base de donnes devient indisponible aux utilisateurs mais les fichiers de contrle restent ouverts. Elle est ensuite dmonte : La base de donnes est ensuite dmonte de son instance. Les fichiers de contrle sont ferms leur tour. instance est finalement arrte : Les fichiers de traage et dalerte sont ferms. La SGA est dsalloue de la mmoire et les process de tche de fond sont termins.

3.3.4. Modes d'arrts


Un DBA peut fermer une base de donnes dans lun des quatre diffrents mode disponibles. Ces modes sont : normal, transactionnel, immdiat et abandon. Le mode normal est le mode par dfaut, les connexions la base de donnes deviennent impossibles, toutefois, le serveur Oracle attend que les utilisateurs connects se dconnectent de la base de donnes. Une fois tous les utilisateurs dconnects, le serveur Oracle dmonte et ferme la base de donnes puis linstance. Dans ce mode de fermeture, une restauration de linstance ne sera pas ncessaire au redmarrage. Dans le mode transactionnel, les clients ne peuvent perdre leur travail. Lors de lutilisation de ce mode, aucun utilisateur ne peut lancer une nouvelle transaction. Les clients sont dconnects lorsque leurs transactions en cours se terminent. La base de donnes est ensuite immdiatement ferme. La restauration dinstance ne sera pas ncessaire dans ce mode galement. Le mode d arrt immdiat entrane larrt immdiat des requtes SQL en cours, les utilisateurs sont dconnects sans attente. Le serveur Oracle rollback annule les transactions actives. Une restauration de linstance ne sera pas ncessaire. Le mode abandon (ABORT) est utilis seulement lorsque les autres modes ne peuvent fonctionner. (Ce mode est excut lorsque la commande STARTUP FORCE est utilise). Les requtes SQL sont termines et les utilisateurs dconnects, les transactions non commites ne font pas lobjet dun rollback. Le prochain dmarrage de linstance ncessitera une restauration de linstance par SMON. En mode abandon, les fichiers ne sont pas ferms. SHUTDOWN [NORMAL| TRANSACTIONAL | IMMEDIATE | ABORT]

Dr Mohamed Salah GOUIDER

Page 31

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

3.4. Vue dynamique des performances


3.4.1. Caractristiques des vues dynamiques de performance
Le serveur Oracle maintient un jeu de tables virtuelles qui enregistre lactivit courante de la base de donnes. Ces tables sont appeles les tables de performances dynamiques. Elles sont visibles pour les utilisateurs via les vues dynamiques de performances. Ces tables appartiennent au DBA et ne sont pas accessibles la plupart des utilisateurs. Les vues sont galement accessibles au DBA qui peut donner le droit daccs dautres utilisateurs. Ces vues sont identifies avec le prfixe V_$ mais le serveur Oracle cr un synonyme public avec le prfixe V$. Les tables sous-jacentes ces vues sont constamment mises jour lorsque la base de donnes est en cours dutilisation. Les informations les plus jours deviennent alors disponibles travers ces vues. Ces vues sont utilises pour fournir des donnes relatives aux performances telles que des informations sur les fichiers de donnes et les structures de la mmoire. Lorsquune instance est dmarre en mode NOMOUNT, seul les vues lisant des donnes de la mmoire sont accessibles. Lorsque la base de donnes est en mode MOUNT, les vues lisant les donnes des fichiers de contrle sont alors accessibles. La vue V$FIXED_TABLE montre les vues dynamiques de performance.

3.4.2. Descriptions des vues dynamiques de performance


Les principales vues accessibles en mode NOMOUNT lisent des donnes de la mmoire et sont les suivantes : V$PARAMETER: Liste les informations sur les paramtres dinitialisation avec leur nom, leur nombre, leur valeur et leur type. V$SPPARAMETER : Liste les informations sur les paramtres dinitialisation du serveur avec leur nom, leur nombre, leur valeur et leur type. V$SGA : Donne des informations rcapitulatives sur la SGA. V$OPTION : Liste les options installes avec le serveur Oracle. V$PROCESS : Contient des informations sur les process actifs. V$SESSION : Donne les informations sur la session courante. V$VERSION : Liste le numro de version et les composants du serveur Oracle. V$INSTANCE : Donne ltat de linstance courante. Les vues lisant les donnes des fichiers de contrle sont accessibles seulement lorsque la base de donnes est monte. Les principales vues sont les suivantes : V$THREAD : Prsente les informations sur les threads des fichiers de contrle tel que les informations sur les groupes de redo log.

Dr Mohamed Salah GOUIDER

Page 32

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

V$CONTROLFILE : Fournit les noms des fichiers de contrle. V$DATABASE : Contient des informations sur la base de donnes tel que le nom ou la date de cration. V$DATAFILE : Donne les informations sur les fichiers de donnes tel que leur nom, leur statut et dautres dtails. V$DATAFILE_HEADER : Donne des informations sur les en-ttes des fichiers de contrle. V$LOGFILE : Contient des informations sur les fichiers de redo log en ligne

Dr Mohamed Salah GOUIDER

Page 33

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

4.

Procdure de cration d une base de Donnes

La cration de la base de donnes est la premire tape dans lorganisation et la gestion dun systme de base de donnes. La cration dune base de donnes permet un ensemble de fichiers du systme d'exploitation de fonctionner en tant que base de base de donnes Oracle. Indpendamment du nombre de fichiers de donnes et du nombre d'instances qui accdent la base de donnes, une base de donnes ne peut tre cre qu'une seule fois. Une base de donnes initiale peut tre cre lors de linstallation dOracle. Cette base de donnes peut tre utilise comme base de donnes initiale, ou une nouvelle base de donnes peut tre cre. Pour crer une nouvelle base de donnes, il faut tenir compte de la taille des fichiers de donnes, des blocs, des tables et des index. Lemplacement des fichiers de contrle doit tre aussi planifi. Lors de la cration d'une nouvelle base de donnes, il faut galement tenir compte du jeu de caractres que la base de donnes utilisera. Une fois la base de donnes cre, le jeu de caractres spcifi ne peut plus tre chang, sauf si la base de donnes est recre.

4.1. Pr requis ncessaires la cration


Une base de donnes est cre et gre par un DBA (Database Administrator). Si le DBA connat les conditions pralables la cration d'une base de donnes, il pourra crer efficacement une base de donnes. Pour crer une base de donnes, un DBA doit possder un compte privilgi authentifi par le systme d'exploitation ou par un fichier de mots de passe. Un compte privilgi dun utilisateur dfini les actions que cet utilisateur peut effectuer sur la base de donnes ou les objets de la base de donnes. Il doit y avoir suffisamment de mmoire pour dmarrer une instance. Ce qui signifie quil doit y avoir suffisamment de mmoire pour que la zone mmoire global du systme (System Global Area SGA), les fichiers excutables et les autres processus en arrire plan s'excutent normalement. La taille minimale de la SGA des petites bases de donnes est de 6,5 MB. Lespace disque disponible sur la machine doit tre suffisant pour recevoir la base de donnes planifie. Le disque doit comporter suffisamment d'espace de stockage pour stocker les fichiers de contrle, les fichiers de donnes et les fichiers redo log online de la base de donnes.

Dr Mohamed Salah GOUIDER

Page 34

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

4.1.1.

Grer et sauvegarder les fichiers d une base de donnes

Une base de donnes peut prsenter une taille relativement importante et comporter un grand nombre d'utilisateurs. Aussi, un DBA doit planifier correctement la structure physique d'une base de donnes de telle faon que lchec dun disque ne provoque pas larrt de linstance de la base de donnes. Crer au moins deux fichiers de contrle et les stocker sur des disques diffrents. Si un fichier de contrle ou un disque sur lequel est stock un fichier de contrle est corrompu, la base de donnes pourra toujours accder lautre fichier de contrle. Les fichiers redo log online doivent tre organiss en groupes multiplexs. Un groupe de fichier redo log est constitu des copies identiques des fichiers redo log. Le multiplexage des groupes de fichiers redo log online permet au processus Log Writer (LGWR) de continuer dcrire des entres log des membres disponibles dans un groupe si un membre de ce groupe est indisponible ou corrompu. Le processus LOGWR est un processus darrire plan qui crit les entres du cache redo log (redo log buffer) sur le disque. Les membres dun groupe de redo log doivent galement tre stocks sur des disques diffrents. Ainsi si un disque est corrompu, le LGWR et linstance de la base de donnes nchoueront pas. Les fichiers de donnes contenant des objets de la base de donnes avec des dures de vie diffrentes, telles que les donnes dune application et les donnes temporaires, doivent tre spars afin de minimiser la fragmentation. Les fichiers de donnes dont les donnes participent la contention sur le disque doivent tre spar sur diffrents disques. Les fichiers de donnes qui contiennent des donnes avec des caractristiques d'administration, diffrentes doivent tre spars. Par exemple, les objets avec des besoins dentres/sorties concurrents, tels que les tables et les index, doivent tre spars. Cette sparation garantit au DBA un bon quilibrage des charges dentre/sortie.

4.1.2.

Crer une base de donnes

Il est possible de crer une base de donnes la main avec un script SQL qui utilise la commande CREATE DATABASE ou tout simplement avec Oracle Database Configuration Assistant. Attention : Pendant linstallation dOracle Server, le DBCA (interface graphique utilisateur qui interagit avec Oracle Universal Installer) est lanc par OUI (Oracle

Dr Mohamed Salah GOUIDER

Page 35

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Universal Installer) et permet de rer une base de donnes par dfaut. Il est possible pour lutilisateur de ne pas lancer cette option. Si la structure de la base de donnes initiale ne remplie pas les besoins, une nouvelle base de donnes peut tre cre. Voici les tapes dans la cration manuelle d'une base de donnes : Dcider dun nom unique pour linstance et pour la base de donnes. Le nom de linstance sert identifier les instances associes la base de donnes, et le nom de la base de donnes sert identifier une base de donnes spcifique. Indiquer le jeu de caractres que la base de donnes doit utiliser. Ce choix est trs important car une fois configur, le jeu de caractres ne peut tre chang pour cette base de donnes. Dfinir les variables du systme d'exploitation. Les variables du systme d'exploitation sont dfinies dans la base de registre. Leur dfinition dtermine linstance par dfaut, le jeu de caractres de la base de donnes et les autres paramtres ncessaires au bon fonctionnement de la base de donnes. Crer un fichier de paramtres. Ce fichier est ncessaire pour crer et dmarrer une instance. Pour crer un fichier de paramtres, il faut spcifier la taille des composants de la zone mmoire globale du systme (SGA), le nom de la base de donnes, les fichiers de contrle de la base de donnes et la taille des blocs de donnes de la base de donnes. Crer les services Oracle. Quand une base de donnes est cre, les services dOracle, tel que le service OraHomeTNSListener81 en environnement Windows NT, sont galement crs. Les services dOracle prparent une base de donnes en vue de son utilisation. Le service OraHomeTNSListener81 identifie et accepte les demandes de connexion provenant des applications cliente. Crer un fichier de mots de passe. La cration dune base de donnes implique la cration dun fichier de mots de passe. Le fichier de mots de passe contient les mots de passe pour authentifier des utilisateurs privilgis autoriss effectuer des oprations telles que le dmarrage et larrt de la base de donnes. Dmarrer une instance sans monter la base de donnes. Lorsqu'une instance est dmarre, la SGA est alloue linstance indique et les processus darrire plan sont dmarrs en vue de la cration de la base de donnes. Crer la base de donnes laide de la commande SQL CREATE DATABASE et en dfinissant les paramtres facultatifs de la commande. Ces paramtres servent spcifier le nombre maximal de fichier, leurs tailles et le mode de fonctionnement de ces fichiers.

Dr Mohamed Salah GOUIDER

Page 36

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Excuter les scripts qui gnrent les vues du dictionnaire de donnes. Un dictionnaire de donnes est un ensemble de tables qui fournissent des informations sur la base de donnes laquelle elles sont associes.

4.2. Environnement du systme d exploitation


Oracle utilise des paramtres de configuration pour localiser des fichiers et spcifier les informations dexcution de tous les produits Oracle. Ces informations de configuration sont stockes dans la base de registre du systme d'exploitation. Pour quune instance Oracle fonctionne proprement dans un environnement Windows NT, il est essentiel de stocker les informations de configuration adquates dans la base de registre. La base de registre Windows NT est une base de donnes hirarchique et centralise qui stocke les informations de configuration du matrielle et logicielle d'une machine locale. Les paramtres de la plupart des produits Oracle sont stocks dans la sous-cl HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE de la base de registre Windows NT. Les cinq variables de la base de registre sont : Pour quune instance Oracle fonctionne proprement, il faut prciser dans la base de registres le chemin d'accs du rpertoire racine o Oracle a t install. Ce chemin est indiqu dans la variable ORACLE_HOME. Le SID (identificateur du systme Oracle) de linstance, laquelle un utilisateur se connecte si la chane de connexion nest pas spcifie, est stock dans la variable de la base de registre ORACLE_SID. Le nom de l'instance doit tre unique pour chaque instance qui s'excute sur une mme machine. La valeur de la variable ORACLE_SID doit comporter un maximum de quatre caractres sous Windows NT et huit caractres sous UNIX. Par exemple, si le nom par dfaut de linstance est ORCL, la variable ORACLE_SID prendra la valeur ORCL. Si un jeu de caractres, autre que le jeu de caractres par dfaut US7ASCII, est utilis pour la cration d'une base de donnes, le nom dun rpertoire contenant les informations de conversion pour le jeu de caractre choisi est stock dans la variable ORA_NLS33. Si la variable ORA_NLS33 nest pas dfinie et quune base de donnes est dmarre avec un jeu de caractres autres que celui par dfaut, le jeu ne sera pas reconnu par la base de donnes. Pour quune instance dOracle fonctionne proprement, la variable PATH doit stocker le chemin d'un fichier spcifique. La dernire variable est LD_LIBRARY_PATH, elle contient les chemins pour les dossiers du systme dexploitation et des fichiers de la librairie Oracle. Par exemple : ORACLE_HOME/lib.
Dr Mohamed Salah GOUIDER Page 37 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

4.2.1.

Cration de fichiers de mots de passe

Les oprations telles que larrt et le dmarrage de la base de donnes doivent tre effectues par des utilisateurs autoriss administrer une base de donnes. L'excution de telles oprations par des utilisateurs de base de donnes non autoriss peut entraner la perte de donnes. Par exemple, si un utilisateur arrte une base de donnes en mode Abort, les donnes non valides risquent d'tre perdues. Le problme des utilisateurs non autoriss effectuer des oprations critiques spcifiques peut se rsoudre en utilisant un fichier de mots de passe permettant d'authentifier les utilisateurs qui administrent la base de donnes. L'excutable ORAPWD.exe permet d'excuter lutilitaire ORAPWD.

4.3. Crer une base de donnes


4.3.1. Assistant de configuration de base de donnes
Il existe deux mthodes pour crer une base de donnes. Soit en utilisant lassistant de configuration de base de donnes, soit en utilisant le commande CREATE DATABASE. Lassistant de configuration de base de donnes est un utilitaire qui se lance sous linux avec la commande dbca et qui permet : Crer une base de donnes : Option qui permet de crer une nouvelle base de donnes ou un template, qui permet de choisir avec fichiers de donnes ou sans fichiers de donnes. Configurer les options de base de donnes : Cette option permet dajouter des options la base de donnes qui nont pas t configures initialement. Par exemple : JVM, interMedia, Oracle OLAP Services Supprimer une base de donnes : Option qui permet de supprimer une base de donnes. Grer les templates : Il existe trois moyens de crer un template. Soit partir dun template dj existant, soit partir dune base de donnes, soit partir dun template prdfini. Il existe deux types de templates de base de donnes. Ceux qui contiennent seulement la structure physique de la base de donnes (options, tablespaces, datafiles), ou les templates contenant la structure ainsi que les donnes contenues dans la base.

Dr Mohamed Salah GOUIDER

Page 38

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Lors de la cration dune base de donnes avec lassistant de configuration, il vous sera demand de choisir parmi lun des quatre types de base de donnes suivant : Installation typique ou personnalise : Linstallation typique est pour une base de donnes avec un faible trafic. Le mode personnalis permet de choisir parmi lun des environnements suivant : OLTP (OnLine Transaction Processing) : Cet environnement est utilis pour les grandes bases de donnes devant grer des milliers de transactions (lecture, criture, suppression) par jour. Les performances pour ce type denvironnement sont dfinit en terme de disponibilit des donnes. Data Warehousing : Cet environnement est utilis avec des base de donnes qui sont souvent interroges mais peut modifies. Les performances de ce type denvironnement sont dfinit en terme de temps de rponse. Mixed : Environnement supportant la fois OLTP et Data Warehousing. Mode par dfaut pour linstallation dune base de donnes.

4.3.2. Les options de la commande CREATE DATABASE


Le DBA peut crer une base de donnes en utilisant la commande CREATE DATABASE. La connaissance des fonctions des options de la commande CREATE DATABASE permettra au DBA d'identifier celles qu'il doit spcifier pour crer une base de donnes adapte. CREATE DATABASE <database> [MAXLOGFILES integer] Spcifie le nombre maximum de groupes de fichier log qui peuvent tre cr pour la base de donnes. La valeur de cette option affecte la taille du fichier de contrle. [MAXLOGMEMBERS integer] Spcifie le nombre maximum de fichiers redo log membres dun groupe de fichiers redo log. La valeur de cette option affecte la taille du fichier de contrle. [MAXLOGHISTORY integer] Spcifie le nombre maximum de redo log archivs qui peuvent tre utiliss pour la rcupration automatique physique du serveur Oracle Parallel. La valeur de cette option affecte la taille du fichier de contrle. [MAXDATAFILES integer] Spcifie le nombre maximum de fichiers de donnes qui peuvent tre crs pour la base de donnes. La valeur de cette option affecte la taille du fichier de contrle. [MAXINSTANCES integer]

Dr Mohamed Salah GOUIDER

Page 39

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Spcifie le nombre maximum dinstances pouvant monter et ouvrir la base de donnes simultanment. La valeur de cette option affecte la taille du fichier de contrle. [ARCHIVELOG | NOARCHIVELOG] Spcifie que les redo log doivent tre archivs avant dtre rutiliss. Loption NOARCHIVELOG spcifie que les fichiers redo log peuvent tre rutiliss sans archiver leur contenu. La valeur de cette option affecte la taille du fichier de contrle. [CHARACTER SET charset] Spcifie le jeu de caractres utilis par la base de donnes pour stocker les donnes. Si cette option nest pas prcise, le jeu de caractre par dfaut US7ASCII sera utilis. [DATAFILE filespec [, filespec]] Spcifie le fichier de donnes crer pour le tablespace SYSTEM. Cette option est relie la clause autoextend_clause par la relation : filespec :== filename [SIZE n [K|M] ] [REUSE] [autoextend_clause] autoextend_clause :== AUTOEXTEND {OFF|ON [NEXT integer [K|M] ] [MAXSIZE integer [K|M] } active ou dsactive lextension automatique dun fichier de donnes. [CONTROLFILE REUSE] Spcifie que les fichiers de contrle identifis dans le fichier de paramtre peuvent tre crass si ils existent dj. [NATIONAL CHARACTER SET charset] Spcifie le jeu de caractres national utilise pour stocker les donnes dans des colonnes de type NCHAR, NCLOB ou NVARCHAR2. [LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ] Spcifie les fichiers log utilises pour la base de donnes et les groupes auxquels ces fichiers appartiennent. [Defaut Temporary Tablespace] Cration dun tablespace par dfaut, chaque utilisateur ne spcifiant pas un tablespace par dfaut sera automatiquement assign au tablespace par dfaut. [SET TIME_ZONE] Fuseau horaire utiliser pour la base de donnes.

4.3.3. Crer une base de donnes en mode commande


La principale responsabilit d'un DBA est de crer et de grer une ou plusieurs bases de donnes. Dans ces bases de donnes peut tre stock un trs grand nombre de donnes qui peuvent tre rcupres et analyses. Le script utilis pour crer une base de

Dr Mohamed Salah GOUIDER

Page 40

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

donnes doit tre crit dans un fichier texte. Le script est ensuite excut en utilisant SQL*Plus (par exemple). Exemple de script permettant de crer une base de donnes :

4.3.4. Les conditions d'erreur lors de la cration d'une base de donnes


Il existe plusieurs situations lors de la cration dune base de donnes avec la commande CREATE DATABASE qui peuvent provoquer un chec. La connaissance de ces situations permet au DBA d'identifier les erreurs faites lors de la cration d'une base de donnes. Des erreurs de syntaxe dans le script SQL Les fichiers que la commande CREATE DATABASE doit crer existent dj. Cette erreur apparat lorsque loption REUSE na pas t spcifie ou lorsque la taille des fichiers ne correspond pas. Une erreur se produit au niveau du systme, telles que des permissions de fichier et de rpertoire non valides. Il ny a pas assez despace disque pour crer les fichiers spcifis dans la commande CREATE DATABASE. Dans tous les cas dchec, il faut arrter linstance. Il faut ensuite modifier la commande, redmarrer linstance en mode NOMOUNT et crer nouveau la base de donnes.

Dr Mohamed Salah GOUIDER

Page 41

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

4.3.5. Le contenu d'une base de donnes aprs sa cration


Oracle cre automatiquement plusieurs fichiers, segments et tables dans une base de donnes. La connaissance des lments qui constituent une base de donnes permet au DBA d'identifier et de grer les objets des bases de donnes. Lors de la cration de la base de donnes, le tablespace SYSTEM est cr. Le tablespace SYSTEM est un ensemble de fichiers de donnes spcifis dans la commande CREATE DATABASE. Il contient le dictionnaire de donnes. Les tables du dictionnaire de donnes sont cres durant la cration de la base de donnes. Les tables du dictionnaire de donnes contiennent les informations sur la structure de la base de donnes, sur les utilisateurs de la base de donnes et sur lallocation de l'espace. Les vues du dictionnaire de donnes ne sont pas cres automatiquement lors de la cration de la base de donnes. Les vues du dictionnaire de donnes sont des vues sur les tables du dictionnaire de donnes. Les fichiers de contrle et les fichiers redo log sont crs la cration de la base de donnes. Les fichiers de contrle contiennent le nom de la base de donnes et le chemin d'accs de tous les fichiers de donnes et fichiers redo log. Lors de la cration de la base de donnes, les fichiers redo log sont vides ; ils enregistrent ensuite tous les modifications apportes aux donnes de la base de donnes. Les deux utilisateurs par dfaut SYS et SYSTEM sont crs la cration de la base de donnes. SYS et SYSTEM ont respectivement les mots de passe par dfaut change_on_install et manager . Les utilisateurs SYS et SYSTEM possdent tous les privilges systme sur la base de donnes. Enfin, lorsque la base de donnes est cre, le segment de rollback SYSTEM est cr dans le tablespace SYSTEM. Le segment de rollback SYSTEM est utilis pour enregistrer les modifications apportes dans le tablespace SYSTEM.

Dr Mohamed Salah GOUIDER

Page 42

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

5. Utilisation et contenu du dictionnaire de donnes


5.1. Structure du dictionnaire de donnes
5.1.1. Prsentation du dictionnaire de donnes
Les utilisateurs des bases de donnes, les dveloppeurs d'applications, les administrateurs de bases de donnes et le serveur Oracle utilisent le dictionnaire de donnes comme une source centrale dinformation associe une base de donnes. Le dictionnaire de donnes est un ensemble de tables et de vues qui est utilis comme une rfrence fournissant de linformation jour concernant la base de donnes. Le dictionnaire de donnes est automatiquement mis jour par Oracle lorsque des commandes de langage de dfinition des donnes ou des commandes de manipulation des donnes, dbouchant sur l'extension d'une table, sont excutes. Le dictionnaire de donnes stocke les informations sur : La structure logique de la base de donnes Par exemple, les informations sur les tablespaces, les blocs de donnes, les extents et les segments d'une base de donnes. La structure physique de la base de donnes Notamment les informations sur les fichiers de contrle, les fichiers redo log et les fichiers de donnes. Les noms et les dfinitions des objets Tels que les tables, les vues, les index, les clusters, les squences, les triggers (ou dclencheurs), les fonctions, les procdures et les packages mais aussi les informations sur les espaces allous et lespace actuellement utilis par les objets. Les contraintes dintgrit dfinies pour les tables d'une base de donnes. Les noms des utilisateurs valides de la base de donnes et les privilges et les rles attribus chaque utilisateur de la base de donnes. Les privilges dfinissent les oprations quun utilisateur peut effectuer dans la base de donnes. Un rle est constitu dun ensemble de privilges. L'audit sur une base de donnes. Par exemple, le dictionnaire de donnes fournit les informations sur les utilisateurs qui ont accd des objets ou les ont mis jour. Laudit correspond lenregistrement doprations spcifiques en fonction d'un utilisateur, d'un objet ou d'un privilge.

Dr Mohamed Salah GOUIDER

Page 43

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Le dictionnaire de donnes possde deux composants : les tables de base les vues du dictionnaire de donnes Les tables de base sont les tables relles d'Oracle qui stockent les informations sur une base de donnes. Ces tables sont cres avec le script sql.bsq. Ce script est stock dans le rpertoire orant\rdbms\admin. Les informations stockes dans les tables de base sont lues et crites par le serveur Oracle. Ces informations sont rarement accdes directement par les utilisateurs car ces informations sont normalises et stockes sous une forme encode. Les utilisateurs ou administrateurs de bases de donnes ne doivent pas utiliser de commandes DML, telles que INSERT, UPDATE et DELETE, pour mettre jour les tables de base directement, l'exception de la table de trace d'audit lorsque la fonctionnalit d'audit est utilise. Les vues du dictionnaire de donnes sont des vues sur les tables de base. Elles sont cres par le script catalog.sql. Les vues du dictionnaire de donnes simplifient et rsument les informations contenues dans les tables de base. Les vues du dictionnaire stockent galement ces informations sous une forme que les utilisateurs de la base de donnes peuvent lire facilement. Ces vues permettent au DBA de grer et tuner la base de donnes.

5.1.2. Cration et catgories des vues du dictionnaire de donnes


La cration des vues du dictionnaire de donnes se fait partir du script catalog.sql, stock dans ORACLE_HOME\rdbms\admin. Une fois la base de donne ouverte il suffit seulement dexcuter ce script. Il faut tenir compte que lexcution de ce script est relativement longue. Il existe trois principales catgories du dictionnaire de donnes : USER_<vues> : Vues pouvant tre accdes par les utilisateurs de la base de donnes. USER_<vues>se rfre au schma dun utilisateur de la base de donnes. Un schma est un domaine logique appartenant un utilisateur o les objets crs par cet utilisateur peuvent tre stocks. USER_<vues> affiche les informations sur les objets appartenant un utilisateur spcifique. Par exemple, la vue USER_TABLES contient les informations sur les tables appartenant un utilisateur. USER_<vues> affiche les informations sur les privilges et les rles attribus par un utilisateur sur des objets crs par cet utilisateur. Les informations fournies par USER_<vues> font partie d'un sous-ensemble des informations fournies par ALL_<vues>.

Dr Mohamed Salah GOUIDER

Page 44

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

ALL_<vues>: Vues affichant les informations sur des objets auxquels lutilisateur peut accder travers lobtention publique ou explicite de rles et de privilges. Le contenu de ALL_<vues> est un sous-ensemble de DBA_<vues>. DBA_<vues>: Vues fournissant des informations sur tous les objets de la base de donnes. Ces vues sont gnralement interroges par les DBA ou les utilisateurs qui possdent le privilge systme SELECT ANY TABLE. Ce privilge permet aux utilisateurs dinterroger toutes les tables de la base de donnes.

5.1.3. Informations contenues dans le dictionnaire de donnes


Le dictionnaire de donnes possde des vues varies qui fournissent diffrents types dinformations. Vues dictionary dict_columns dba_tables dba_objects dba_lobs dba_tab_columns dba_constraints Description Vues gnrales Informations sur les objets, tels que les tables, les contraintes, les gros objets et les colonnes Informations sur les privilges et les rles des utilisateurs

dba_users dba_sys_privs dba_roles

Dr Mohamed Salah GOUIDER

Page 45

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

dba_extents dba_free_space dba_segments dba_rollback_segs dba_data_files dba_tablespaces dba_audit_trail dba_audit_objects


dba_audit_obj_opts

Allocation despace pour les objets de la base de donnes Structures gnrales de la base de donnes Informations daudit

La vue DICTIONARY du dictionnaire de donnes fournit une vue densemble de toutes les donnes du dictionnaire de donnes. Linterrogation de la vue DICTIONARY vite d'avoir se souvenir de toutes les vues et des informations fournis par chacune de ces vues. La vue DICTIONARY possde deux colonnes : TABLE_NAME et COMMENT. Ces colonnes indiquent la vue qui devra ensuite tre interroge pour extraire des informations. Par exemple, pour rcuprer les informations concernant les tables accessibles un utilisateur, il faut interroger la vue ALL_CATALOG. Exemple : Lobjectif est de rcuprer les noms des segments de rollback de la base de donnes en interrogeant la vue DICTIONARY. SELECT * FROM dictionary WHERE table_name LIKE UPPER( %ROLLBACK% ); TABLE_NAME -----------------------------DBA_ROLLBACK_SEGS 1 row selected. COMMENTS ------------------------------------Description of rollback segments

Cette requte affiche le nom des vues qui contiennent des informations sur les segments de rollback. Pour afficher les noms des segments de rollback : SELECT segment_name FROM dba_rollback_segs;

SEGMENT_NAME ------------------------------

Dr Mohamed Salah GOUIDER

Page 46

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

SYSTEM RB_TEMP RB1 RB2 RB3 ... Pour afficher la liste des colonnes dune vue, il faut utiliser le mot cl : DESCRIBE V$INSTANCE

5.2. Scripts du dictionnaire de donnes


5.2.1. Cration de fonctions PL/SQL
Pour quun serveur Oracle fonctionne efficacement et de faon optimale, la base de donnes doit supporter les fonctionnalits PL/SQL. Le script catproc.sql est utilis pour ajouter des fonctionnalits PL/SQL une base de donnes. Ce script lance tous les scripts utiliss ou ncessaires avec PL/SQL. Il cr galement des packages PL/SQL qui tendent les fonctionnalits du SGBDR et des vues supplmentaires de gestion des files d'attente de messages et de restauration des tablespaces. Catproc.sql est stock sous le rpertoire ora92\rdbms\admin. Pour lexcuter, il suffit douvrir une session SQL*Plus et de lancer lexcution du script avec la commande : @<chemin complet du script>.

5.2.2. Scripts administratifs


Pour grer une base, il peut tre ncessaire au DBA de crer des structures supplmentaires, telles que des tables, des vues et des packages. Les scripts administratifs sont spars en quatre catgories de fichiers se trouvant dans le rpertoire : Les scripts utl*.sql : Ils crent des vues et des tables additionnelles pour les utilitaires de la base de donnes. Par exemple, le script utlsampl.sql cre et remplit les tables dexemple EMP, DEPT, SALGRADE et BONUS de lutilisateur SCOTT. Les scripts cat*.sql : Ils crent des vues du dictionnaire de donnes et des tables de base du dictionnaire de donnes. Par exemple, catalog.sql cre des vues du dictionnaire pour une base de donnes, catman.sql cre des tables de base pour la rcupration et des vues pour lutilitaire Recovery Manager. Les scripts dbms*.sql :

Dr Mohamed Salah GOUIDER

Page 47

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Ils crent des spcifications de package de base de donnes. Par exemple, le script dbmspool.sql cre la spcification dun package qui permet dafficher la taille des objets prsent dans la shared pool. Les scripts prvt*.plb : Ils crent le corps de package.

Dr Mohamed Salah GOUIDER

Page 48

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

6. Gestion des fichiers de contrle et de redo log


6.1. Fichier de contrle
Le fichier de contrle file est un petit fichier binaire, ncessaire pour dmarrer et maintenir une base de donnes. Le fichier de contrle doit tre disponible chaque fois que la base de donnes est monte ou ouverte. Lorsqu'une instance monte la base de donnes, elle lit le fichier de contrle pour localiser les fichiers de donnes et les fichiers redo log online. Une des fonctions du fichier de contrle est de fournir les informations les plus rcentes sur la base de donnes linstance Oracle mise jour en permanence pendant l'utilisation de la base de donnes. Le fichier de contrle fournit galement des informations sur la cohrence de la base de donnes. Ces informations sont utilises lors de la restauration de la base de donnes. Si le fichier de contrle utilis par la base de donnes devient indisponible, la base de donnes ne peut pas fonctionner proprement. Le fichier de contrle peut devenir indisponible pour un grand nombre de raisons telles que la dfaillance du disque ou la corruption du fichier. Certains mots-cls utiliss pendant la cration dune base de donnes, affectent la taille du fichier de contrle. Ceci est surtout visible quand les paramtres ont de trs grandes valeurs. Les paramtres suivants affectent la taille du fichier de contrle : MAXLOGFILES MAXLOGMEMBERS MAXLOGHISTORY MAXDATAFILES MAXINSTANCES

6.1.1. Contenu des fichiers de contrle


Le fichier de contrle stocke des informations permettant la base de donnes de fonctionner correctement. Le fichier de contrle stocke : Le nom et lidentifiant de la base de donnes Les noms et les emplacements des fichiers de donnes et des fichiers redo log en ligne. Ces informations permettent au serveur Oracle de localiser les fichiers de la base de donnes sur le disque. Le nom des tablespaces

Dr Mohamed Salah GOUIDER

Page 49

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

La date et l'heure de cration de la base de donnes. Le numro de squence de log actuel. Cette information permet de synchroniser tous les fichiers appartenant la base de donnes. Les informations sur les points de synchronisation. Cette information est utilise par le serveur Oracle lors de la restauration de linstance. Lhistorique des fichiers log Les informations de sauvegarde de lutilitaire Recovery Manager. Le dbut et la fin des segments de undo. Le fichier de contrle se divise en deux parties : Rutilisable, qui stocke les informations du Recovery Manager, comme les fichiers de sauvegarde de redo log et les fichiers de sauvegarde de donnes. Ces fichiers ne sont rutilisables que par le Recovery Manager. Non rutilisable.

6.1.2. Multiplexage des fichiers de contrle


Dans le but de prvenir une erreur dans un fichier de contrle, il est fortement recommand de multiplexer les fichiers de contrles et de les stocker sparment sur des disques diffrents. Si un fichier de contrle est perdu, une copie du fichier de contrle peut tre utilis pour redmarrer linstance. On peut multiplexer jusqu 8 fichiers de contrles.

6.1.3. Rcuprer les informations des fichiers de contrle


Pour rcuprer lemplacement et les noms des fichiers de contrles, il est ncessaire dinterroger la vue dynamique V$CONTROFILE. SELECT name FROM V$CONTROLFILE ; NAME ------------------------------D:\ORACLE\ORADATA\IASDB\CONTROL01.CTL D:\ORACLE\ORADATA\IASDB\CONTROL02.CTL D:\ORACLE\ORADATA\IASDB\CONTROL03.CTL 3 rows selected. Dautres vues peuvent tre utilises comme V$PARAMETER qui contient toutes les informations sur tous les paramtres, V$CONTROLFILE_RECORD_SECTION qui contient les informations sur les

Dr Mohamed Salah GOUIDER

Page 50

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

sections denregistrement des fichiers de contrles, et la commande SHOW PARAMETERS CONTROL_FILES qui liste le nom, ltat et lemplacement des fichiers de contrles.

6.2. Les fichiers de redo log


6.2.1. Utiliser les fichiers de redo log
Les fichiers de redo log permettent denregistrer tous les changements effectus par des transactions sur les donnes et fournissent un mcanisme de rcupration des donnes en cas de dysfonctionnement du systme ou dun disque. Les fichiers redo log stockent toutes les modifications apportes aux donnes du buffer cache. Lorganisation des fichiers de redo log seffectue en groupe (au minimum 2) contenant un ou plusieurs fichiers de redo log. Chaque fichier de redo log appartenant un groupe est appel un membre. Tous les membres redo log online prsentent tous des numros de squence log identiques. Le numro de squence log est affect chaque fois que le serveur Oracle commence crire dans un groupe de fichiers redo log online. Ces numros sont utiliss pour identifier de faon unique chaque membre redo log online. Le numro de squence log courant est stock dans le fichier de contrle ainsi que dans l'entte de tous les fichiers de donnes. Ce numro est utilis lors de la rcupration de la base de donnes. Les membres redo log online ont tous la mme taille. Un groupe de redo log en ligne sert galement restaurer des donnes valides qui n'ont pas t crites dans les fichiers de donnes. Une telle situation peut se produire aprs l'chec d'une instance.

6.2.2. Structure des fichiers de redo log


La charge de maintenir et grer plusieurs fichiers de redo log appartient au DBA, pour viter quun seul dysfonctionnement dun fichier fasse perdre des informations la base de donnes. Les mmes informations sur les modifications apportes aux donnes sont enregistres dans tous fichiers redo log online d'un groupe de redo log online. Donc tous les fichiers redo log d'un groupe redo log en ligne possdent exactement les mmes informations. Ce travail est effectu pas le processus d'arrire plan LGWR.

Dr Mohamed Salah GOUIDER

Page 51

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

6.2.3. Paramtres des fichiers de redo log


Les performances d'une base de donnes sont affectes par le nombre et la taille des fichiers et des groupes redo log online. Le numro initial et la taille des fichiers redo log en ligne et des groupes sont dtermins pas des paramtres d'initialisation : MAXLOGFILES spcifie le nombre maximal de groupes de fichiers redo log online. La limite de MAXLOGFILES est de 255. MAXLOGMEMBERS dtermine le nombre maximal de membres redo log online pour chaque groupe de redo log online. Le nombre total de membres redo log online est un multiple du nombre de fichiers redo log. LOG_FILES spcifie le nombre maximal actuel de groupes de fichiers redo log online pour la dure de vie de l'instance courante. Par dfaut, la valeur de LOG_FILES est plus petite ou gale au nombre total de membres redo log en ligne (MAXLOGMEMBERS * MAXLOGFILES). Les fichiers redo log en ligne sont crs durant la cration de la base de donnes. Le serveur Oracle enregistre squentiellement tous les changements fait sur la base de donnes dans le buffer de redo log. Ensuite, les donnes contenues dans le redo buffer sont crites grce au process LGWR dans le fichier de redo log online. LGWR dclenche le processus dcriture lors dun des vnements suivants : Une transaction est comit. Quand le buffer de redo log est plein au tiers. Quand le buffer de redo log contient plus de 1Mo denregistrements changs. Avant que le process DBWn crivent les blocs modifis du database buffer cache dans les fichiers de donnes.

6.3. Grer les groupes de redo


6.3.1. Fonctionnement des fichiers de redo log
Basculement de fichiers log (Log Switches) : Toutes les modifications apportes la base de donnes sont stockes squentiellement dans le buffer redo log avant le remplissage des groupes de fichiers redo log online. Le serveur Oracle crit ensuite le contenu du redo log buffer dans les groupes de redo log online. Le redo log buffer est utilis de faon circulaire. Dans certains cas, les entres du redo log buffer sont crites dans un des groupes de redo log online par le processus d'arrire plan LGWR. Ce groupe est appel le groupe courant de redo log online.
Dr Mohamed Salah GOUIDER Page 52 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Le LGWR crit squentiellement dans les fichiers redo log online. Il commence crire dans le groupe suivant une fois que le groupe courant est plein. Lorsque le dernier fichier redo log online disponible est plein, le LGWR revient au premier groupe et crase son contenu avec les nouvelles entres.

L'vnement durant lequel LGWR arrte d'crire dans un groupe et commence crire dans un autre, est appel basculement de fichier log ("log switch"). L'vnement basculement de fichier log amorce un vnement point de

Dr Mohamed Salah GOUIDER

Page 53

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

synchronisation ("checkpoint"), qui entrane l'criture des buffers modifis ("dirty blocks") du buffer cache dans les fichiers de donnes. Un basculement de fichier log apparat lorsque : le groupe courant de fichiers redo log online est plein l'administrateur force le basculement de fichier log. Ces situations provoquent les vnements qui permettent au serveur Oracle de conserver les donnes les plus rcentes dans les fichiers de donnes. Chaque fois qu'un basculement de fichier log se produit et que le LGWR commence l'criture dans un nouveau groupe de fichiers redo log online, le serveur Oracle assigne un numro appel le numro de squence log. Ce numro identifie l'ensemble des entres redo log. Points de synchronisation (Checkpoints) : L'vnement darrire plan du serveur Oracle qui met jour les fichiers de donnes est le point de synchronisation. Les points de synchronisation peuvent concerner tous les fichiers de donnes de la base de donnes ou seulement certains fichiers de donnes spcifiques. Lors d'un point de synchronisation, tous les buffers modifis ("dirty blocks") sont crits dans les fichiers de donnes par le processus DBWR. Le nombre de buffers qui sont crit par le process DBWn est dtermin par le paramtre FAST_START_MTTR_TARGET. Si le point de synchronisation s'est achev correctement, le processus d'arrireplan CKPT met jour les enttes de tous les fichiers de donnes et fichiers de contrle.

Un point de synchronisation se produit dans plusieurs situations : durant un basculement de fichier log. Lorsqu'une instance s'arrte en mode normal, transactional ou immediate

Dr Mohamed Salah GOUIDER

Page 54

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Selon la configuration des paramtres d'initialisation LOG_CHECKPOINT_INTERVAL et LOG_CHECKPOINT_TIMEOUT lorsqu'il est impos par l'administrateur lorsqu'un tablespace devient offline ou en lecture seule Ces situations entranent l'vnement checkpoint. Ainsi les fichiers de donnes dans la base de donnes sont mis jour intervalles rguliers. Les informations propos de chaque checkpoint sont enregistres dans le fichier alert<SID>.log si le paramtre LOG_CHECKPOINTS_TO_ALERT est initialis TRUE. Sa valeur par dfaut est FALSE.

6.3.2. Forcer le basculement de fichiers log et un point de synchronisation Log switch :


Comme vu dans le point prcdent, le basculement de fichiers log et les checkpoints sont fait automatiquement. Pourtant en cas de ncessit le DBA peut dcider de forcer lexcution dun log switch ou dun checkpoint. Un log switch peut tre forc avec la commande SQL suivante : ALTER SYSTEM SWITCH LOGFILE ; Outre la commande SQL, Oracle offre une interface graphique appele Oracle Backup Manager permettant d'imposer un basculement de fichier log. Un basculement de fichier log peut tre forc mme si aucune sauvegarde n'est prvue dans l'immdiat. Point de synchronisation : L'administrateur procde souvent des sauvegardes permanentes (dite " chaud") de tablespaces. Pour s'assurer que les fichiers de donnes contiennent les donnes les plus rcentes, l'administrateur doit forcer un point de synchronisation avant de procder une sauvegarde. La syntaxe suivante permet de forcer un point de synchronisation: ALTER SYSTEM CHECKPOINT; Outre la commande SQL, Oracle offre une interface graphique, Oracle Backup Manager qui permet de forcer un point de synchronisation. Il est possible de forcer un checkpoint en utilisant le paramtre FAST_START_MTTR_TARGET. Par exemple FAST_START_MTTR_TARGET = 600 signifie que la restauration dune instance aprs un crash ne doit pas prendre plus de 600 secondes, et la base de donnes doit ajuster les autres paramtres pour arriver ce rsultat.

Dr Mohamed Salah GOUIDER

Page 55

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

6.3.3. Ajout de groupe de fichiers redo log online


Si la base de donnes est en mode ARCHIVELOG et que le fichier redo log online est gros, l'archivage peut prendre beaucoup de temps. Donc, un fichier redo log online peut ne pas tre disponible pour les critures effectues par le buffer redo log. Dans ce cas, le processus LGWR est contraint d'attendre. Si le processus LGWR doit attendre, le DBWR attend et le systme ralentit. Pour viter les attentes et les ralentissements, l'addition de groupes redo log en ligne peut tre ncessaire. Il existe deux mthodes pour ajouter un groupe redo log en ligne : avec une commande SQL ou avec l'outil Oracle Storage Manager. Des groupes de fichiers redo log en ligne peuvent tre crs l'aide de la commande ALTER DATABASE : ALTER DATABASE [database] ADD LOGFILE [GROUP integer] 'filename' [SIZE n[K|M]] [REUSE] [,[GROUP integer] 'filename ' [SIZE n[K|M]] [REUSE] ]...; La valeur du paramtre GROUP peut tre choisie pour chaque groupe de fichier redo log. Si ce paramtre est omis, Oracle lui gnre automatiquement une valeur. Exemple : ALTER DATABASE ADD LOGFILE GROUP 3 ('c:\orant\database\logorcl3.ora') SIZE 1000K; Database altered. Cette commande cre un nouveau groupe de fichiers redo log portant le numro 3. Ce groupe est constitu d'un membre redo log nomm logorcl3.ora d'une taille de 1000 Ko.

6.3.4. Ajout des membres redo log online


Des membres redo log en ligne peuvent tre ajouts un groupe afin d'viter des dfaillances isoles. En effet, l'ajout de membres redo log permet de placer les
Dr Mohamed Salah GOUIDER Page 56 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

fichiers redo log en miroir. Des membres redo log peuvent tre ajouts grce la commande SQL suivante : ALTER DATABASE [database] ADD LOGFILE MEMBER 'filename' [REUSE] TO GROUP n; Le chemin complet des membres doit tre spcifi. Si le chemin complet n'est pas spcifi, les fichiers seront crs dans le rpertoire par dfaut du serveur de base de donnes. Si le fichier existe dj, il doit avoir la mme taille que le nouveau fichier redo log online et l'option de la commande REUSE doit tre utilis. Le groupe cible peut tre identifier en spcifiant le numro du groupe soit un ou plusieurs membres du groupe. Exemple : ALTER DATABASE ADD LOGFILE MEMBER 'e:\orant\database\log7borcl.ora' TO GROUP 7; Database altered. Cette commande ajoute un nouveau membre redo log nomm log7borcl.ora au groupe redo log 7. Ce nouveau membre sera stock dans le rpertoire e:\orant\database.

6.3.5. Relocalisation des fichiers redo log online


En raison de contraintes systme, telles que l'insuffisance d'espace disque, les fichiers redo log online peuvent avoir besoin d'tre relocaliss. Etapes suivre pour relocaliser un fichier redo log online : Arrter la base de donnes, Copier le fichier redo log online vers la nouvelle destination, Monter la base de donnes, Changer le nom du fichier redo log online l'aide d'une commande SQL : ALTER DATABASE [database] RENAME FILE 'old filename' TO 'new filename'; Avant de changer le nom du fichier, il faut s'assurer que le nouveau fichier existe bien l'emplacement prvu. Le serveur Oracle change seulement le

Dr Mohamed Salah GOUIDER

Page 57

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

pointeur dans le fichier de contrle, mais il ne renomme pas physiquement ni ne cre de fichier. Ouvrir la base de donnes.

6.3.6. Suppression de groupes de fichiers redo log online


Pour amliorer les performances de la base de donnes, il peut s'avrer ncessaire d'augmenter ou de diminuer la taille des groupes de fichiers redo log online. Pour changer la taille d'un groupe de fichiers redo log online, il faut crer un nouveau groupe de fichiers redo log online et ensuite supprimer le vieux groupe de fichiers redo log online. Pour supprimer un groupe de fichiers redo log online, il faut utiliser la commande SQL suivante : ALTER DATABASE [database] DROP LOGFILE GROUP n; Cependant un certain nombre de restrictions sont prendre en compte lors de la suppression de groupes redo log online : L'instance doit avoir au moins deux groupes de fichiers redo log online. Un groupe de fichiers redo log online ne pourra pas tre supprim si il n'existe que deux groupes. Pour supprimer un groupe, il doit en rester au moins trois. Un groupe redo log online actif ne peut pas tre supprim. Si la base de donnes tourne en mode ARHIVELOG, un groupe de fichiers redo log online non archiv ne peut pas tre supprim. Quand un groupe redo log est supprim, les fichiers du systme d'exploitation ne sont pas supprims automatiquement. Il est donc ncessaire de supprimer manuellement les fichiers redo log online afin de garder un espace disque propre.

6.3.7. Suppression des membres redo log online


Pour obtenir les meilleures performances d'une base de donnes Oracle, il est ncessaire de vrifier rgulirement le statut des fichiers redo log online. Parfois, un fichier redo log online peut devenir invalide cause d'vnements tels qu'une dfaillance du support. Ce qui rend les fichiers inaccessibles. Dans ce cas, il faut supprimer ces fichiers redo log online. La commande SQL qui permet de supprimer un membre redo log en ligne est la suivante :
Dr Mohamed Salah GOUIDER Page 58 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

ALTER DATABASE [database] DROP LOGFILE MEMBER 'filename'; Exemple : Le fichier redo log online nomm log5borcl.ora dans le groupe 5 est devenu invalide. Ce fichier est stock dans le rpertoire e:\orant\oradata\orcl. ALTER DATABASE DROP LOGFILE MEMBER 'e:\orant\oradata\orcl\log5borcl.ora'; Database altered. Cette commande supprime le fichier redo log online invalide log5borcl.ora. Cependant un certain nombre de restrictions sont prendre en compte lors de la suppression de membres redo log en ligne : Le dernier membre redo log online valide d'un groupe ne peut pas tre supprim. Un basculement de fichier log doit tre effectu avant de supprimer un membre redo log online actif. Si la base de donnes tourne en mode ARCHIVELOG, alors un membre redo log online appartenant un groupe non archiv ne peut pas tre supprim

6.3.8. Rinitialisation des fichiers redo log online


Lors de l'utilisation de la base de donnes, il est possible que tous les membres d'un groupe de fichiers redo log online soient corrompus. Pour faire face ce problme, il faut rinitialiser les fichiers redo log online. Les commandes SQL pour rinitialiser les fichiers redo log en ligne sont les suivantes : ALTER DATABASE [database] CLEAR [UNARCHIVED] LOGFILE GROUP n; Ou ALTER DATABASE [database] CLEAR [UNARCHIVED] LOGFILE 'filename'; L'utilisation de ces commandes revient ajouter et supprimer un fichier redo log online. Cependant ces commandes peuvent tre effectues mme si il y seulement

Dr Mohamed Salah GOUIDER

Page 59

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

deux groupes de fichiers redo log online avec un membre chacun. Ces commandes peuvent galement tre effectues mme si un groupe de fichiers redo log online rinitialis est disponible mais pas archiv. Exemple : Le fichier redo log online redo04.log dans le groupe 1 est corrompu. ALTER DATABASE CLEAR LOGFILE 'e:\orant\oradata\orcl\redo04.log'; Database altered. Le fichier redo log online redo04.log a t rinitialis. Ce fichier est dsormais prt et disponible pour utilisation. Un fichier redo log online peut tre rinitialis qu'il ait t archiv ou non. Si le fichier rinitialiser n'a pas t archiv, il faut inclure le mot cl UNARCHIVED dans la commande SQL. Cependant, l'utilisation du mot cl UNARCHIVED aboutit des sauvegardes inutilisables si le fichier redo log en ligne est ncessaire pour la rcupration.

6.4. Planification des fichiers redo log online


6.4.1. Nombre de fichiers redo log online
Pour minimiser la perte de donnes cause par une dfaillance, le serveur Oracle fournit des groupes de fichiers redo log online. Cependant le nombre et la taille des groupes de fichiers redo log online qui peuvent tre crs dpendent d'un certain nombre de facteurs : le nombre de transactions effectues sur la base de donnes. Quand le nombre de transaction est limit, une instance de base de donnes ne peut avoir besoin que de deux groupes. Quand le nombre de transactions est trs grand, une instance de base de donnes peut avoir besoin de groupes additionnels pour garantir la disponibilit des groupes de fichiers redo log online au processus LGWR. La taille du buffer redo log. Si des messages dans le fichier trace LGWR ou dans le fichier ALERT indiquent que le processus LGWR attend frquemment pour crire dans un groupe de fichiers redo log online, il faut ajouter des groupes de fichiers redo log online. Le processus LGWR peut attendre cause d'un point de

Dr Mohamed Salah GOUIDER

Page 60

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

synchronisation pas termin ou d'un groupe de fichiers redo log online pas encore archiv. La stabilit des gros fichiers du systme d'exploitation. Le systme d'exploitation peut devenir instable en traitant de gros fichiers, il est donc prfrable de maintenir des fichiers de petite taille, donc d'augmenter le nombre de fichiers redo log online. Bien que le nombre de membres dans des groupes multiplexs puisse tre diffrent, il est trs conseill de mettre en place une configuration symtrique. Une configuration asymtrique peut tre utilise seulement temporairement dans une situation inutilisable telle qu'une dfaillance du support.

6.4.2. Emplacement des fichiers redo log online


La disponibilit des fichiers redo log online dtermine la performance d'une base de donnes Oracle. Pour amliorer la performance de la base de donnes, les membres des groupes de fichiers redo log online, les fichiers log archivs et les fichiers de donnes doivent tre stocks sur des disques spars. L'avantage de stocker les fichiers redo log online sur des disques spars est que l'instance ne s'arrtera pas mme si un des membres n'est pas disponible. Un autre avantage de stocker les fichiers redo log online et les fichiers log archivs sur des disques diffrents est que la contention entre les processus ARCH et LGWR est rduite. De plus, les fichiers de donnes placs sur diffrents disques permettent galement de rduire la contention entre les processus LGWR et DBWR. Le stockage des fichiers redo log et des fichiers de donnes sur diffrents disques permet de rduire de faon substantielle le risque de perdre la fois les fichiers de donnes et les fichiers redo log online lors d'une dfaillance du support.

6.4.3. Dimensionnement des fichiers redo log online


Les performances d'une base de donnes Oracle dpendent de la disponibilit des fichiers redo log online. Donc, la taille des fichiers redo log online est une dcision importante. La taille minimale d'un fichier redo log en ligne est de 50 Ko, et la taille maximale est spcifique au systme d'exploitation. Cependant, il existe des situations qui influencent la taille des fichiers redo log online :

Dr Mohamed Salah GOUIDER

Page 61

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Le nombre de basculements de fichiers log et de points de synchronisation. Si les fichiers redo log online sont de petite taille, un grand nombre de basculements de fichiers log aura lieu ce qui rduit l'efficacit de la base de donnes. Le nombre et la quantit d'entres redo. Si le nombre d'entres redo est lev, les fichiers redo log online seront remplis rapidement ce qui dbouche sur la gnration d'un grand nombre de basculement de fichiers log. L'espace disponible sur le support de stockage. Si le support de stockage ne prsente pas la capacit suffisante pour stocker le fichier redo log online en une seule entit, l'administrateur de la base de donnes est contraint d'utiliser un fichier redo log online plus petit ou plusieurs fichiers. Ces fichiers sont stocks sur plusieurs disques. Les membres des groupes diffrents peuvent prsenter des tailles diffrentes. Cependant, il n'est pas souhaitable d'avoir des groupes de tailles diffrentes. Les groupes de tailles diffrentes ne sont ncessaires que provisoirement lors de la modification de la taille des membres des groupes de fichiers redo log online.

6.4.4. Grer les redo log online with OMF


Pour crer un nouveau groupe de fichiers de redo log sans spcifications, le DBA utilise la commande : ALTER DATABASE ADD LOGFILE ; Cette commande ajoute un fichier de log avec un membre dans DB_CREATE_ONLINE_LOG_DEST_1 et un membre dans DB_CREATE_ONLINE_LOG_DEST_2. Les noms des fichiers uniques des fichiers de redo log sont gnrs automatiquement. Il est bien videmment possible dutiliser la clause GROUP pour supprimer un fichier de log. Dans lexemple prcdent, le fichier du systme dexploitation associ chaque fichier de log membre OMF est automatiquement supprim. Les fichiers archivs de redo log ne peuvent tre des fichiers OMF. Un emplacement systme pour les fichiers de log archivs peut tre spcifi avec le paramtre dinitialisation LOG_ARCHIVE_DEST_n

6.4.5. Obtenir des informations sur les groupes


Dr Mohamed Salah GOUIDER Page 62 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Il est possible dobtenir des informations sur les groupes et les membres en interrogeant le dictionnaire de donnes. La requte suivante retourne des informations sur le fichier de redo log online du fichier de contrle. SELECT group#, sequence#, bytes, members, status FROM V$LOG ; GROUP# -----1 2 3 SEQUENCE# --------1985 1986 1984 BYTES ----1048576 1048576 1048576 MEMBERS ------1 1 1 STATUS -----INACTIVE CURRENT INACTIVE

INACTIVE signifie que le groupe de fichier de redo nest plus ncessaire pour la restauration dinstance. CURRENT, indique le groupe courrant de redo log. Cest ce groupe l qui est actif. UNUSED, signifie que le groupe de redo vient juste dtre ajout et quil na jamais t crit. Pour connatre tous les noms des membres dun groupe, il faut interroger la vue V$LOGFILE. SELECT member FROM V$LOGFILE ; MEMBER -------------------------------D:\ORACLE\ORADATA\IASDB\REDO03.LOG D:\ORACLE\ORADATA\IASDB\REDO02.LOG D:\ORACLE\ORADATA\IASDB\REDO01.LOG La valeur du statut de la colonne peut tre INVALID (fichier inaccessible), STALE (le contenu du fichier est incomplet), DELETED (le fichier nest plus utilis).

6.4.6. Archivage de fichiers de redo log


Une des dcisions importantes quun DBA doit prendre est configurer la base de donnes dans le mode ARCHIVELOG ou NOARCHIVELOG. NOARCHIVELOG :

Dr Mohamed Salah GOUIDER

Page 63

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

En mode, NOARCHIVELOG, les fichiers de redo log online sont rcrits chaque fois quun fichier de redo log online est rempli et quun log switch est lanc. LGWR ne rcrit pas sur un groupe de fichier de redo log tant que le checkpoint pour ce groupe nest pas termin. ARCHIVELOG : Si la base de donnes est configure dans le mode ARCHIVELOG, alors les groupes de redo remplis doivent tre archiv. Comme toutes les modifications faites sur la base de donnes sont enregistres dans les fichiers de redo log online, le DBA peut utiliser la sauvegarde prsente sur le disque dur et les fichiers de redo log archivs pour restaurer la base de donnes sans perdre aucune donne comit. On peut archiver les fichiers de redo log : Manuellement. Automatiquement : Mthode recommande. Le paramtre dinitialisation LOG_ARCHIVE_START, lorsquil est TRUE indique que larchivage se fait automatiquement. A FALSE, indique que le DBA le fait manuellement. En mode automatique, larchivage se fait grce au process ARCn, et manuellement avec des requtes SQL.

Dr Mohamed Salah GOUIDER

Page 64

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

7. Grer les Tablespaces et les fichiers de donnes


7.1. Architecture d'une base de donnes
7.1.1. Vue d'ensemble de la structure d'une base de donnes
Les performances d'une base de donnes dpendent en grande partie de la gestion efficace des ressources du systme, telles que l'espace du disque dur. Afin d'obtenir les performances optimales pour la base de donnes, Oracle facilite un contrle pouss de la gestion de l'espace disque en divisant la base de donnes en structures logiques et physiques. Les structures logiques et physiques qui constituent la base de donnes Oracle sont elles-mmes constitues d'autres composants. La structure physique est constitue de fichiers de contrle, de fichiers redo log online et de fichiers de donnes. Les composants de la structure logique d'une base de donnes sont les tablespaces, les segments, les extents et les blocs de donnes. Lorsque les composants de la structure logique sont crs par Oracle, l'espace est allou dans la base de donnes en fonction de paramtres prdfinis. L'administrateur de la base de donnes peut remplacer ou configurer ces paramtres afin d'optimiser l'utilisation de l'espace.

7.1.2. Relations
La sparation des structures logique et physique d'une base de donnes Oracle facilite le contrle pouss de la gestion de l'espace disque. L'administrateur peut configurer les paramtres d'allocation d'espace aux composants physiques et logiques de la base de donnes. Pour utiliser efficacement l'espace du disque dur, il est important de connatre les relations entre les composants physiques et logiques de la base de donnes. Il est important galement de savoir comment l'espace est allou dans la base de donnes. La premire entit est la base de donnes Oracle. Elle est divise en structures logique et physique. La base de donnes est divise en zones d'espace logiques plus petites, appeles tablespaces. Chaque tablespace d'une base de donnes Oracle est constitu d'un ou plusieurs fichiers appels fichiers de donnes. Il s'agit de structures physiques conformes au systme d'exploitation sur lequel le serveur Oracle fonctionne.

Dr Mohamed Salah GOUIDER

Page 65

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Un tablespace est constitu de segments. Un segment est l'espace allou pour un type spcifique de structure de stockage logique dans un tablespace. Les segments d'index, segments temporaires, rollback segments et segments de donnes reprsentent quelques exemples de segments. Un segment, tel qu'un segment de donnes, peut tre rparti sur plusieurs fichiers appartenant au mme tablespace. Le niveau suivant de la structure logique d'une base de donnes est l'extent. Un extent est un ensemble de blocs contigus. Chaque segment est constitu d'un ou plusieurs extents. Le DBA peut ajouter des extents un segment manuellement. Un extent ne peut pas tre rparti sur plusieurs fichiers de donnes. Les blocs de donnes constituent le dernier niveau de granularit. Les donnes d'une base de donnes Oracle sont stockes dans les blocs de donnes. Un bloc de donnes correspond un ou plusieurs blocs de fichiers physiques allous partir de fichier de donnes existant.

7.1.3. Caractristiques d'un tablespace


La structure de stockage logique la plus importante d'une base de donnes est le tablespace. Caractristiques d'un tablespace : Un tablespace ne peut appartenir qu' une seule base de donnes Un tablespace est constitu d'un ou plusieurs fichiers du systme d'exploitation.

Dr Mohamed Salah GOUIDER

Page 66

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Les tablespace peuvent tre mis offline lorsque la base de donnes fonctionne. Cette fonctionnalit permet l'administrateur de contrler les donnes sans arrter la base de donnes. Tous les tablespaces, l'exception du tablespace SYSTEM ou d'un tablespace avec un undo segment actif, peuvent tre mis offline. Dans ce cas, la base de donnes continue de fonctionner. L'administrateur peut ainsi assurer la gestion des donnes sans que la base de donnes ne soit indisponible. L'tat d'un tablespace peut tre bascul entre lecture criture et lecture seule. Cette fonctionnalit permet d'empcher les utilisateurs de modifier des donnes stockes et inversement.

7.1.4. Utilisations d'un tablespace


Le tablespace prsente plusieurs utilisations possibles permettant la gestion efficace de l'espace disque. Utilisations d'un tablespace : Aider les serveurs Oracle pour le contrle de l'allocation de l'espace et l'attribution de quotas d'espace aux utilisateurs. Contrler la disponibilit des donnes. Ce contrle est effectu par la mise online ou offline des tablespaces individuels. Amliorer les performances E/S et rduire les contentions E/S grce la rpartition du stockage des donnes sur plusieurs priphriques. Utiliser lors des oprations de sauvegardes et de restaurations partielles. Utiliser pour stocker de grandes quantits de donnes statiques sur des priphriques en lecture seule.

7.1.5. Caractristiques d'un fichier de donnes


Un tablespace est la structure de stockage logique la plus importante d'une base de donnes. Les donnes du tablespace sont stockes dans les structures de stockage physiques appeles fichiers de donnes. Chaque tablespace d'une base de donnes Oracle est constitu d'un ou plusieurs fichiers de donnes. Les fichiers de donnes sont les structures physiques conformes au systme d'exploitation sur lequel le serveur Oracle est install. Caractristiques d'un fichier de donnes : Un fichier de donnes ne peut appartenir qu' un seul tablespace. Ceci permet un administrateur de base de donnes de procder une

Dr Mohamed Salah GOUIDER

Page 67

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

sauvegarde du fichier de donnes sans affecter la disponibilit de tout autre tablespace. Un fichier de donnes est cr par le serveur Oracle. Cependant, la quantit disque occuper par le fichier de donnes est spcifie par l'administrateur de la base de donnes. Le serveur Oracle cre le fichier de donnes avec la quantit spcifie d'espace disque plus un lger dpassement. Un fichier de donnes peut tre modifi par l'administrateur de la base de donnes aprs sa cration. L'administrateur peut galement spcifier que la taille d'un fichier de donnes doit augmenter de faon dynamique, tout comme le nombre d'objets du tablespace. Cette caractristique permet l'administrateur de la base de donnes de contourner la limitation du paramtre MAXDATAFILES et permet la base de donnes d'tre constitue de moins de fichiers de donnes pour chaque tablespace. Elle vite galement que les utilisateurs et les applications ne subissent des erreurs dues au manque d'espace libre dans un tablespace.

7.2. Crer des Tablespaces


7.2.1. Types de tablespaces
Lorsque l'administrateur cre une base de donnes, un tablespace appel SYSTEM est cr par dfaut. Tous les autres tablespaces, appels tablespaces non-SYSTEM, sont crs par l'administrateur de la base de donnes. L'administrateur cr un tablespace non-SYSTEM pour grer facilement la base de donnes et permettre aux utilisateurs de l'utiliser de faon efficace. Le tablespace SYSTEM est indispensable pour le bon fonctionnement de toute base de donnes. Le tablespace non-SYSTEM n'est pas obligatoire. Le tablespace SYSTEM contient les informations du dictionnaire de donnes, les dfinitions des procdures stockes, des packages et des triggers base de donnes, les undo segments SYSTEM. D'autre part, les tablespaces non-SYSTEM peuvent contenir les segments de donnes, les segments d'index, les segments temporaires et les undo segments. Ils sparent aussi les donnes dynamiques et statiques Le tablespace SYSTEM contient le rollback segment SYSTEM, tandis qu'un tablespace non-SYSTEM peut contenir tout autre rollback segment.
Dr Mohamed Salah GOUIDER Page 68 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Il n'est pas souhaitable de stocker les donnes utilisateur dans le tablespace SYSTEM. Si le tablespace SYSTEM contient des donnes utilisateur, vous ne pouvez pas procder des sauvegardes offline des donnes sans arrter la base de donnes.

7.2.2. Cration d un tablespace


L'administrateur est responsable de la gestion des donnes des bases de donnes. Un moyen efficace de gestion des donnes consiste crer des tablespaces pour diffrents groupes d'utilisateurs, en crant, par exemple, un tablespace marketing pour le personnel du service marketing. Syntaxe de cration d'un tablespace : CREATE TABLESPACE tablespace [DATAFILE clause] [MINIMUM EXTENT integer[K|M]] [BLOCKSIZE integer [K]] [LOGGING|NOLOGGING] [DEFAULT storage_clause ] [ONLINE|OFFLINE] [PERMANENT|TEMPORARY] DATAFILE spcifie le ou les fichiers de donnes lis au tablespace. M spcifie la taille en Mo ou Kbits. LOGGING option par dfaut qui spcifie que toutes les tables, indexes et partitions dans le tablespace gnrent des infos de redo log. DEFAULT dfinit les paramtres de stockage par dfaut pour tous les objets crs dans le tablespace. OFFLINE rend le tablespace indisponible immdiatement aprs la cration. PERMANENT spcifie que le tablespace peut tre utilis pour contenir des objets permanents. TEMPORARY cette clause est utilise pour les objets temporaires. storage_clause := ( [INITIAL integer [K|M]] [NEXT integer [K|M]] [MINEXTENTS integer ] [MAXENTENTS {integer | UNLIMITED}] [PCTINCREASE integer ])

Dr Mohamed Salah GOUIDER

Page 69

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Exemple : Crez un tablespace nomm ACCOUNTS. Le nom du fichier de donnes est accts01.dbf et sa taille est de 10 Mo. Nom du tablespace : ACCOUNTS Nom du fichier de donnes : accts01.dbf Taille du fichier de donnes : 10 Mo Emplacement : c:\oracle\oradata\database Se connecter la base de donnes avec les privilges adquates : CREATE TABLESPACE accounts DATAFILE 'c:\oracle\oradata\database\accts01.dbf' SIZE 10M; Tablespace created. Cette commande est relativement complexe, Oracle offre une interface graphique, appele Oracle Storage Manager, pour crer un tablespace. Lors de la cration de tablespaces, le nombre maximal de tablespaces pouvant tre affects chaque base de donnes est de 64 000 et le nombre maximal de fichiers de donnes pouvant tre affects chaque tablespace est de 1 023.

7.2.3. Gestion de l espace dans les tablespaces


Les tablespaces peuvent tre grs avec les tables du dictionnaire de donnes ou des tables binaires dallocations (bitmaps). Lune de ces mthodes doit tre choisie lorsque lon cre un tablespace et ne pourra tre change par la suite. Locally Managed Tablespaces Un tablespace qui gre ses propres extents garde un bitmap dans chaque fichier de donnes pour garder une trace des blocs libres ou utiliss dans ces fichiers de donnes. Chaque bitmap correspond un bloc ou un groupe de blocs. Lorsquun extent est allou ou prt tre rutilis, le serveur Oracle change la valeur du bitmap pour mettre jour le nouveau statut des blocs. Dictionary-Managed Tablespaces Pour un tablespace qui utilise le dictionnaire de donnes pour grer les extents, le serveur Oracle met jour les tables appropries dans le dictionnaire de donnes ds quun extent est allou ou dsallou.

7.2.4. Locally Managed tablespaces


Loption LOCAL de la clause EXTENT MANAGEMENT spcifie quun tablespace est gr localement. Cette option est par dfaut.

Dr Mohamed Salah GOUIDER

Page 70

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

extent_management_clause :== [ EXTENT MANAGEMENT [ DICTIONARY | LOCAL [ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ] DICTIONARY signifie que le tablespace est gr grce aux tables du dictionnaire. LOCAL signifie que le tablespace est gr localement avec un bitmap. Si cest clause est utilis, on ne peut utiliser DEFAULT storage_clause, MINIMUM EXTENT, ou TEMPORARY. AUTOALLOCATE est loption par dfaut. Les utilisateurs ne peuvent spcifier une taille dextent. UNIFORM signifie que le tablespace est gr avec des extents de tailles uniformes de SIZE bytes.

CREATE TABLESPACE userdata DATAFILE u01/oradate/userdata01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256k; Les avantages des tablespaces grs localement sont les suivants : Pas de contention en mise a jour au niveau du dictionnaire. Par consquence pas d'utilisation de Rollback segment pour ces transactions. Pas de soucis de gestion de l'espace (calcul d'un espace de stockage adquat). "coalesce" automatique (fusion des espaces libres contigus pour optimiser l'espace libre).

7.2.5. Dictionary Managed Tablespaces


Ce genre de tablespace a une gestion du stockage customis, ceci est beaucoup plus flexible que les tablespaces grs localement mais bien moins efficace. CREATE TABLESPACE userdata DATAFILE /u01/oradate/userdata01.dbf SIZE 500M EXTENT MANAGEMENT DICTIONARY DEFAULT STORAGE (initial 1M NEXT 1M) ;

7.2.6. Paramtres de stockage


Dr Mohamed Salah GOUIDER Page 71 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

L'efficacit d'un tablespace dpend de la quantit d'espace utilise par un segment. Ainsi, il est important de connatre les paramtres qui influent sur la quantit d'espace utilise par un segment. Cinq paramtres dterminent et contrlent la quantit d'espace utilise par un segment. Il s'agit des paramtres INITIAL, NEXT, MAXEXTENTS, MINEXTENTS et PCTINCREASE.

La taille du premier extent de tout segment est dfinie par le paramtre INITIAL. La taille minimale du premier extent est de deux blocs ou de 2*DB_BLOCK_SIZE. La taille par dfaut est de cinq blocs ou de 5*DB_BLOCK_SIZE. Le paramtre NEXT fait rfrence la taille du deuxime extent. La taille minimale de l'extent suivant est d'un bloc et la taille par dfaut est de cinq blocs ou de 5*DB_BLOCK_SIZE. La valeur du paramtre MINEXTENTS dtermine le nombre d'extent allous lors de la cration du segment. Par dfaut, la valeur minimale est de un. Le PCTINCREASE est le pourcentage d'augmentation de la taille de NEXT. Par exemple, NEXT est dfini sur 200 Ko et PCTINCREASE est dfini sur 50%. Dans une telle situation, le deuxime extent prsente une taille de 200 Ko, le troisime extent une taille de 300 Ko et le quatrime extent une taille de 450 Ko. La valeur minimale du paramtre PCTINCREASE est de zro et sa valeur par dfaut est de 50. La valeur calcule est arrondie la valeur immdiatement suprieure de 5*DB_BLOCK_SIZE.

Dr Mohamed Salah GOUIDER

Page 72

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Le paramtre MAXEXTENTS dtermine le nombre maximum d'extents qu'un segment peut contenir. La valeur minimale est de un. La valeur maximale par dfaut dpend de la taille des blocs de donnes. La taille maximale peut galement tre spcifie par le mot cl UNLIMITED, quivalent une valeur de 2 147 483 645. Il est important de garder l'esprit que les valeurs de ces paramtres doivent reprsenter un objet typique qui sera cr dans le tablespace. Cependant, ces paramtres de stockage peuvent tre rejets de la cration de segments individuels. Il est possible dutiliser la commande ALTER TABLESPACE pour modifier les paramtres par dfaut. Par exemple : ALTER TABLESPACE userdata MINIMUM EXTENT 2M; Ou : ALTER TABLESPACE userdata DEFAULT STORAGE ( INITIAL 2M NEXT 2M MAXEXTENTS 999);

7.2.7. Les Undo Tablespaces


Les tablespaces de undo sont une nouveaut de Oracle 9i. Ils peuvent remplacer les rollback segments qui doivent tre grs de manire manuelle et servent au stockage de segments dimages avant modification des donnes pour des annulations ventuelles. Ils sont utiliss uniquement pour stocker les segments de undo. La gestion des segments de undo se fait grce aux paramtres du fichier dinitialisation : UNDO_MANAGEMENT : MANUAL (rollback segments) ou AUTO (gr par linstance donc undo tablespaces). UNDO_TABLESPACE : Nom du tablespace de undo. UNDO_SUPRESS_ERRORS : Si positionn TRUE, cela supprime les messages derreurs affichs, lorsquon est en mode AUTO et quune opration manuelle est excute (telle que ALTER ROLLBACK SEGMENT). UNDO_RETENTION : Dure pendant laquelle la donne modifie est garde. Pour crer un tablespace de undo :

Dr Mohamed Salah GOUIDER

Page 73

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

CREATE UNDO TABLESPACE undo1 DATAFILE u01/oradate/undo101.dbf SIZE 40M; Les informations dutilisation des segments de UNDO sont stockes dans la vue V$UNDOSTAT.

7.3. Tablespace temporaire


7.3.1. Tablespace temporaire
Ces tablespaces sont apparus avec la 9i et remplacent les segments temporaires qui taient placs dans les tablespaces standard. Il est ncessaire de crer une tablespace temporaire par dfaut autre que SYSTEM, o seront stockes uniquement les donnes temporaires (cration dindex, jointures, tris, etc...). Un segment temporaire permet davoir un gain de performance lorsque, par exemple, plusieurs tris occupent trop de place pour la mmoire et doivent tre stocks sur le disque dur temporairement. Ainsi la taille du segment de tris va augmenter en allouant des extents jusqu ce que la taille du segment soit suffisante pour stocker toutes les donnes que calculent les oprations de tris de linstance. La commande pour crer un tablespace temporaire est la suivante : CREATE TEMPORARY TABLESPACE temp TEMPFILE u01/oradate/temp01.dbf SIZE 500m EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M; Les tablespaces temporaires grs localement ont des fichiers de donnes temporaires (tempfiles) qui sont identiques aux fichiers de donnes ordinaires. Mais certaines diffrences existent. Tout dabord, les tempfiles sont toujours en mode NOLOGGING, ils ne peuvent tre en lecture seule ou renomms. On ne peut crer de tempfile avec la commande ALTER DATABASE.

7.3.2. Tablespace temporaire par dfaut


Lorsque une base de donnes est cre sans tablespace temporaire par dfaut, le tablespace qui est assign aux utilisateurs crs sans la clause TEMPORARY TABLESPACE est le tablespace SYSTEM. Pour viter que le tablespace systme soit utilis comme tablespace temporaire, il est ncessaire de crer un tablespace temporaire et de modifier la base de donnes avec la commande : ALTER DATABASE
Dr Mohamed Salah GOUIDER Page 74 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

DEFAULT TEMPORARY TABLESPACE temp; Aprs cela, tous les utilisateurs qui ntaient pas assigns un tablespace temporaire seront affects directement temp.

7.3.3. Restrictions sur les Tablespace temporaire par dfaut


Les tablespaces temporaires ne peuvent tre mis offline et ne peuvent tre supprims tant quun nouveau tablespace par dfaut soit cre. Dautre part, un tablespace temporaire ne peut devenir un tablespace permanent.

7.4. Manipulation de Tablespace


7.4.1. Offline Status
L'administrateur doit assurer la gestion de bases de donnes. Dans le cadre des tches de maintenance, telles que la relocalisation d'un fichier de donnes, l'administrateur peut tre amen rendre indisponible un tablespace tout en autorisant l'accs normal au reste de la base de donnes. Pour cela, il peut mettre offline des tablespaces individuels. La commande SQL permettant de mettre offline un tablespace est la suivante : ALTER TABLESPACE tablespace { ONLINE | OFFLINE [ NORMAL | TEMPORARY | IMMEDIATE ] } ; Mettez le tablespace ACCOUNTS offline. ALTER TABLESPACE accounts OFFLINE NORMAL; Tablespace altered Oracle offre galement une interface graphique, appele Oracle Storage Manager, pour mettre un tablespace offline. Le tablespace SYSTEM, et les tablespaces avec des segments de undo ou temporaires actifs ne peuvent tre mis offline.

7.4.2. Tablespace en lecture seul


Pour rpondre aux exigences en matire d'organisation, il se peut que l'administrateur dispose de tablespaces destins contenir des donnes de nature

Dr Mohamed Salah GOUIDER

Page 75

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

statique. Afin d'viter d'avoir procder des oprations de sauvegarde et de restauration de telles donnes statiques, l'administrateur peut mettre ces tablespaces en lecture seule. Ceci permet galement de garantir qu'aucune opration d'criture ne sera effectue sur les donnes. Les fichiers de donnes peuvent tre stocks sur des supports en lecture seule, tels que des CD-ROM ou des disques WORM, car le serveur Oracle ne met jamais jour les fichiers d'un tablespace en lecture seule. La commande SQL permettant de mettre un tablespace en mode lecture seule est la suivante : ALTER TABLESPACE tablespace READ { ONLY | WRITE } ; Exemple : Mettez le tablespace ACCOUNTS en lecture seule. ALTER TABLESPACE accounts READ ONLY ; Tablespace altered. Outre la commande SQL, Oracle offre une interface graphique nomme Oracle Storage Manager permettant de mettre un tablespace en mode lecture seule. Il est possible de supprimer des objets comme des index ou des tables dans un tablespace en lecture seul. En effet, la commande DROP met jour seulement le dictionnaire de donnes mais pas les fichiers physiques qui constituent le tablespace. Cependant, plusieurs conditions doivent tre remplies pour pouvoir mettre un tablespace en mode lecture seule : le tablespace doit tre online, aucune transaction active ne doit tre en cours d'excution sur ce tablespace le tablespace ne doit contenir aucun rollback segment actif et ne doit pas tre actuellement impliqu dans une sauvegarde online. Le moyen recommand de se conformer ces restrictions consiste dmarrer l'instance en mode restreint. En outre, la mise en lecture seule des tablespaces provoque un point de synchronisation sur les fichiers de donnes.

Dr Mohamed Salah GOUIDER

Page 76

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

7.4.3. Tablespaces en lecture seul sur des supports en lecture seul


L'administrateur de bases de donnes souhaite diminuer le temps pass sur les sauvegardes de donnes. Un moyen de diminuer ce temps consiste stocker les donnes statiques dans des tablespaces en lecture seule, puis les stocker sur des supports en lecture seule. Le stockage des donnes en lecture seule se droule en trois tapes : mettre le tablespace en lecture seule, copier tous les fichiers de donnes du tablespace sur des supports en lecture seule, renommer les fichiers de donnes afin qu'ils pointent vers le nouvel emplacement.

7.4.4. Supprimer un Tablespace


En raison d'une modification des besoins des utilisateurs, il se peut que certains tablespaces ne soient plus ncessaires. La prsence de ces tablespaces constitue un gaspillage d'espace disque. Pour rsoudre ce problme, Oracle permet de supprimer de tels tablespaces. La commande SQL permettant de supprimer de tels tablespaces est la suivante : DROP TABLESPACE tablespace [INCLUDING CONTENTS [CASCADE CONSTRAINTS] ]; CASCADE CONSTRAINTS supprime les contraintes d'intgrit rfrentielle des tables se trouvant en dehors du tablespace. Il s'agit des contraintes qui font rfrence aux cls primaires et uniques des tables du tablespace supprim. Exemple : Supprimez le tablespace ACCOUNTS DROP TABLESPACE accounts INCLUDING CONTENTS CASCADE CONSTRAINTS ; Tablespace dropped. Outre la commande SQL, Oracle offre une interface graphique, Oracle Storage Manager, permettant de supprimer un tablespace. Il est important de suivre un certain nombre de rgles lors de la suppression d'un tablespace.

Dr Mohamed Salah GOUIDER

Page 77

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Il faut s'assurer que les transactions n'accdent aucun des segments du tablespace. Le meilleur moyen de garantir cela consiste mettre d'abord le tablespace offline. Si le tablespace est supprim avec la commande SQL, il est important de se souvenir qu'un tablespace contenant encore des donnes ne peut pas tre supprim sans l'option INCLUDING CONTENTS. Lorsque le tablespace contient de nombreux objets, l'utilisation de l'option INCLUDING CONTENTS peut gnrer un grand nombre de rollback. Une alternative consiste utiliser un script pour supprimer un par un les objets du tablespace, puis supprimer le tablespace.

7.4.5. Consquences de la suppression de tablespaces


Pour conomiser de l'espace disque, l'administrateur supprime les tablespaces qui ne sont plus ncessaires. Voici les consquences de la suppression d'un tablespace : Les donnes du tablespace supprim ne sont plus disponibles, elles ne peuvent donc plus tre interroges. Lors de la suppression d'un tablespace, seuls les pointeurs de fichiers dans le fichier de contrle de la base de donnes associe sont supprims. Pour rcuprer l'espace disque utilis par le tablespace, il faut supprimer explicitement les fichiers de donnes au niveau du systme d'exploitation. Si un tablespace en lecture seule est supprim, les segments qu'il contient sont galement supprims. Dans ce cas, seuls le dictionnaire de donnes et les fichiers de donnes doivent tre mis jour.

7.5. Fichiers de manipulation des donnes


7.5.1. Mettre en place l extension automatique des fichiers de donnes
La clause AUTOEXTEND permet dautoriser ou non lextension automatique des fichiers de donnes. Les commandes suivantes peuvent tre utilises pour spcifier lextension automatique. CREATE DATABASE CREATE TABLESPACE DATAFILE ALTER TABLESPACE ADD DATAFILE

Dr Mohamed Salah GOUIDER

Page 78

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Exemple : ALTER DATABASE DATAFILE u01/oradata/userdata02.dbf SIZE 200m AUTOEXTEND ON NEXT 10M MAXSIZE 500M ;

7.5.2. Changer la taille des fichiers de donnes manuellement


L'administrateur doit estimer les besoins d'espace d'une base de donnes. Cependant, lorsque l'administrateur utilise rellement la base de donnes, il se peut qu'il se rende compte que son estimation des besoins d'espace est errone. Pour faire face ce problme, Oracle permet de redimensionner les fichiers de donnes. La commande SQL permettant de redimensionner les fichiers de donnes d'un tablespace est la suivante : ALTER DATABASE [database] DATAFILE 'filename' [,'filename'] RESIZE integer [ K | M ]; Exemple : Affectez au fichier de donnes accts01.dbf du rpertoire c:\ora92\database la nouvelle taille de 3 Mo l'aide SQL*Plus : ALTER DATABASE DATAFILE 'c:\ora92\database\accts01.dbf' RESIZE 3M ; statement processed

4.5.3.

Ajouter un fichier de donnes un Tablespace

Lorsque les tables sont remplies avec des objets pendant une priode donne, l'espace disponible dans les fichiers de donnes s'puise. Pour faire face cette situation, Oracle vous permet d'ajouter des fichiers de donnes aux tablespaces. Cette opration alloue davantage d'espace disque aux objets de la base de donnes. La commande SQL permettant d'ajouter un fichier de donnes un tablespace est affiche l'cran. ALTER TABLESPACE tablespace ADD DATAFILE 'filespec' [auto_extend_clause];

Dr Mohamed Salah GOUIDER

Page 79

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Exemple : Ajoutez un fichier de donnes nomm accts02.dbf de 1 000 Ko situ dans le rpertoire c:\ora92\database au tablespace ACCOUNTS. ALTER TABLESPACE accounts ADD DATAFILE 'c:\ora92\database\accts02.dbf' SIZE 1000K; tablespace altered. Outre la commande SQL, Oracle offre une interface graphique appele Oracle Storage Manager afin de permettre d'ajouter un fichier de donnes un tablespace. 4.5.4.

Dplacer un fichier de donnes :


ALTER TABLESPACE Fichier de donnes non-SYSTEM :

Avec l'augmentation du nombre d'enregistrements de la base de donnes, la taille du fichier de donnes augmente galement. Par consquent, il peut arriver que le support de stockage du fichier de donnes ne dispose plus de suffisamment d'espace. Pour faire face ce problme, Oracle permet de dplacer les fichiers de donnes vers un nouvel emplacement. ALTER TABLESPACE tablespace RENAME DATAFILE 'filename' [,'filename']... TO 'filename' [,'filename']... ; Exemple : Dplacez le fichier de donnes accts01.dbf du tablespace ACCOUNTS du rpertoire c:\ora92\database. Mettre offline le tablespace ACCOUNTS en mode normal ALTER TABLESPACE accounts OFFLINE NORMAL; Tablespace altered Dplacez le fichier de donnes avec les commandes du systme d'exploitation copy c:\ora92\database\accts01.dbf

Dr Mohamed Salah GOUIDER

Page 80

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

d:\ ora92\database\accts01.dbf 1 file(s) copied Modifier le chemin d'accs du fichier de donnes ALTER TABLESPACE accounts RENAME DATAFILE 'c:\ora92\database\accts01.dbf' TO 'd:\ ora92\database\accts01.dbf' ; Tablespace altered. Mettez online le tablespace ACCOUNTS ALTER TABLESPACE accounts ONLINE ; Tablespace altered Supprimez le fichier d'origine dans le rpertoire c:\ora92\database. Oracle Storage Manager peut dplacer les fichiers de donnes appartenant aux seuls tablespaces non-SYSTEM et ne contenant aucun rollback segment ou segment temporaire actif. Fichier de donnes SYSTEM : Le tablespace SYSTEM est ncessaire pour que la base de donnes fonctionne correctement. Cependant, dans certaines situations, telles que le remplacement du disque dur sur lequel les fichiers de donnes du tablespace SYSTEM sont actuellement stocks, l'administrateur doit dplacer les fichiers de donnes du tablespace SYSTEM vers un nouvel emplacement. Oracle permet de dplacer un fichier de donnes du tablespace SYSTEM vers un nouvel emplacement. Voici les tapes suivre : Arrter la base de donnes Utiliser une commande du systme d'exploitation pour dplacer les fichiers de donnes vers le nouvel emplacement. Monter la base de donnes Dplacer le fichier de donnes du tablespace SYSTEM Ouvrir la base de donnes Il faut toujours fournir les noms complets des fichiers accompagns de leur chemin d'accs pour identifier les anciens et les nouveaux fichiers de donnes. Exemple :

Dr Mohamed Salah GOUIDER

Page 81

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

Dplacez le fichier de donnes SYS1ORCL.ORA du rpertoire c:\ora92\database appartenant au tablespace SYSTEM vers le rpertoire d:\orclbackup. Montez la base de donnes Copiez le fichier dans le rpertoire d:\orclbackup avec les commandes du systme d'exploitation Dplacer les fichiers de donnes dans la base de donnes : ALTER DATABASE RENAME FILE 'c:\ora92\database\sys1orcl.ora' TO 'd:\orclbackup\sys1orcl.ora'; Ouvrir la base de donnes

7.6. Autres options sur les Tablespaces 7.6.1. Configurer OMF pour la cration de Tablespace
Lorsque lon configure OMF pour crer un tablespace, un paramtre dinitialisation est spcifi : DB_CREATE_FILE_DEST. Ce paramtre stocke le chemin par dfaut des fichiers de donnes. Il existe deux moyens de le configurer, soit directement dans le fichier dinitialisation soit avec la commande suivante : ALTER SYSTEM SET db_create_file_dest = u01/oradate/db01;

7.6.2. Crer des Tablespaces avec OMF


Lorsque lon cre un tablespace avec OMF, la clause DATAFILE nest pas obligatoire. Par dfaut les fichiers ont une taille de 100M, paramtrs autoextend et de taille maximale illimite. CREATE TABLESPACE apps2_data DATAFILE SIZE 20M;

7.6.3. Rcuprer des informations sur les Tablespaces


L'organisation des donnes dans le tablespaces prsente plusieurs avantages. Avantages lis l'utilisation de plusieurs tablespaces : L'utilisation de plusieurs tablespaces garantit que les donnes utilisateur et les donnes du dictionnaire de donnes peuvent tre conserves
Dr Mohamed Salah GOUIDER Page 82 29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

sparment. Ceci permet une souplesse des oprations sur la base de donnes. Les donnes des diffrentes applications peuvent tre stockes dans des tablespaces distincts. Ceci permet de garantir une bonne disponibilit des donnes. La rduction des contentions constitue un autre avantage de l'utilisation de plusieurs tablespaces. Les contentions E/S sont rduites grce au stockage des fichiers de donnes de diffrents tablespaces sur des disques durs distincts. L'utilisation de plusieurs tablespaces constitue une protection contre la perte dfinitive de donnes. Cette protection est assure par la sparation des rollback segments et des segments de donnes. L'utilisation de plusieurs tablespaces offre un degr lev de flexibilit dans l'administration des donnes, car les tablespaces individuels peuvent tre mis offline. Ceci permet galement de garantir une bonne disponibilit des donnes. L'utilisation de plusieurs tablespaces permet galement la sauvegarde des tablespaces individuels. L'utilisation de plusieurs tablespaces permet de rserver des tablespaces pour un type particulier d'activit sur la base de donnes, tel que des activits de mise jour, des oprations en lecture seule et le stockage temporaire de segments. Ceci permet d'amliorer l'efficacit de la base de donnes.

L'administrateur a besoin d'informations sur les tablespaces afin d'assurer une gestion efficace de la base de donnes. Oracle offre des vues du dictionnaire de donnes et des vues dynamiques sur les performances, qui vous permettent de rassembler des informations sur les tablespaces. Les noms des vues dynamiques sur les performances et des vues du dictionnaire de donnes sont les suivantes : DBA_TABLESPACES Cette vue contient des informations sur les noms, les paramtres de stockage par dfaut, les types et la disponibilit de tous les tablespaces. Exemple : Pour assurer une gestion efficace de la base de donnes, l'administrateur souhaite obtenir l'emplacement et les paramtres de stockage par dfaut de tous les tablespaces.

Dr Mohamed Salah GOUIDER

Page 83

29/06/2006

Systmes de Gestion des Bases de Donnes : ORACLE

SELECT * FROM dba_tablespaces ; DBA_DATA_FILES Cette vue contient des informations sur les fichiers de donnes appartenant un tablespace spcifique ainsi que sur leurs paramtres AUTOEXTEND Exemple : L'administrateur souhaite afficher les tablespaces auxquels les fichiers de donnes appartiennent, ainsi que la valeur de l'option AUTOEXTEND. SELECT * FROM dba_data_files; V$DATAFILE Cette vue dynamique contient des informations sur le nom du fichier de donnes, la taille, la disponibilit et les noms des tablespaces auxquels les fichiers de donnes appartiennent. V$TEMPFILE Cette vue contient des informations sur les tablespaces temporaires.

Dr Mohamed Salah GOUIDER

Page 84

29/06/2006