Vous êtes sur la page 1sur 53

Module n2

CREER UNE BASE DE DONNEES


1Z0-001

Auteur : Aurlie Vuaroqueaux


Version 1.3 7 aot 2003 Nombre de pages : 53

Ecole Suprieure dInformatique de Paris 23. rue Chteau Landon 75010 PARIS

www.supinfo.com

Crer une base de donnes

2 / 53

Table des matires


1. PROCEDURE DE CREATION D'UNE BASE DE DONNEES ................................................................... 4 1.1. ARCHITECTURE DES LOGICIELS ..................................................................................................................... 4 1.1.1. Rgles OFA ........................................................................................................................................... 4 1.1.2. Structure des rpertoires du logiciel oracle.......................................................................................... 5 1.2. CREATION D'UNE BASE DE DONNEES : CONDITIONS PREALABLES .................................................................. 5 1.2.1. Requirements......................................................................................................................................... 5 1.2.2. Pr requis.............................................................................................................................................. 6 1.2.3. Design Physique d'une base de donnes : rgles .................................................................................. 6 1.2.4. Cration manuelle d'une base de donnes ............................................................................................ 6 1.3. ENVIRONNEMENT DU SYSTEME D'EXPLOITATION .......................................................................................... 7 1.3.1. Variables de la base de registres .......................................................................................................... 7 1.3.2. Cration de fichiers de mots de passe ................................................................................................... 8 1.4. FICHIER DE PARAMETRES ET INSTANCE ......................................................................................................... 9 1.4.1. Cration du fichier de paramtres ........................................................................................................ 9 1.4.2. Dmarrage en mode NOMOUNT de l'instance................................................................................... 11 1.5. LA COMMANDE CREATE DATABASE ..................................................................................................... 11 1.5.1. Assistant de configuration de base de donnes ................................................................................... 11 1.5.2. Les options de la commande CREATE DATABASE............................................................................ 12 1.5.3. Crer une base de donnes.................................................................................................................. 13 1.5.4. Les conditions d'erreur lors de la cration d'une base de donnes..................................................... 14 1.5.5. Le contenu d'une base de donnes aprs sa cration.......................................................................... 14 2. DICTIONNAIRE DE DONNEES ET PACKAGES STANDARD.............................................................. 15 2.1. STRUCTURE DU DICTIONNAIRE DE DONNEES ............................................................................................... 15 2.1.1. Dictionnaire de donnes ..................................................................................................................... 15 2.1.2. Composants du dictionnaire de donnes............................................................................................. 15 2.1.3. Cration des vues du dictionnaire de donnes .................................................................................... 16 2.1.4. Catgories du dictionnaire de donnes ............................................................................................... 16 2.1.5. Informations contenues dans le dictionnaire de donnes.................................................................... 17 2.2. SCRIPTS DU DICTIONNAIRE DE DONNEES ..................................................................................................... 18 2.2.1. Cration de fonctions PL/SQL ............................................................................................................ 18 2.2.2. Scripts administratifs .......................................................................................................................... 18 2.3. PROCEDURES ET PACKAGES STOCKES ......................................................................................................... 19 2.3.1. Proprits des procdures stockes .................................................................................................... 19 2.3.2. Proprits des packages...................................................................................................................... 19 2.3.3. Avantages des units de programme stockes..................................................................................... 20 2.3.4. Packages fournis par Oracle............................................................................................................... 20 2.4. INFORMATION SUR LES OBJETS STOCKES ..................................................................................................... 21 2.4.1. Identification des objets non valides ................................................................................................... 21 2.4.2. Spcification des units de programme : extraction ........................................................................... 21 2.4.3. Dpannage des objets non valides ...................................................................................................... 22 3. GESTION DES FICHIERS DE REDO LOG ET DES FICHIERS DE CONTROLE.............................. 23 3.1. FICHIER DE CONTROLE ................................................................................................................................ 23 3.1.1. Fonctions du fichier de contrle ......................................................................................................... 23 3.1.2. Contenu du fichier de contrle............................................................................................................ 23 3.1.3. Information du fichier de contrle ...................................................................................................... 23 3.1.4. Multiplexage des fichiers de contrle ................................................................................................. 24 3.2. FICHIERS REDO LOG ONLINE ...................................................................................................................... 25 3.2.1. Groupe de fichiers redo log online...................................................................................................... 25 3.2.2. Membres Redo Log Online.................................................................................................................. 25 3.2.3. Fichier Redo Log : Paramtres........................................................................................................... 26 3.3. BASCULEMENTS DE FICHIERS LOG ET POINTS DE SYNCHRONISATION .......................................................... 26 3.3.1. Basculement de fichiers log (log switches) ......................................................................................... 26 3.3.2. Forcer un basculement de fichier log.................................................................................................. 27

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

3 / 53

3.3.3. Points de synchronisation ................................................................................................................... 28 3.3.4. Forcer un point de synchronisation .................................................................................................... 28 3.3.5. Intervalles de point de synchronisation : Paramtres......................................................................... 29 3.4. ARCHIVAGE DE FICHIERS REDO LOG .......................................................................................................... 29 3.4.1. Modes d'archivage .............................................................................................................................. 29 3.4.2. Informations sur les fichiers log et sur l'archivage............................................................................. 32 3.4.3. Information sur les groupes de fichier redo log.................................................................................. 32 3.5. MAINTAINING REDO LOG GROUPS .............................................................................................................. 34 3.5.1. Ajout de groupes de fichiers redo log online....................................................................................... 34 3.5.2. Ajout des membres redo log online ..................................................................................................... 34 3.5.3. Relocalisation des fichiers redo log online ......................................................................................... 35 3.5.4. Suppression de groupes de fichiers redo log online............................................................................ 35 3.5.5. Suppression des membres redo log online .......................................................................................... 36 3.5.6. Rinitialisation des fichiers redo log online........................................................................................ 36 3.6. PLANNIFICATION DES FICHIERS REDO LOG ONLINE ...................................................................................... 37 3.6.1. Nombre de fichiers redo log online..................................................................................................... 37 3.6.2. Emplacement des fichiers redo log online .......................................................................................... 37 3.6.3. Dimensionnement des fichiers redo log online ................................................................................... 38 3.7. DEPANNAGE DES ERREURS LGWR ............................................................................................................. 38 3.7.1. Erreurs du processus LGWR et leurs effets......................................................................................... 38 3.7.2. Dpannage des erreurs LGWR ........................................................................................................... 39 4. GESTION DES TABLESPACES ET DES FICHIERS DE DONNEES .................................................... 40 4.1. ARCHITECTURE D'UNE BASE DE DONNEES ................................................................................................... 40 4.1.1. Vue d'ensemble de la structure d'une base de donnes ....................................................................... 40 4.1.2. Relations.............................................................................................................................................. 40 4.1.3. Caractristiques d'un tablespace ........................................................................................................ 41 4.1.4. Utilisations d'un tablespace ................................................................................................................ 41 4.1.5. Caractristiques d'un fichier de donnes ............................................................................................ 42 4.2. CREATION DE TABLESPACES ....................................................................................................................... 42 4.2.1. Types de tablespaces ........................................................................................................................... 42 4.2.2. Cration d'un tablespace..................................................................................................................... 43 4.2.3. Paramtres de stockage ...................................................................................................................... 43 4.2.4. Cration de tablespaces temporaires.................................................................................................. 44 4.3. REDIMENSIONNEMENT DE TABLESPACE ...................................................................................................... 45 4.3.1. Ajout de fichiers de donnes................................................................................................................ 45 4.3.2. Extension des fichiers de donnes ....................................................................................................... 46 4.3.3. Redimensionnement des fichiers de donnes....................................................................................... 46 4.4. MODIFICATION DES PROPRIETES D'UN TABLESPACE .................................................................................... 47 4.4.1. Modification des paramtres de stockage ........................................................................................... 47 4.4.2. Tablespace offline : modes.................................................................................................................. 47 4.4.3. Mise offline de tablespaces ................................................................................................................. 48 4.4.4. Dplacement de fichiers de donnes : non-SYSTEM........................................................................... 48 4.4.5. Dplacement de fichiers de donnes : SYSTEM.................................................................................. 49 4.5. TABLESPACE EN LECTURE SEULE ................................................................................................................ 50 4.5.1. Mise en lecture seule de tablespaces................................................................................................... 50 4.5.2. Tablespaces en lecture seule sur des supports en lecture seule .......................................................... 50 4.6. SUPPRESSION DE TABLESPACES ................................................................................................................... 51 4.6.1. Suppression d'un tablespace ............................................................................................................... 51 4.6.2. Consquences de la suppression de tablespaces................................................................................. 51 4.7. INFORMATIONS SUR LES TABLESPACES ....................................................................................................... 52 4.7.1. Plusieurs tablespaces : avantages....................................................................................................... 52 4.7.2. Obtention d'informations sur les tablespaces...................................................................................... 52

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

4 / 53

1. Procdure de cration d'une base de donnes


1.1.Architecture des logiciels
1.1.1. Rgles OFA
La norme OFA a t dveloppe par une quipe Oracle, responsable de l'installation, de la mise niveau et de l'optimisation des systmes UNIX. Le systme de fichiers dun systme d'exploitation doit tre organis afin que la taille des bases de donnes puisse tre gre facilement avec lajout de donnes, dutilisateurs et de matriels. La norme OFA (Optimal Flexible Architecture) permet de rendre possible cette organisation du systme de fichiers. - Pour que qu'une structure de rpertoire soit compatible OFA, un rpertoire diffrent doit tre cr sous le rpertoire des donnes Oracle pour chaque base de donnes du systme. Par exemple, le rpertoire orant\oradata\db01 est cr pour la base de donnes db01. - Tous les fichiers de contrle (control files), les fichiers redo log et les fichiers de donnes (data files) dune base de donnes spcifique doivent tre placs sous le rpertoire spcifique cette base de donnes. Par exemple, le fichier de contrle (ctrl1orcl.ora) et le fichier redo log (rdoorcl.ora) de la base de donnes db01 sont stocks dans le rpertoire orant\oradata\db01. - Les groupes dobjets prsentant des caractristiques de fragmentation diffrentes doivent tre stocks dans diffrents tablespaces. Par exemple, les segments de donnes et les segments de rollback doivent tre stocks dans des tablespaces distincts. - Les objets susceptibles de provoquer des conflits lis l'utilisation des ressources disques doivent tre placs dans des tablespaces distincts. Les donnes de tablespace impliques dans un conflit doivent tre rparties sur diffrents disques. Pour optimiser la rpartition de la charge des entres/sorties et minimiser la contention, il est conseill dutiliser une configuration en quatre disques. La rpartition des fichiers de la base de donnes sur quatre disques assure la compatibilit avec la norme OFA et augmente la fiabilit de la base de donnes. o Le premier disque contient le code de base du systme d'exploitation. o Le rpertoire racine Oracle est stock sur le second disque. o Le troisime disque stocke le code de lapplication, une copie du fichier de contrle et les fichiers redo log. o Le quatrime disque stocke une copie dun fichier de contrle, des fichiers redo log et des fichiers de la base de donnes. Le quatrime disque nest pas ncessaire si la technologie RAID1 (Redundant Array of Inexpensive Disks) est utilise pour les fichiers redo logs et les fichiers de donnes. Dans ce cas, le troisime disque devient un volume mis en miroir du quatrime. En outre, les fichiers de donnes situs sur ce disque doivent tre stocks au mme emplacement que celui o ils auraient t stocks sur le quatrime disque. Si une combinaison des technologies RAID1 et RAID5 est utilise, le troisime et le quatrime disque doivent tre mis respectivement en RAID1 et RAID5. Si seulement trois disques sont disponibles, le systme d'exploitation et le rpertoire racine Oracle sont stocks sur le premier disque. Le second disque stocke le code de lapplication, une copie du fichier de contrle, des fichiers redo log et des fichiers de la base de donnes. Enfin le troisime disque contient une copie du fichier de contrle, les fichiers redo log et les fichiers de la base de donnes. - Pour obtenir une structure de rpertoire compatible OFA, les groupes dobjets prsentant des caractristiques de comportement diffrents doivent tre placs dans des tablespaces distincts. Par exemple, les tables qui requirent des sauvegardes quotidiennes et mensuelles doivent tre stockes dans des tablespaces distincts.
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


-

5 / 53

La base de donnes doit possder au moins deux diffrentes copies des fichiers de contrle stockes sur des disques diffrents. Ceci permet la base de donnes de continuer fonctionner proprement en accdant un fichier sur un autre disque si un disque est corrompu. Chaque groupe de redo log en ligne doit avoir au moins deux membres redo log en ligne localiss sur disques physiques diffrents. Ceci permet dutiliser un autre membre dun groupe si un membre dun groupe est corrompu.

1.1.2. Structure des rpertoires du logiciel oracle


Le rpertoire par dfaut ORACLE_HOME sappelle ora81. Le sous-rpertoire Bin du rpertoire ora81 contient des fichiers binaires de tous les produits et bases de donnes Oracle prsents sur le systme. Le sous-rpertoire Bin contient des fichiers batch, des fichiers DLL (Dynamic-Link Library), des fichiers daide et des fichiers excutables de tous les produits Oracle. Le sous-rpertoire Oradata contient tous les fichiers de la base de donnes, des fichiers de paramtres, des fichiers de contrle, des fichiers log et des fichiers de mots de passe pour toutes les bases de donnes. Le sous-rpertoire Dbs contient tous les fichiers de messages et les scripts de toutes les bases de donnes. Les fichiers messages sont utiliss par Oracle pour afficher le message derreur associ un numro derreur Oracle. Le sous-rpertoire Orainst contient des programmes et des fichiers utiliss pour linstallation des produits Oracle. Le sous-rpertoire Rdbms contient des fichiers serveur, des scripts, des librairies et des fichiers readme. Le sous-rpertoire Plsql contient des fichiers message, des scripts SQL et des fichiers de dmonstration pour le PL/SQL. Le sous-rpertoire sqlplus contient des fichiers message et des procdures SQL*Plus pour toutes les bases de donnes. Le sous-rpertoire Network contient des fichiers message pour les produits Net8. Net8 est un logiciel utilis pour communiquer avec les machines client et les autres serveurs de bases de donnes Oracle. Le sous-rpertoire Admin du rpertoire Network contient des fichiers de configuration utiliss par Net8.

1.2.Cration d'une base de donnes : conditions pralables


1.2.1. Requirements
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 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


1.2.2. Pr requis

6 / 53

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. Lorsqu'un utilisateur d'une base de donnes est authentifi par le systme d'exploitation, la base de donnes utilise les informations gres par le systme d'exploitation pour authentifier l'utilisateur. - 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.

1.2.3. Design Physique d'une base de donnes : rgles


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. o 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 concurrent, tels que les tables et les index, doivent tre spars. Cette sparation garantit au DBA un bon quilibrage des charges dentre/sortie.

1.2.4. Cration manuelle d'une base de donnes


Quand Oracle est install sur un systme, une base de donnes initiale peut tre cre automatiquement en fonction de ce qui a t slectionn durant linstallation.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

7 / 53

Si la structure de la base de donnes initiale ne rempli 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. - 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.

1.3.Environnement du systme d'exploitation


1.3.1. Variables de la base de registres
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 registres 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 registres. 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 registres Windows NT. 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. Par exemple, lemplacement du rpertoire racine dOracle pourrait tre C:\Ora81, dans ce cas la variable ORACLE_HOME contiendrait C:\Ora81.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

8 / 53

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. Par exemple, le rpertoire NLSTRL33\DATA contient les informations propos du jeu de caractres utilis par la base de donnes. Pour quune instance dOracle fonctionne proprement, la variable PATH doit stocker le chemin d'un fichier spcifique. Par exemple, la variable PATH est stocke dans le sous rpertoire ALL_HOMES\ID2 peut contenir le chemin D:\Ora8i.

Le serveur Oracle sous UNIX ncessite la configuration de cinq variables : ORACLE_HOME, ORACLE_SID, ORACLE_BASE (pas obligatoire mais recommand), ORACLE_NLS33 et PATH.

1.3.2. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


L'excutable ORAPWD.exe permet d'excuter lutilitaire ORAPWD. Exemple : Utilisez lutilitaire ORAPWD pour configurer le password du DBA en tant que Eagle pour linstance ORCL. Cinq utilisateurs privilgis peuvent utiliser ce fichier de password Dans une invite de commande MS-DOS, spcifiez le fichier qui dtient les informations concernant lautorisation DBA en tapant :
ORAPWD FILE=d:\ora81\database\testpwd.ora PASSWORD=eagle ENTRIES=5

9 / 53

1.4.Fichier de paramtres et instance


1.4.1. Cration du fichier de paramtres
Lors de l'installation d'Oracle, une base de donnes par dfaut est cre avec un fichier de paramtre. Un fichier de paramtre est un fichier texte contenant une liste de paramtres dinitialisation pour une instance et pour une base de donnes particulire. Lorsqu'une instance est dmarre, Oracle lit un fichier de paramtres pour initialiser la mmoire et traiter les paramtres de linstance. Si une base de donnes est cre manuellement, il faut crer un nouveau fichier de paramtres. Pour cela, il faut utiliser le systme d'exploitation pour effectuer une copie du fichier de paramtres par dfaut, init.ora, et attribuer un nouveau nom de fichier cette copie. Ensuite, le nouveau fichier de paramtre doit tre dit et configur pour la nouvelle base de donnes. Pour configurer un fichier de paramtre pour une nouvelle base de donnes, il faut au moins spcifier les valeurs aux paramtres DB_NAME, CONTROL_FILES et DB_BLOCK_SIZE avant de dmarrer une instance. Si aucune autre valeur nest modifie, les valeurs par dfaut sont conserves. Exemple :
db_name = DEFAULT # nom de la nouvelle base de donnes (8 caractres maxi) # db_name = ORCL # nom de la base de donnes initiale cre automatiquement instance_name = orcl service_names = ORCL db_files = # db_files # db_files # db_files 1024 # INITIAL = 80 = 400 = 1500

# SMALL # MEDIUM # LARGE

control_files = ("C:\ora81\oradata\ORCL\control01.ctl", "D:\ora81\oradata\ORCL\control02.ctl") # emplacement des fichiers de contrle de la base de donnes DEFAULT db_file_multiblock_read_count = # db_file_multiblock_read_count # db_file_multiblock_read_count # db_file_multiblock_read_count db_block_buffers = # db_block_buffers # db_block_buffers # db_block_buffers 8 # INITIAL = 8 = 16 = 32

# SMALL # MEDIUM # LARGE

8192 # INITIAL = 100 = 550 = 3200

# SMALL # MEDIUM # LARGE

open_cursors = 300 max_enabled_roles = 30

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

10 / 53

shared_pool_size = # shared_pool_size # shared_pool_size # shared_pool_size

15728640 # INITIAL = 3500000 = 5000000 = 9000000

# SMALL # MEDIUM # LARGE

large_pool_size = 614400 java_pool_size = 10485760 log_checkpoint_interval = 10000 log_checkpoint_timeout = 1800 processes = # processes # processes # processes 150 # INITIAL = 50 = 100 = 200

# SMALL # MEDIUM # LARGE

parallel_max_servers = 5 log_buffer = # log_buffer # log_buffer # log_buffer 32768 # INITIAL = 32768 = 32768 = 163840

# SMALL # MEDIUM # LARGE

max_dump_file_size = 10240

# limit trace file size to 5M each

# log_archive_dest_1 = "location=D:\oracle\oradata\PORTAL8I\archive" global_names = true # enforce that a dblink has same name as the db it connects to # oracle_trace_enable = true oracle_trace_collection_name = "" background_dump_dest = D:\oracle\admin\PORTAL8I\bdump # define directories to store trace and alert files user_dump_dest = D:\oracle\admin\PORTAL8I\udump db_block_size = 4096 # taille (en bits) des blocs de la base de donnes DEFAULT remote_login_passwordfile = exclusive # The following parameters are needed for the Advanced Replication # Option job_queue_processes = 2 job_queue_processes = 10 open_links = 4 distributed_transactions = 10 mts_dispatchers = "(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)" # Uncomment the line when your listener is configured for SSL # (listener.ora and sqlnet.ora) compatible = 8.1.0 sort_area_size = 65536 sort_area_retained_size = 65536 #audit_trail = true #timed_statistics = true # if you want auditing # if you want timed statistics

# log_archive_start = true # log_archive_format = %%ORACLE_SID%%T%TS%S.ARC # If using private rollback segments, place lines of the following

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


# form in each of your instance-specific init.ora files: # rollback_segments = ( RBS0, RBS1, RBS2, RBS3, RBS4, RBS5, RBS6 ) resource_manager_plan = system_plan os_authent_prefix = ""

11 / 53

1.4.2. Dmarrage en mode NOMOUNT de l'instance


Avant la cration de la base de donnes, il faut dmarrer une instance en mode NOMOUNT. En mode NOMOUNT, la SGA est alloue et les processus en arrire plan sont dmarrs pour la cration de la base de donnes. Exemple : Le DBA veut dmarrer linstance ORCL en mode NOMOUNT en utilisant le fichier de paramtre. Sous une fentre SQL*Plus, le DBA va se connecter en tant que internal la base de donnes.
SQL> STARTUP NOMOUNT PFILE="d:\ora81\admin\orcl\pfile\initorcl.ora" ORACLE instance started Total System Global Area 38322124 bytes Fixed Size 65484 bytes Variable Size 21405696 bytes Database Buffers 16777216 bytes Redo Buffers 73728 bytes

L'instance ORCL a t dmarre en mode NOMOUNT. Le DBA peut ainsi prparer la cration d'une base de donnes grce l'allocation de la SGA et au dmarrage des processus en arrire plan de la nouvelle base de donnes.

1.5.La commande CREATE DATABASE


1.5.1. Assistant de configuration de base de donnes
Il existe deux faons de crer une nouvelle base de donnes : - en utilisant lAssistant de Configuration de Base de Donnes (Database Configuration Assistant), un nouvel outil de la base de donnes Oracle8i qui simplifie la cration dune base de donnes. - En utilisant la commande CREATE DATABASE LAssistant de Configuration de Base de Donnes permet de crer, modifier ou supprimer une base de donne Oracle. Dans Oracle8i, lAssistant peut tre invoqu en mode standalone (plus besoin de se connecter OEM), comme une application Java de Oracle Universal installer, ou comme une applet de Oracle Enterprise Manager (en Java). LAssistant de Configuration de Base de Donnes peut crer une base de donnes typique ou personnalise. Une base de donnes typique est construite partir des paramtres de la base de donnes par dfaut fournie sur le CD-ROM dinstallation dOracle. La cration dune base de donnes personnalise inclus des fonctionnalits qui permettent de personnaliser les caractristiques de la SGA, des fichiers trace, des fichiers redo log, des tablespaces, des paramtres du fichier de contrle. Quelque soit le type dinstallation choisi (personnalise ou typique), lassistant demande lutilisateur de slectionner lenvironnement dans lequel la base de donnes fonctionnera. Il existe trois environnements possibles : Online Transaction Processing (OLTP), Decision Support Systems (DSS) et Hybrid (un mlange de OLTP et de DSS). Quelque soit le type dinstallation choisie, lAssistant demande lutilisateur de saisir le nombre dutilisateurs concurrents (nombre dutilisateurs maximum susceptibles de se connecter en mme temps) attendu sur la base de donnes un moment donn. La valeur par dfaut est le nombre

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

12 / 53

dutilisateurs que la base de donnes peut supporter. Cette valeur se base sur une dtection de la mmoire automatiquement effectue par lAssistant de Configuration de Base de Donnes. La commande SQL CREATE DATABASE permet un utilisateur de crer une base de donnes immdiatement ou de sauver la commande dans un script. Le script SQL permet lutilisateur de sauver les informations concernant la cration de la base de donnes pour crer la base de donnes plus tard. LAssistant de Configuration de Base de Donnes peut crer des bases de donnes sur des machines distantes possdant un Agent Intelligent Enterprise Manager (Enterprise Manager Intelligent Agent). LAssistant communique avec lAgent Intelligent en rceptionnant et en recevant des arguments en mode silencieux (sans affichage et sans actions ncessaires de lutilisateur). Les installations en mode silencieux utilisent des scripts qui permettent des installations automatises. Loption Delete a database permet aux utilisateurs, possdant un mot de passe autoris, de supprimer une base de donnes. Une fois que la base de donnes est supprime, lAssistant de Configuration de Base de donnes utilise le mot de passe et la vue V$DATAFILE pour obtenir tous les fichiers associs la base de donnes. Tous les fichiers en relation avec la base de donnes sont leur tour supprims except le fichier init<sid>.ora. Si lAssistant nest pas utilis pour crer la base de donnes, il faut utiliser la commande CREATE DATABASE.

1.5.2. Les options de la commande CREATE DATABASE


Une base de donnes est une collection de donnes lies. 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] 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]
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

13 / 53

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.

1.5.3. Crer une base de donnes


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 donnes doit tre crit dans un fichier texte. Le script est ensuite excut en utilisant SQL*Plus (par exemple). Exemple : On veut crer une base de donnes ORCL2 en utilisant la commande CREATE DATABASE. La base de donne doit possder cinq membres de fichiers redo log par groupe et un maximum de 32 groupes de fichiers redo log. La base de donnes doit possder un fichier de donnes pour le tablespace SYSTEM dune taille de 25Mb, et un nombre maximal de 30 fichiers de donnes, de 100 fichiers redo log archivs. Sans oublier qu'elle doit utiliser le jeu de caractres WE8ISO8859P1. Dans le bloc note, le DBA va crire le script suivant, et lenregistrer en tant que test.sql :
SQL> CREATE DATABASE ORCL2 2 DATAFILE D:\ora81\oradata\ORCL2\systest.ora SIZE 25M 3 LOGFILE GROUP 1 (c/\ora81\oradata\ORCL2\log1aorcl2.ora, 4 d:\ora81\oradata\ORCL2\log1borcl2.ora) SIZE 150 K, 5 GROUP 2 (c:\ora81\oradata\ORCL2\log2aorcl2.ora, 6 d:\ora81\oradata\ORCL2\log2borcl2.ora) SIZE 150 K 7 CONTROLFILE REUSE 8 MAXLOGFILES 32 9 MAXLOGMEMBERS 5 10 MAXDATAFILES 30 11 MAXLOGHISTORY 100 12 CHARACTER SET WE8ISO8859P1; Database created.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

14 / 53

Pour crer la base de donnes, le script est excut sous SQL*Plus. Linstance doit tre pralablement dmarre en mode NOMOUNT en utilisant le fichier de paramtre inittest.ora. Le script est ensuite excut laide de la commande :
SQL> @c:\test

La base de donnes ORCL2 a t cre l'aide de la commande CREATE DATABASE. Maintenant le DBA peut stocker et extraire les donnes de la base de donnes ORCL2.

1.5.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 et supprimer tous les fichiers crs par la commande. Il faut ensuite corriger lerreur, redmarrer linstance en mode NOMOUNT et crer nouveau la base de donnes.

1.5.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 les mots de passe par dfaut change_on_install et manager respectivement. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

15 / 53

2. Dictionnaire de donnes et Packages Standard


2.1.Structure du dictionnaire de donnes
2.1.1. 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.

2.1.2. Composants du dictionnaire de donnes


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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

16 / 53

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 stock dans le rpertoire ora81\rdbms\admin. 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.

2.1.3. Cration des vues du dictionnaire de donnes


Le script catalog.sql cre les vues du dictionnaire de donnes pour une base de donnes. Il est stock dans le rpertoire ora81\rdbms\admin. Exemple : On dsire crer les vues du dictionnaire de donnes pour la base de donnes TEST. Ouvrir la base de donnes TEST et excutez le script catalog.sql sous SQL*Plus laide de la commande :
@d:\ora81\rdbms\admin\catalog;

Il est important de se souvenir que l'excution complte du script ncessite un temps relativement long.

2.1.4. Catgories du dictionnaire de donnes


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>. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

17 / 53

2.1.5. 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 dba_users dba_sys_privs dba_roles 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 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 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 :

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


Lobjectif est de rcuprer les noms des segments de rollback de la base de donnes en interrogeant la vue DICTIONARY.
SQL> SELECT * 2 FROM dictionary 3 WHERE table_name LIKE UPPER(%ROLLBACK%); TABLE_NAME COMMENTS ------------------------------ ------------------------------------DBA_ROLLBACK_SEGS Description of rollback segments 1 row selected.

18 / 53

Cette requte affiche le nom des vues qui contiennent des informations sur les segments de rollback. Pour afficher les noms des segments de rollback :
SQL> SELECT segment_name 2 FROM dba_rollback_segs; SEGMENT_NAME -----------------------------SYSTEM RB_TEMP RB1 RB2 RB3 ...

2.2.Scripts du dictionnaire de donnes


2.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 ora81\rdbms\admin. Pour lexcuter, il suffit douvrir une session SQL*Plus et de lancer lexcution du script avec la commande : @<chemin complet du script>.

2.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 ORACLE_HOME\Rdbms80\Admin : - 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 :

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

19 / 53

Ils crent des spcifications de package de base de donnes. Par exemple, le script dbmspoo ;.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.

2.3.Procdures et packages stocks


2.3.1. Proprits des procdures stockes
Le serveur Oracle permet daccder et dutiliser des informations de la base de donnes en utilisant des procdures stockes. Les procdures stockes sont des objets appartenant un schma qui regroupe logiquement un ensemble dordres SQL et PL/SQL pour effectuer une tche spcifique. Les procdures stockes sont stockes dans le dictionnaire de donnes dune base de donnes comme les objets dun schma. Les procdures stockes sont constitues d'un ensemble d'instructions SQL et de structures PL/SQL qui sont regroupes. Cet ensemble d'instructions SQL et de structures PL/SQL est excut en tant qu'unit afin de rsoudre un problme spcifique ou d'excuter un ensemble de tches lies. Une fois cres et compiles, les procdures stockes deviennent des objets nomms qui seront stocks dans la base de donnes sous la forme compile. La recompilation nest donc pas ncessaire avant lexcution dune procdure stocke. Les procdures stockes peuvent tre utilises dans des fonctions SQL. Une mme copie dune procdure stocke peut tre utilise par plusieurs utilisateurs simultanment car elles sont stockes dans le dictionnaire de donnes accessible tous les utilisateurs de la base de donnes. Ce partage permet de rduire les besoins en mmoire. Les procdures stockes fournissent des paramtres qui peuvent tre des paramtres en entre (IN), des paramtres de sortie (OUT) ou les deux la fois (IN OUT).

2.3.2. Proprits des packages


Un package est un groupe de procdures stockes, fonctions, variables et type de donnes qui sont stocks dans la base de donnes sous forme d'une unit nomme unique. Ce regroupement de types PL/SQL dans des packages permet damliorer le processus de dveloppement. Lutilisation des packages permet damliorer les performances en rduisant les entres/sorties sur le disque. Un package est divis en deux parties : la spcification et le corps. La spcification du package et le corps du package sont stocks sparment dans la base de donnes. La spcification dun package est une interface vers lapplication. Elle dclare toutes les structures publiques d'un package. Les constructions publiques dune base de donnes font rfrence aux types de donnes, aux variables, aux constantes, aux exceptions, aux curseurs et aux sous-programmes dune base de donnes qui peuvent tre directement accds par les utilisateurs du package. Le corps dun package dfinit toutes les structures publiques et prives du package. Les structures prives sont des variables, des curseurs et des procdures qui sont masques aux utilisateurs du package et qui ne sont accessible que par les procdures contenues dans le package. Lorsqu'un package est appel pour la premire fois, il est charg en mmoire en une seule opration ce qui permet damliorer les performances du systme.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

20 / 53

Le contenu dun package peut tre partag par plusieurs application et utilisateurs simultanment. Une fois un package crit et compil, il est stock en mmoire. Ainsi plusieurs utilisateurs peuvent accder simultanment un package.

2.3.3. Avantages des units de programme stockes


Les donnes dune base de donnes sont accessibles et peuvent tre manipules en utilisant des units de programme PL/SQL stockes. Ces units de programme sont stockes en tant qu'objets dun schma dans une base de donnes. Les procdures, les fonctions et les packages sont des exemples dunits de programme. Les units de programme stockes rduisent les entres/sorties sur le disque. En effet, lorsque les units de programme stockes sont appeles pour la premire fois, elles sont stockes dans la Shared Pool d'Oracle. Ainsi lors des appels suivants, des entres/sorties sur le disque ne sont pas ncessaires pour excuter le code compil se trouvant dj en mmoire. Les units de programme stockes amliorent la scurit des donnes. Les oprations sur la base de donnes peuvent tre limites en autorisant les utilisateurs accder aux donnes par l'intermdiaire des procdures et des fonctions. Par exemple, les utilisateurs peuvent tre autoriss accder une procdure qui met jour des tables, mais ne sont pas autoriss accder la table elle-mme. Lutilisation dunits de programmes stockes permet de plusieurs utilisateurs de partager une mme copie de lunit de programme charge en mmoire. Les units de programme permettent d'augmenter lefficacit de laccs et de la manipulation des donnes dans la base.

2.3.4. Packages fournis par Oracle


Oracle fournit un certain nombre de packages incorpors facilitant la gestion des bases de donnes et la cration d'applications de base de donnes. Les packages fournis par Oracle offrent des informations et des routines qui facilitent lanalyse et la gestion des donnes et des objets de la base de donnes. Le package DBMS_LOB fournit des routines permettant l'excution d'oprations sur les gros objets (Large Objects ou LOBs), tels que les gros objets binaires (Binary Large Objects ou BLOBs) et les gros objets de type caractre (Character Large Objects ou CLOBs). Le package DBMS_LOB est cr lors de lexcution du script catproc.sql. Le package DBMS_SESSION gnre des commandes SQL telles que ALTER SESSION ou SET ROLE. Le package DBMS_SESSION est dfini par les scripts dbmsutil.sql et prvtutil.plb. Le package DBMS_UTILITY fournit diverses routines utilitaires qui permettent danalyser et de compiler un schma et de rsoudre des noms. Le package DMS_UTILITY fournit des fonctions pour la gestion du temps et lobtention dadresses et des listes derreurs. Le package DBMS_SPACE fournit des informations sur lespace disponible (espace non occup par les segments). Ces informations ne peuvent pas tre obtenues travers les vues standard. Le package DBMS_SPACE est cr durant lexcution du script catproc.sql. Le package DBMS_ROWID fournit des fonctions qui convertissent les ROWIDs de format restreint dOracle7 au ROWIDs de format tendu dOracle8i. Il offre galement des fonctions et des procdures permettant d'analyser les ROWIDs. Le package DBMS_ROWID est dfini par les scripts dbmsutil.sql et prvtutil.plb.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

21 / 53

Le package DBMS_SHARED_POOL permet un administrateur de bases de donnes de conserver des objets dans la Shared Pool, afin qu'ils ne soient pas exclus avec lalgorithme LRU (Least Recently Used). Le package DBMS_SHARED_POOL est cr en excutant le script dbmspool.sql.

2.4.Information sur les objets stocks


2.4.1. Identification des objets non valides
Oracle enregistre automatiquement les dpendances entre les objets dune base de donnes. Par exemple, la dpendance dune procdure sur une vue ainsi qu'entre la vue et une table sont enregistres dans le dictionnaire de donnes. Oracle enregistre galement le statut des objets dans une base de donnes. Tous les objets dun schma dans une base de donnes prsentent l'tat VALID ou INVALID. Si un objet a un statut VALID, cela implique que lobjet est compil et quil peut tre utilis quand il est rfrenc. Si un objet a un statut INVALID, cela implique que lobjet ne peut pas tre utilis lorsquil est rfrenc. Par exemple, si une table sur laquelle est construite une vue est supprime, le statut de la vue dpendant de la table supprime devient INVALID. Si une procdure, une fonction ou un package a un statut INVALID, il doit tre recompil avant dtre utilis. Si une vue a un statut INVALID, elle doit tre reparse avant dtre rutilise. Le statut des objets de la base de donnes peut tre rcuprer en interrogeant la vue DBA_OBJECTS du dictionnaire de donnes. Exemple : On dsire rcuprer le type et le nom dun objet des corps de package invalides en interrogeant la vue approprie du dictionnaire de donnes.
SQL> 2 3 4 SELECT object_type, object_name FROM dba_objects WHERE object_type LIKE %PACKAGE BODY% AND status=INVALID;

OBJECT_TYPE OBJECT_NAME ----------------- -------------------------------------------------PACKAGE BODY DBMSOBJG PACKAGE BODY DBMSOBJG2 PACKAGE BODY DBMSOBJGWRAPPER ...

2.4.2. Spcification des units de programme : extraction


La commande DESCRIBE affiche les dfinitions des colonnes des tables, vues ou synonymes spcifis. La commande DESCRIBE est galement utilise pour fournir des informations sur des fonctions et des procdures spcifies. Exemple : On dsire rcuprer des informations sur les paramtres utiliss dans la procdure SET_ROLE du package DBMS_SESSION en utilisant Oracle SQL*Plus.
SQL> DESCRIBE dbms_session ; PROCEDURE SET_ROLE Argument Name Type In/Out Default ? ----------------------------- ------------ ------------ -----------

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


ROLE_CMD VARCHAR2 IN

22 / 53

PROCEDURE SET_SQL_TRACE Argument Name Type In/Out Default ? ----------------------------- ------------ ------------ ----------SQL_TRACE BOOLEAN IN ...

2.4.3. Dpannage des objets non valides


Un objet dpendant peut avoir un statut INVALID dans plusieurs situations : - un objet dpendant devient invalide lorsquun ordre DDL, tels que RENAME et DROP, est effectu sur lobjet rfrenc. Les objets rfrencs sont des objets envers lesquels dautres objets dpendent. Par exemple, la table sur laquelle une vue est construite est un objet rfrenc. - Un objet dpendant peut devenir invalide si les vues dpendantes et les procdures stockes sont charges avec lutilitaire IMPORT. Lutilitaire IMPORT nest pas capable de crer un objet dpendant aprs la cration de lobjet rfrenc. A chaque fois quun objet devient invalide, le serveur Oracle recompile automatiquement lobjet lors de sa prochaine utilisation. Un utilisateur de la base de donnes peut forcer le serveur Oracle compiler un objet invalide en utilisant des commandes SQL spcifiques.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

23 / 53

3. Gestion des fichiers de Redo Log et des fichiers de Contrle


3.1.Fichier de contrle
3.1.1. Fonctions du fichier de contrle
Pour quune base dmarre et fonctionne avec succs, le DBA doit maintenir un fichier binaire appel le fichier de contrle. 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.

3.1.2. Contenu du fichier de contrle


Le fichier de contrle stocke des informations permettant la base de donnes de fonctionner correctement. Le fichier de contrle stocke : - Le nom 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 - La date et l'heure de cration de la base de donnes. - Le numro de squence 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.

3.1.3. Information du fichier de contrle


Les informations stockes par le fichier de contrle peuvent tre obtenu en interrogeant certaines vues dynamiques : V$CONTROLFILE et V$CONTROLFILE_RECORD_SECTION. V$CONTROLFILE contient les emplacements et les noms des fichiers de contrle. Par exemple : On dsire maintenir la base de donnes ORCL qui a t cre par un autre utilisateur. Pour grer la base de donnes efficacement, on dsire obtenir les noms et emplacements des fichiers de contrle. Une session Oracle

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


SQL*Plus Worksheet est ouverte et connecte en tant quinternal la base de donnes.
SQL> SELECT name 2 FROM v$controlfile; NAME E:\ORANT\ORADATA\ORCL\CONTROL01.CTL E:\ORANT\ORADATA\ORCL\CONTROL02.CTL

24 / 53

La requte affiche les noms et les emplacements des fichiers de contrle pour la base de donnes. V$CONTROLFILE_RECORD_SECTION contient les informations sur les diffrentes sections du fichier de contrle, comme le type, le nombre maximum denregistrements et le nombre denregistrements utiliss pour les fichiers de donnes. Par exemple : Comme dans lexemple prcdent, afin dadministrer efficacement la base de donnes ORCL, on dsire obtenir le nombre maximum de fichiers de donnes de cette base de donnes. Une session Oracle SQL*Plus Worksheet est ouverte et connect en tant quinternal la base de donnes.
SQL> SELECT type, records_total 2 FROM v$controlfile_record_section 3 WHERE type=DATAFILE ; TYPE RECORDS_TOTAL ----------------- ------------DATAFILE 32 1 row selected.

3.1.4. Multiplexage des fichiers de contrle


Le fichier de contrle est indispensable au dmarrage et au bon fonctionnement de la base de donnes. Si le fichier de contrle est perdu ou corrompu, la base de donnes ne dmarrera pas. Pour surmonter la perte ou la corruption dun fichier de contrle, il faut stocker au moins deux fichiers de contrle identiques sur des disques diffrents. Le serveur Oracle peut crer une base de donnes possdant au maximum huit noms de fichiers de contrle. Les noms des fichiers de contrle sont dtermins par le paramtre dinitialisation CONTROL_FILES. Cependant, les fichiers de contrle peuvent tre multiplexs manuellement pour une base de donnes existante. Exemple : On dsire multiplexer le fichier de contrle control01.ctl de la base de donnes ORCL lemplacement dans le rpertoire d:\orant\oradata\orcl. Le fichier de paramtre se nomme initorcl.ora. Le fichier de contrle et le fichier de paramtres se situent dans le rpertoire e:\orant\oradata\orcl. Etapes dans le multiplexage dun fichier de contrle : - arrter la base de donnes ORCL. - copier le fichier de contrle existant et placer le nouveau fichier sur un disque diffrent de loriginal. - Le fichier de contrle control01.ctl situ dans le rpertoire e:\orant\oradata\orcl est copi, sa copie est place dans le rpertoire d:\orant\oradata\orcl et renomme control02.ctl.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


-

25 / 53

spcifier le nom et le chemin complet du nouveau fichier de contrle dans le fichier de paramtres. control_files =("E:\orant\oradata\orcl\control01.ctl", "D:\orant\oradata\orcl\control02.ctl") dmarrer l'instance et ouvrir la base de donnes.

Pour vrifier la prsence du nouveau fichier de contrle, il faut excuter la requte suivante :
SQL> SELECT * 2 FROM v$controlfile; STATUS NAME -------------- ----------------------------------------------------E:\ORANT\ORADATA\ORCL\CONTROL01.CTL E:\ORANT\ORADATA\ORCL\CONTROL02.CTL

3.2.Fichiers Redo Log Online


3.2.1. Groupe de fichiers redo log online
Des donnes peuvent tre perdu dans la base de donnes en raison d'une dfaillance, telle que la perte d'une copie unique du fichier de contrle ou d'un groupe de fichiers redo log en ligne. La perte d'un fichier peut provoquer la dfaillance du systme. Pour viter cela, le serveur Oracle gre plusieurs copies des fichiers redo log en ligne. Un ensemble de copies identiques de fichiers redo log en ligne est appel un groupe de redo log online. La fonction principale des fichiers redo log consiste minimiser la perte de donnes d'une base de donnes. Les fichiers redo log stockent toutes les modifications apportes aux donnes du buffer cache. Ces informations sont utilises lors de la restauration. 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. 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. Le serveur Oracle a besoin au minimum de deux groupes de fichiers redo log online pour un fonctionnement normal des bases de donnes.

3.2.2. Membres Redo Log Online


Pour viter la perte des donnes dans la base de donnes, le serveur Oracle gre les fichiers redo log online dans des groupes de fichiers redo log online. Chaque fichier redo log online dans un groupe de fichiers redo log online est appel un membre redo log online. 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.
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


3.2.3. Fichier Redo Log : Paramtres

26 / 53

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 onlne. 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.

3.3.Basculements de fichiers log et points de synchronisation


3.3.1. 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 buffer redo log dans les groupes de redo log onlne. Le buffer redo log est utilis de faon circulaire. Dans certains cas, les entres du buffer redo log 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.

Le processus LGWR agit : - lorsqu'une validation (COMMIT) est excute. - lorsque le buffer redo log est rempli 1/3. - avant que le processus DBWR n'crive les blocs modifis du buffer cache dans les fichiers de donnes.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


-

27 / 53

lorsque que le dlai d'attente (temps maximum entre deux critures) du LGWR est atteint. Ce dlai dure 3 secondes.

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 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.

3.3.2. Forcer un basculement de fichier log


Une des tapes avant d'effectuer une sauvegarde chaud est de forcer un basculement de fichier log afin d'avoir les donnes les plus rcentes dans les fichiers de donnes. La syntaxe pour forcer est un basculement de fichier log est la 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.
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

28 / 53

Un basculement de fichier log peut tre forc mme si aucune sauvegarde n'est prvue dans l'immdiat.

3.3.3. Points de synchronisation


L'vnement en arrire 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. Si le point de synchronisation s'est achev correctement, le processus d'arrire-plan 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 - 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.

3.3.4. Forcer un 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;

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

29 / 53

Outre la commande SQL, Oracle offre une interface graphique, Oracle Backup Manager qui permet de forcer un point de synchronisation.

3.3.5. Intervalles de point de synchronisation : Paramtres


Pour minimiser la restauration d'une instance, l'administrateur doit frquemment mettre jour les fichiers de donnes de la base de donnes et les fichiers de contrle associs. Le point de synchronisation assure la mise jour frquente des fichiers de donnes et des fichiers de contrle. Des paramtres d'initialisation peuvent tre configur de faon contrler les checkpoints de base de donnes. Durant des oprations normales de base de donnes, le lancement du point de synchronisation dpend de la taille du fichier redo log online. Lorsque la base de donnes utilise des fichiers redo log online volumineux, l'administrateur peut contrler les points de synchronisation de la base de donnes en dfinissant les paramtres d'initialisation : o LOG_CHECKPOINT_INTERVAL : un point de synchronisation commence ds que le processus LGWR crit le nombre de blocs spcifi par le paramtre LOG_CHECKPOINT_INTERVAL. La valeur des blocs est spcifie en blocs du systme d'exploitation et non en blocs de base de donnes Oracle. Indpendamment de la valeur de LOG_CHECKPOINT_INTERVAL, les points de synchronisation interviendront toujours lors du basculement d'un fichier redo log en ligne un autre. Si la valeur du paramtre LOG_CHECKPOINT_INTERVAL dpasse la taille relle du fichier redo log online, alors les points de synchronisation interviendront lors du basculement des fichiers log. La valeur 0 attribue au paramtre LOG_CHECKPOINT_INTERVAL peut lancer des points de synchronisation frquents. La raison en est qu'une nouvelle demande de point de synchronisation sera lance mme si un seul buffer redo log est crit aprs le lancement de la dernire demande de point de synchronisation effectue. L'affectation de la valeur 0 au paramtre LOG_CHECKPOINT_INTERVAL n'est pas recommande pour des raisons de performance. LOG_CHECKPOINT_TIMEOUT : ce paramtre spcifie la dure maximale avant qu'un autre point de synchronisation se dclenche. La valeur de ce paramtre est spcifie en second. Le calcul du temps pour ce paramtre commence au dmarrage du prcdent point de synchronisation. L'affectation de la valeur 0 ce paramtre dsactive les points de synchronisation bass sur des priodes de temps.

En spcifiant les valeurs appropries ces paramtres, l'administrateur peut s'assurer des mises jour rgulires de la base de donnes.

3.4.Archivage de Fichiers Redo Log


3.4.1. Modes d'archivage
La disponibilit des donnes les plus rcents dans une base de donnes en situation critique est importante. Si les donnes de la base de donnes sont perdues suite une dfaillance d'un support, le mode d'archivage de la base de donnes dtermine l'tat des donnes au cours de la rcupration. Les modes d'archivage de la base de donnes sont ARCHIVELOG et NOARCHIVELOG. Ils dterminent les scnarios possibles de rcupration de la base de donnes. Le mode NOARCHIVELOG est le mode par dfaut.
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

30 / 53

Uns dcision importante que doit prendre l'administrateur est de dterminer le mode d'archivage de sa base de donnes. Le mode ARCHIVELOG doit tre utilis quand les donnes sont critiques. En mode NOARCHIVELOG, les fichiers redo log online sont crass chaque fois un fichier redo log en ligne est plein et qu'un basculements de fichiers log se dclenchent. Si il a une dfaillance d'un support, les donnes crites dans les fichiers de donnes entre la dernire sauvegarde et l'heure actuelle ne peuvent pas tre rcupres. Cependant, le processus LGWR n'crasera pas un groupe de redo log avant que le point de synchronisation de ce groupe ne soit termin. Par exemple : La base de donnes est en mode NOARCHIVELOG. A l'instant T1 : le DBA effectue une sauvegarde complte de la base de donnes A l'instant T2 : un chec sur le disque se produit Rsultat : toutes les transactions effectues entre l'instant T1 et l'instant T2 sont perdues.

En mode ARCHIVELOG, les groupes inactifs de fichiers redo log online plein sont archivs avant d'tre crass par le processus LGWR. Dans ce mode, tous les fichiers redo log sont sauvegards dans des fichiers log archivs. Donc l'administrateur peut utiliser la sauvegarde physique, les fichiers log archivs et les fichiers redo log online pour rcuprer la base de donnes sans perdre de donnes valides aprs une dfaillance du support.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

31 / 53

Par exemple : La base de donnes est en mode ARCHIVELOG. A l'instant T1 : le DBA effectue une sauvegarde complte de la base de donnes Les fichiers redo log sont sauvegards dans des fichiers log archivs. A l'instant T2 : un chec sur le disque se produit Rsultat : le DBA utilise la sauvegarde complte, les fichiers redo log archivs et les fichiers redo log en ligne pour rcuprer la base sans les transactions valides effectues entre l'instant T1 et l'instant T2.

Les fichiers redo log en ligne peuvent tre archivs manuellement ou automatiquement. L'archivage automatique est la mthode "prfre" car l'archivage manuel pourrait aboutir des situations o la base de donnes est arrte ou en attente. Le paramtre d'initialisation LOG_ARCHIVE_START indique si l'archivage est automatique ou manuelle au dmarrage de l'instance. La valeur TRUE affecte au paramtre LOG_ARCHIVE_START signifie que l'archivage est automatique. Le processus d'archivage ARCH du serveur Oracle dclenche l'archivage du groupe de redo log online plein chaque basculement de fichier log. La valeur par dfaut du paramtre LOG_ARCHIVE_START est FALSE. La valeur
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

32 / 53

FALSE signifie que l'administrateur de la base de donnes doit archiver manuellement les groupes de fichiers redo log online plein. L'archivage manuel s'effectue grce une commande SQL. Les options de la commande permettre d'archiver une partie des fichiers ou tous les fichiers.

3.4.2. Informations sur les fichiers log et sur l'archivage


Un administrateur a besoin de connatre les informations d'archivage de la base de donnes et les informations sur le log squence. Ces informations sont ncessaires pour la restauration en cas de dfaillance du support. Il existe deux faons de rcuprer ces informations. Le serveur Oracle fournit un l'outil Oracle Instance Manager qui renseigne sur le log squence et sur le mode d'archivage tout comme la commande SQL : ARCHIVE LOG LIST. La commande SQL ARCHIVE LOG LIST accde des vues dynamiques. Exemple :
SQL> ARCHIVE LOG LIST; Database log Mode Automatic archival Archive destination Oldest online log sequence Next log sequence to archive Current log sequence Archive Mode Enabled E:\orant\RDBMS 155 158 158

La vue dynamique V$DATABASE permet de rcuprer le nom de la base de donnes et le mode d'archivage. Exemple :
SQL> SELECT name, log_mode 2 FROM V$DATABASE; NAME LOG_MODE -------------- --------------ORCL ARCHIVELOG

La vue dynamique V$INSTANCE permet de rcuprer le nom de l'instance et le statut de l'archiveur. Exemple :
SQL> SELECT instance_name, archiver 2 FROM V$INSTANCE; INSTANCE_NAME ARCHIVER -------------- ----------ORCL STARTED

3.4.3. Information sur les groupes de fichier redo log


Les vues dynamiques V$THREAD, V$LOGFILE et v$LOG contiennent des informations sur les membres redo log en ligne et sur les groupes redo log online. La vue dynamique V$THREAD fournit le nombre total de groupes redo log online, le numro du groupe log courant et le numro de squence log courant. Exemple :
SQL> SELECT current_group#, sequence#

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


2 FROM V$THREAD;

33 / 53

CURRENT_GROUP# SEQUENCE# ----------------- --------5 420

La vue dynamique V$LOGFILE fournit les noms de tous les membres d'un groupe redo log et leur statut. Exemple :
SQL> SELECT * 2 FROM V$LOGFILE; GROUP# ---------1 2 3 4 STATUS MEMBERS ------- ---------------------------------------------E:\ORANT\ORADATA\ORCL\REDO04.LOG E:\ORANT\ORADATA\ORCL\REDO03.LOG STALE E:\ORANT\ORADATA\ORCL\REDO02.LOG STALE E:\ORANT\ORADATA

La configuration minimale ici est constitue de deux groupes de redo log chacun possdant un membre. La colonne STATUS de la vue V$LOGFILE peut prendre les valeurs suivantes : - INVALID : indique que le fichier redo log online est inaccessible. - STALE : indique que le fichier redo log online n'est plus utilis. - DELETED : indique que le contenu du fichier redo log en ligne est incomplet. Ce statut est normal lorsque des membres redo log ont rcemment t ajouts. - NULL : indique que le fichier redo log online est en cours d'utilisation La vue dynamique V$LOG fournit le nombre de groupes de fichiers redo log online, leur statut, le numro de squence et le numro des membres de chaque groupe. Par exemple :
SQL> SELECT group#, sequence#, bytes, members, status 2 FROM V$LOG; GROUP# SEQUENCE# BYTES# MEMBERS STATUS ---------- --------- ---------- --------- ----------------------1 157 1048576 1 ACTIVE 2 158 1048576 1 CURRENT 3 155 1048576 1 INACTIVE 4 156 1048576 1 INACTIVE

La colonne STATUS de la vue V$LOGFILE peut prendre les valeurs suivantes : - UNUSED : indique que le groupe redo log en ligne n'a jamais t crit. Ce statut est attribu un fichier redo log en ligne qui vient juste d'tre cr. - CURRENT : indique le groupe redo log en ligne courant. Ce qui implique que le groupe de redo log est actif. - ACTIVE : indique que le groupe redo log en ligne est actif mais ne correspond pas au groupe courant. Il est utilis pour la rcupration. Il peut ou pas tre archiv. - INACTIVE : indique que le groupe de redo log en ligne n'est plus ncessaire pour la rcupration de l'instance. Il peut ou pas tre archiv.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

34 / 53

3.5.Maintaining Redo Log Groups


3.5.1. Ajout de groupes 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 :
SQL> ALTER DATABASE 2 ADD LOGFILE GROUP 3 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.

3.5.2. 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 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 :
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

35 / 53

SQL> ALTER DATABASE 2 ADD LOGFILE MEMBER 'e:\orant\database\log7borcl.ora' 3 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.

3.5.3. 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 pointeur dans le fichier de contrle, mais il ne renomme pas physiquement ni ne cre de fichier. Ouvrir la base de donnes.

3.5.4. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


3.5.5. Suppression des membres redo log online

36 / 53

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 : 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.
SQL> ALTER DATABASE 2 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

3.5.6. 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 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.
SQL> ALTER DATABASE 2 CLEAR LOGFILE 'e:\orant\oradata\orcl\redo04.log';

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


Database altered.

37 / 53

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.

3.6.Plannification des fichiers redo log online


3.6.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 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.

3.6.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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


3.6.3. Dimensionnement des fichiers redo log online

38 / 53

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 : - 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.

3.7.Dpannage des erreurs LGWR


3.7.1. Erreurs du processus LGWR et leurs effets
Le processus LGWR crit dans les fichiers redo log online. Cependant, il arrive que les fichiers redo log online ne soient pas disponibles pour le processus LGWR. Ceci peut provoquer un certain nombre de problmes.

Si un des membres d'un groupe redo log online contenant plusieurs membres n'est pas disponible, l'criture dans les membres redo log online accessibles du groupe se passe normalement.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

39 / 53

Si tous les membres du groupe de fichiers redo log online suivant sont inaccessibles pour le processus LGWR lors d'un basculement de fichier log, l'instance s'arrte. Une erreur du processus LGWR se produit lorsque tous les membres du groupe de fichiers redo log online actuel deviennent subitement inaccessibles pour le processus LGWR, pendant la phase d'criture. Dans ce cas, l'instance de la base de donnes est arrte.

3.7.2. Dpannage des erreurs LGWR


En tant qu'administrateur de bases de donnes, il est important de connatre les solutions aux problmes provoqus par les erreurs du processus LGWR. Un membre disponible devient inaccessible Une des erreurs pouvant se produire est qu'un des deux membres d'un groupe de fichiers redo log online n'est pas disponible alors que ce groupe n'est pas actif. Dans ce cas, la suppression et l'ajout d'un nouveau membre redo log online rsolvent le problme. Cependant, si le groupe de fichiers redo log online est actif, un basculement de fichier log doit tre impos. Tous les membres du groupe suivant deviennent inaccessibles Si tous les membres du groupe suivant sont inaccessibles pour le processus LGWR lors d'un basculement de fichier log et que ce groupe n'est pas actif, la suppression et l'ajout d'un nouveau groupe de fichiers redo log rsolvent le problme. Contrairement l'erreur prcdente, la base de donnes peut ncessiter la restauration du support suite la perte d'un fichier redo log online si les groupes taient actifs. Tous les membres du groupe actuel deviennent inaccessibles Si tous les membres du groupe de fichiers redo log online deviennent subitement inaccessibles pour le processus LGWR, la base de donnes peut ncessiter la restauration du support suite la perte d'un fichier redo log online.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

40 / 53

4. Gestion des tablespaces et des fichiers de donnes


4.1.Architecture d'une base de donnes
4.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.

4.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. 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. 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, rolback 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. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

41 / 53

4.1.3. Caractristiques d'un tablespace


Pour faciliter la gestion efficace de l'espace disque, Oracle divise une base de donnes en structures de stockage logiques et physiques. 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. - Les tablespace peuvent tre mis online 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 rollback 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 vous permet d'empcher les utilisateurs de modifier des donnes stockes et inversement.

4.1.4. Utilisations d'un tablespace


Une base de donnes Oracle est divise en structures de stockage logiques et physiques. La structure de stockage logique la plus importante est le tablespace. Il 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


-

42 / 53

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.

4.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 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.

4.2.Cration de tablespaces
4.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. D'autre part, les tablespaces nonSYSTEM peuvent contenir les segments de donnes, les segments d'index, les segments temporaires et les rollback segments. Le tablespace SYSTEM contient le rollback segment SYSTEM, tandis qu'un tablespace non-SYSTEM peut contenir tout autre rollback segment. 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


4.2.2. Cration d'un tablespace

43 / 53

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 'filespec' [autoextend_clause] [,'filespec' [autoextend_clause]] [MINMUM EXTENT integer [K|M]] [DEFAULT STORAGE storage_clause] [PERMANENT | TEMPORARY] [ONLINE|OFFLINE] avec : storage_clause := ( [INITIAL integer [K|M]] [NEXT integer [K|M]] [MINEXTENTS integer ] [MAXENTENTS {integer | UNLIMITED}] [PCTINCREASE integer ]) 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:\ora81\database Se connecter la base de donnes en tant que internal
SQL> CREATE TABLESPACE accounts 2 DATAFILE 'c:\ora81\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.

4.2.3. Paramtres de stockage


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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

44 / 53

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. 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.

4.2.4. Cration de tablespaces temporaires


Oracle effectue des oprations de tri en mmoire. Cependant, lorsqu'une grande quantit de donnes est implique, Oracle doit utiliser temporairement de l'espace disque pour trier les donnes. Le tablespace SYSTEM est utilis comme tablespace par dfaut pour cette opration. Une fois le tri termin, l'espace est libr. Lorsqu'une grande quantit de donnes est implique, l'efficacit de la base de donnes diminue. Pour viter l'utilisation du tablespace SYSTEM pour le tri, Oracle permet de crer des tablespaces temporaires et de les affecter des utilisateurs de la base de donnes. La commande SQL permettant de crer un tablespace temporaire est la suivante : CREATE TABLESPACE tablespace
http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


DATAFILE ... DEFAULT STORAGE ... TEMPORARY; Exemple : Crez un tablespace temporaire nomm Temp. Le fichier de donnes doit tre nomm temp01.dbf et sa taille doit tre de 50 Mo. Affectez la valeur 500 Ko aux extents initial et suivant. Le pourcentage d'augmentation doit tre de zro et le nombre maximal d'extents doit tre de 500. Nom du tablespace : Temp Nom du fichier de donnes : temp01.dbf Taille du fichier de donnes : 50 Mo Extents initial et suivant : 500 Ko PCTINCREASE : 0 MAXEXTENTS : 500 Emplacement : c:\ora81\database Se connecter la base de donnes en tant que internal sous SQL*Plus.
SQL> CREATE TABLESPACE temp 2 DATAFILE 'c:\ora81\database\temp01.dbf' 3 SIZE 50 M 4 DEFAULT STORAGE ( INITIAL 500K 5 NEXT 500K 6 MAXEXTENTS 500 7 PCTINCREASE 0 ) 8 TEMPORARY; Tablespace created.

45 / 53

Outre la commande SQL, un tablespace temporaire peut tre cr l'aide d'Oracle Storage Manager. Un tablespace temporaire ne peut tre utilis que pour stocker des segments de tri et ne peut pas contenir d'objets permanents. Les tablespaces existants peuvent tre modifis de faon devenir temporaire. Cependant, ceci n'est possible que s'ils ne contiennent pas d'objets permanents, tel qu'une table.

4.3.Redimensionnement de tablespace
4.3.1. Ajout de fichiers de donnes
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]; Exemple :

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


Ajoutez un fichier de donnes nomm accts02.dbf de 1 000 Ko situ dans le rpertoire c:\ora81\database au tablespace ACCOUNTS.
SQL> ALTER TABLESPACE accounts 2 ADD DATAFILE 'c:\ora81\database\accts02.dbf' SIZE 1000K; tablespace altered.

46 / 53

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.3.2. Extension des fichiers de donnes


En raison d'une augmentation du nombre d'objets de base de donnes dans un tablespace, l'espace disque allou peut ne pas suffire aux fichiers de donnes. Pour faire face ce problme, Oracle permet de modifier la taille d'un fichier de donnes. Lors de la cration, l'administrateur de la base de donnes peut galement spcifier que la taille du fichier de donnes doit augmenter de faon dynamique. Pour spcifier l'option d'extension automatique des fichiers lors de la cration d'un fichier de donnes, l'administrateur peut utiliser une des trois commandes SQL suivantes : CREATE DATABASE, CREATE TABLESPACE DATAFILE et ALTER TABLESPACE ADD DATAFILE La taille d'un fichier de donnes existant peut tre modifi d'une de ces deux faons : - automatiquement avec l'option AUTOEXTEND ou - manuellement avec la commande ALTER DATABASE. L'option AUTOEXTEND active ou dsactive l'extension automatique des fichiers de donnes. La commande SQL permettant de spcifier l'option AUTOEXTEND pour un fichier de donnes existant est la suivante : ALTER DATABASE [database] DATAFILE 'filename' [, 'filename'][autoextend_clause]; Exemple : Activez l'extension automatique du fichier de donnes accts02.dbf dans le tablespace ACCOUNTS. L'extension automatique doit avoir lieu un taux de 2 Ko. Se connecter la base de donnes en tant que internal.
SQL> ALTER DATABASE 2 DATAFILE 'c:\ora81\database\accts02.dbf' 3 AUTOEXTEND ON NEXT 2K; Database altered.

Une autre faon d'activer l'extension automatique consiste utiliser Oracle Storage Manager.

4.3.3. Redimensionnement des fichiers de donnes


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]

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


DATAFILE 'filename' [,'filename'] RESIZE integer [ K | M ]; Exemple : Affectez au fichier de donnes accts01.dbf du rpertoire c:\ora81\database la nouvelle taille de 2 Mo l'aide SQL*Plus :
SQL> ALTER DATABASE 2 DATAFILE 'c:\ora81\database\accts01.dbf' 3 RESIZE 3M ; statement processed

47 / 53

4.4.Modification des proprits d'un tablespace


4.4.1. Modification des paramtres de stockage
Les valeurs des paramtres d'allocation d'espace de stockage des segments dterminent la quantit d'espace disque utilise par une base de donnes. Ces valeurs sont dtermines au cours de la cration du segment. Pendant une priode donne, l'administrateur peut tre amen modifier les paramtres de stockage afin d'assurer une gestion plus efficace de l'espace disque. Pour cela Oracle permet de modifier les valeurs des paramtres de stockage par dfaut d'un tablespace. La commande SQL permettant de modifier les valeurs des paramtres de stockage est la suivante : ALTER TABLESPACE tablespace { MINIMUM EXTENT interger [K | M] | DEFAULT STORAGE storage_clause}; Exemple : Affecter aux paramtres de stockage INTIAL et NEXT du tablespace ACCOUNTS la valeur 100 Ko.
SQL> ALTER TABLESPACE accounts 2 DEFAULT STORAGE ( INITIAL 100K NEXT 100 ); Tablespace altered.

Outre la commande SQL, Oracle offre une interface graphique nomme Oracle Storage Manager permettant de modifier les valeurs des paramtres de stockage.

4.4.2. Tablespace offline : modes


Dans le cadre des tches de maintenance d'une base de donnes, tels que la mise niveau des supports de stockage, l'administrateur relocalise les fichiers de donnes d'un tablespace particulier. Pour activer la relocalisation des fichiers de donnes, l'administrateur peut mettre offline des tablespaces individuels. Un tablespace peut tre mis offline dans trois modes diffrents : normal, temporaire et immdiat. En mode normal, le serveur Oracle effectue un point de synchronisation sur tous les fichiers de donnes avant de mettre le tablespace offline. Il s'agit du mode conseill. En mode temporaire, le serveur Oracle effectue un point de synchronisation sur tous les fichiers de donnes possibles avant de mettre le tablespace offline. Dans ce mode, les ventuels fichiers de donnes offline peuvent faire l'objet d'une restauration ultrieure du support.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

48 / 53

En mode immdiat, aucun point de synchronisation n'est effectu par le serveur Oracle avant la mise offline du tablespace. L'administrateur doit procder la restauration du support avant de remettre le tablespace online. Il est important de savoir que le tablespace SYSTEM et tout tablespace comportant des rollback segments actifs ne peuvent pas tre mis offline. Le serveur Oracle exclut toute instruction SQL faisant rfrence des objets contenus dans un tablespace qui a t mis offline. Ainsi, les utilisateurs qui tentent d'accder aux objets qui sont offline recevront une erreur. En outre, lorsqu'un tablespace est mis offline ou remis online, l'vnement est enregistr dans le dictionnaire de donnes et dans le fichier de contrle. Dans la mesure o les vnements sont enregistrs dans le fichier de contrle, le tablespace conserve son dernier tat enregistr. Par exemple, si le tablespace tait offline lors de l'arrt de la base de donnes, il ne sera pas vrifi lorsque la base de donnes sera de nouveau monte et ouverte.

4.4.3. Mise offline de tablespaces


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 ] } ; Exemple : Mettez le tablespace ACCOUNTS offline.
SQL> ALTER TABLESPACE accounts OFFLINE NORMAL; Tablespace altered

Oracle offre galement une interface graphique, appele Oracle Storage Manager, pour mettre un tablespace offline.

4.4.4. Dplacement de fichiers 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:\ora81\database. Mettre offline le tablespace ACCOUNTS en mode normal

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


SQL> ALTER TABLESPACE accounts OFFLINE NORMAL; Tablespace altered

49 / 53

Dplacez le fichier de donnes avec les commandes du systme d'exploitation


C:\> copy c:\ora81\database\accts01.dbf d:\ ora81\database\accts01.dbf 1 file(s) copied

Modifier le chemin d'accs du fichier de donnes


SQL> ALTER TABLESPACE accounts 2 RENAME DATAFILE 'c:\ora81\database\accts01.dbf' 3 TO 'd:\ ora81\database\accts01.dbf' ; Tablespace altered.

Mettez online le tablespace ACCOUNTS


SQL> ALTER TABLESPACE accounts ONLINE ; Tablespace altered

Supprimez le fichier d'origine dans le rpertoire c:\ora81\database. Oracle Storage Manager peut dplacer les fichiers de donnes appartenant aux seuls tablespaces nonSYSTEM et ne contenant aucun rollback segment ou segment temporaire actif.

4.4.5. Dplacement de fichiers 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 : Dplacez le fichier de donnes SYS1ORCL.ORA du rpertoire c:\ora81\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 Dplacez les fichiers de donnes dans la base de donnes :

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


SQL> ALTER DATABASE RENAME FILE 'c:\ora81\database\sys1orcl.ora' 2 TO 'd:\orclbackup\sys1orcl.ora';

50 / 53

Ouvrir la base de donnes

4.5.Tablespace en lecture seule


4.5.1. Mise en lecture seule de tablespaces
Pour rpondre aux exigences en matire d'organisation, il se peut que l'administrateur dispose de tablespaces destins contenir des donnes de nature 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.
SQL> 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. 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.

4.5.2. Tablespaces en lecture seule sur des supports en lecture seule


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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

51 / 53

4.6.Suppression de tablespaces
4.6.1. Suppression d'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 primaire et unique des tables du tablespace supprim. Exemple : Supprimez le tablespace ACCOUNTS
SQL> DROP TABLESPACE accounts 2 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. - 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.

4.6.2. 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 interrog. - 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes

52 / 53

4.7.Informations sur les tablespaces


4.7.1. Plusieurs tablespaces : avantages
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 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.

4.7.2. Obtention d'informations sur les tablespaces


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.
SQL> 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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Crer une base de donnes


SQL> SELECT * FROM dba_data_files;

53 / 53

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.

http://www.labo-oracle.com Ce document est la proprit de Supinfo et est soumis aux rgles de droits dauteurs

Vous aimerez peut-être aussi