Page 1
29/06/2006
Page 2
29/06/2006
3. GERER UNE INSTANCE ORACLE 3.1. AUTHENTIFICATION ET PRIVILEGES 3.2. FICHIERS DE PARAMETRES 3.2.1. Paramtres prsents dans le fichier de paramtre 3.2.2. Le PFILE (initSID.ora) 3.2.3. Le SPFILE (spfileSID.ora) 3.2.4. Rgles pour les valeurs de paramtre 3.2.5. Paramtres essentiels 3.2.6. Paramtres communment modifis 3.3. DEMARRAGE ET ARRET D'UNE INSTANCE. 3.3.1. Etapes de dmarrage dune instance 3.3.2.. Changer la disponibilit de la Base de donnes 3.3.3. Etapes d'arrt d'une instance 3.3.4. Modes d'arrts 3.4. VUE DYNAMIQUE DES PERFORMANCES 3.4.1. Caractristiques des vues dynamiques de performance 3.4.2. Descriptions des vues dynamiques de performance 4. PROCEDURE DE CREATION D UNE BASE DE DONN ES 4.1. PREREQUIS NECESSAIRES A LA CREATION 4.1.1. Grer et sauvegarder les fichiers dune base de donnes 4.1.2. Crer une base de donnes 4.2. ENVIRONNEMENT DU SYSTEME DEXPLOITATION 4.2.1. Cration de fichiers de mots de passe 4.3. CREER UNE BASE DE DONNEES 4.3.1. Assistant de configuration de base de donnes 4.3.2. Les options de la commande CREATE DATABASE 4.3.3. Crer une base de donnes en mode commande. 4.3.4. Les conditions d'erreur lors de la cration d'une base de donnes 4.3.5. Le contenu d'une base de donnes aprs sa cration 5. UTILISATION ET CONTENU DU DICTIONNAIRE DE DONNEES 5.1. STRUCTURE DU DICTIONNAIRE DE DONN ES 5.1.1. Prsentation du dictionnaire de donnes 5.1.2. Cration et catgories des vues du dictionnaire de donnes 5.1.3. Informations contenues dans le dictionnaire de donnes. 5.2. SCRIPTS DU DICTIONNAIRE DE DONNREES 5.2.1. Cration de fonctions PL/SQL 5.2.2. Scripts administratifs
Page 3
29/06/2006
6. GESTION DES FICHIERS DE CONTROLE ET DE REDO LOG 6.1. FICHIER DE CONTROLE 6.1.1. Contenu des fichiers de contrle 6.1.2. Multiplexage des fichiers de contrle 6.1.3. Rcuprer les informations des fichiers de contrle 6.2. LES FICHIERS DE REDO LOG 6.2.1. Utiliser les fichiers de redo log 6.2.2. Structure des fichiers de redo log 6.2.3. Paramtres des fichiers de redo log. 6.3. GERER LES GROUPES DE REDO 6.3.1. Fonctionnement des fichiers de redo log. 6.3.2. Forcer un basculement de fichiers log et un point de synchronisation 6.3.3. Ajout de groupe de fichiers redo log online 6.3.4. Ajout des membres redo log online 6.3.5. Relocalisation des fichiers redo log online 6.3.6. Suppression de groupes de fichiers redo log online 6.3.7. Suppression des membres redo log online 6.3.8. Rinitialisation des fichiers redo log online 6.4. PLANIFICATION DES FICHIERS REDO LOG ONLINE 3.4.1. Nombre de fichiers redo log online 6.4.2. Emplacement des fichiers redo log online 6.4.3. Dimensionnement des fichiers redo log online 6.4.4. Grer les redo log online with OMF 6.4.5. Obtenir des informations sur les groupes 6.4.6. Archivage de fichiers de redo log 7. GERER LES TABLESPACES ET LES FICHIERS DE DONNEES 7.1. ARCHITECTURE D'UNE BASE DE DONNEES 7.1.1. Vue d'ensemble de la structure d'une base de donnes 7.1.2. Relations. Cration de base de donnes 7.1.3. Caractristiques d'un tablespace 7.1.4. Utilisations d'un tablespace 7.1.5. Caractristiques d'un fichier de donnes 7.2. CREER DES TABLESPACES 7.2.1. Types de tablespaces 7.2.2. Cration dun tablespace 7.2.3. Gestion de lespace dans les tablespaces 7.2.4. Locally Managed tablespaces 7.2.5. Dictionary Managed Tablespaces 7.2.6. Paramtres de stockage 7.2.7. Les Undo Tablespaces 7.3. TABLESPACE TEMPORAIRE
Dr Mohamed Salah GOUIDER Page 4 29/06/2006
7.3.1. Tablespace temporaire 7.3.2. Tablespace temporaire par dfaut 7.3.3. Restrictions sur les Tablespace temporaire par dfaut 7.4. MANIPULATION DE TABLESPACE. 7.4.1.Offline Status 7.4.2. Tablespace en lecture seul 7.4.3. Tablespaces en lecture seul sur des supports en lecture seul 7.4.4. Supprimer un Tablespace 7.4.5. Consquences de la suppression de tablespaces 7.5. FICHIERS DE MANIPULATION DES DONNNES 7.5.1. Mettre en place lextension automatique des fichiers de donnes 7.5.2. Changer la taille des fichiers de donnes manuellement 7.5.3. Ajouter un fichier de donnes un Tablespace 7.5.4. Dplacer un fichier de donnes : ALTER TABLESPACE 7.6. AUTRES OPTIONS SUR LES TABLESPACES 7.6.1. Configurer OMF pour la cration de Tablespace 7.6.2. Crer des Tablespaces avec OMF 7.6.3. Rcuprer des informations sur les Tablespaces.
Page 5
29/06/2006
Page 6
29/06/2006
lui mme va se connecter au serveur Oracle pour rcuprer les donnes issues de la base de donnes. Lorsque qu'un utilisateur est connect une machine sur laquelle rside un Serveur Oracle, deux process sont invoqus : Le process utilisateur et le process serveur. Un process utilisateur est cr lorsque tout outil client allant communiquer avec le serveur Oracle est lanc (Un outil d'administration, une application, SQL*Plus, une application Oracle Forms). Un process utilisateur est un mcanisme qui va excuter le code d'une application ou d'un outil Oracle. Un process serveur est cr lorsque un utilisateur va se loguer sur le serveur en spcifiant un nom d'utilisateur, un mot de passe et un nom de base de donnes. Le process Serveur est cr sur le serveur Oracle. Le process serveur va permettre l'interaction entre le process utilisateur et le serveur Oracle en rcuprant les requtes et en les excutant sur les serveurs Oracle. Le lien entre le process utilisateur et le process serveur est appel une connexion. Si l'utilisateur se connecte localement sur le serveur, le chemin de communication est tabli via un mcanisme de communication inter process. Si l'utilisateur se connecte via une machine cliente, un logiciel rseau est utilis. Une connexion spcifique entre un utilisateur et un serveur Oracle est appel une Session. La session dmarre lorsque la connexion de l'utilisateur est valide par le serveur Oracle et se termine lorsqu'il se dconnecte ou lorsqu'une fin de connexion prmature se produit. De nombreuses sessions concurrentes d'un mme utilisateur ou de plusieurs peuvent s'excuter sur le serveur Oracle.
Page 7
29/06/2006
mmoires de la SGA. En effet, il na pas besoin de diminuer la mmoire alloue aux arbres de parcours au profit des informations de sessions, dentres/sortie, de sauvegarde et des processus de rcuprations. Le gain de performance vient de la rduction de la charge occasionne par l'augmentation ou la rduction de la mmoire cache partage. Recover Manager (RMAN), utilise le large pool pour restaurer les donnes en cas de dfaillance. Le pool Java (Java Pool) : Sa taille par dfaut est de 24Mo et doit tre utilis en cas dutilisation du langage Java.
Page 9
29/06/2006
Page 10
29/06/2006
1.3.4. Fichiers de la base de donnes Une base de donnes Oracle a une structure logique et physique. Entendons par structure physique que les fichiers contenu dans la base de donnes ont une relle existence (ex : fichiers de donnes). Pour sa part, la base de donnes Oracle est constitue de trois types de fichiers : Les fichiers de donnes contenant les donnes des blocs de donnes qui sont modifies par les transactions courantes, le dictionnaire de donnes, les objets utilisateurs. Les fichiers de redo log contenant un enregistrement des changements qui ont t fait sur la base de donnes, pour avoir la possibilit de revenir en arrire en cas de dysfonctionnement. Une base Oracle contient au moins deux groupes de redo log chacun contenant au moins un fichier de redo log. Pour renforcer leur tolrance une panne de disque dur, Oracle supporte les fichiers de redo log multiplexs. On peut ainsi maintenir une ou plusieurs copies de fichiers de redo log sur diffrents disques (On parle de fichiers mirrors). Les fichiers de contrles contenant les informations ncessaires pour maintenir et vrifier lintgrit des donnes de la base. Une base de donnes Oracle ncessite au moins un fichier de contrle, il est toutefois possible de les mirrorer sur plusieurs disques dur.
Page 11
29/06/2006
Page 12
29/06/2006
Contient des informations les plus rcemment utilises sur le dictionnaire de donnes, les objets de la base de donnes, sa structure et la dfinition des colonnes. On trouve galement les utilisateurs valides, leur mot de passe et leurs privilges. Les informations du dictionnaire de donnes sont mises en cache lorsque elles sont demandes par la base de donnes. Ceci permet daugmenter la rapidit daccs aux donnes.
Il se compose dentres qui contiennent les blocs changs, la position du changement et la nouvelle valeur. Il nidentifie pas le bloc o les changements sont faits, c'est--dire quil traite de manire similaire les blocs de donnes, dindex ou de segments de ROLLBACK. Son utilisation est squentielle et circulaire. Il est renouvel lorsquil est plein et que les entres ont t enregistres dans les fichiers de redo log online.
Page 14
29/06/2006
Excution : Si la phase de parcours sest effectue avec succs, lexcution se fait en plusieurs tapes. Lecture des blocs de donnes et de ROLLBACK dans le database buffer cache. Mise en place de verrous sur les donnes qui vont tre changes. Ecriture de limage avant dans les segments de roll back et enregistrement des changements du buffer cache dans le redo log buffer pour protger limage avant en cas de dfaillance. Finalement, les donnes sont enregistres dans le buffer cache et les changements sont galement enregistrs dans le redo log buffer protgeant ainsi limage aprs. Les blocs de donnes altres dans le buffer cache sont marqus comme "sales (Dirty)", c'est--dire quils ne correspondent plus aux blocs dans les fichiers de donnes.
Page 15
29/06/2006
lors dune transaction. Ils permettent galement de rcuprer un tat consistant de la base de donnes en cas de dfaillance systme. Les segments de Rollback sont contenus dans les fichiers de donnes et sont lus dans le database buffer cache si ncessaire.
Page 16
29/06/2006
Page 17
29/06/2006
Il permet au serveur Oracle de lire les donnes de manire consistante en faisant abstraction de la date systme du systme dexploitation lors de la restauration de la base de donnes.
Page 18
29/06/2006
2. Outils d'administration
2.1. Utilitaires administratifs
2.1.1. Utilitaires d'administration de base de donnes
Oracle Universal Installer : Linstallateur Universel est un installateur Java utilis pour installer Oracle9i, les outils Oracle et les utilitaires. Il peut installer des logiciels partir dun CDROM ou dInternet, dtecter les dpendances entre les diffrents composants. Il dtecte le langage courant du systme dexploitation ou bien utilise le langage par dfaut. Il est possible de spcifier diffrents rpertoires principaux (Le ORACLE_HOME) pour permettre dinstaller plusieurs versions dun mme produit. Linstallation peut tre guid par des assistants ou permet dutiliser des packages standard ncessitant un minimum de rponses. Il est galement possible de le lancer en mode silencieux, dans ce cas, un fichier de rponse est utilis pour remplacer les rponses aux diffrentes questions lors de linstallation. Le mode silencieux est utilis lorsquil ny a pas de terminal graphique ou lorsque lon veut que lutilisateur na rien faire pour linstallation. La syntaxe de lancement de la commande varie en fonction du systme dexploitation. Un fichier de log est cr lors de linstallation et contient lensemble des tapes et les rsultats. Une liste des produits installs est maintenue en cas de dsinstallation de lun dentre eux. Les outils de post-installation sont galement lancs si besoin est. Par exemple, aprs linstallation dOEM (Oracle Enterprise Manager), lassistant de configuration de base de donnes est lanc. Oracle Database Configuration Assistant : Cet assistant permet de crer une base de donnes, configurer les options de la base de donnes, supprimer une base de donnes, grer les templates. Outils pour la cration des fichiers de mots de passe : La commande orapwd permet de crer un fichier de mot de passe.
Page 19
29/06/2006
Ensuite, il suffit de mettre REMOTE_LOGIN_PASSWORDFILE EXLUSIVE dans le fichier de paramtre. Puis, ajouter les utilisateurs au fichier de mot de passe et de leur attribuer des privilges. SQL* Plus : SQL* Plus est un outils Oracle qui permet de manipuler et interagir avec la base de donnes. Une prsentation plus complte de SQL* Plus est disponible dans le module SQLP. Oracle Enterprise Manager : Cest un outil important permettant, via une interface graphique, dadministrer, de contrler et de tuner une ou plusieurs bases de donnes localises sur un ou plusieurs serveurs.
Page 20
29/06/2006
Page 21
29/06/2006
Les Noeuds constituent la troisime couche de larchitecture quun utilisateur va chercher administrer. Ces noeuds sont contrls par les intelligent agents . Un intelligent agent est un process qui sexcute sur le noeud distant du rseau et qui permet de ladministrer distance.
Page 22
29/06/2006
systmes tel que lespace occup par les fichiers de donnes, la charge CPU ou bien des pertes de disponibilit dun service. Il peut, lors dun vnement donn, dclencher des jobs de rcupration ou autres. Le service de dcouverte (Discovery Service) : Cest un assistant permettant de dcouvrir sur le rseau les diffrents services tel que les bases de donnes, les serveurs Web, les listeners, les machines, les parallel Servers et les serveurs de vido. Le service de scurit (Security Service) : Il permet de contrler laccs aux services Oracle ainsi quaux noeuds du rseau. Un super administrateur peut galement grer les diffrents administrateurs et leurs privilges. Les authentifications sont encodes dans le repository OEM et les utilisateurs doivent spcifier leur identit pour accder chaque ressource travers la console OEM.
Les outils et les assistants de sauvegarde Oracle : Ils permettent de sauvegarder, restaurer ou bien recouvrer une base de donnes. On peut galement grer les fichiers de redo log grce ces outils. On lance ces outils partir de la console ou du Gestionnaire de Schma. Les outils et assistants de gestion des donnes : Ils aident au chargement et lorganisation des donnes dans les bases de donnes. Ils permettent galement le transfert des donnes partir et vers une base de donnes Oracle. On lance ces outils partir de la console ou du Gestionnaire de Stockage.
Page 24
29/06/2006
Le planificateur de capacit permet de collecter des donnes et de stocker un historique des informations sur la base de donnes pour parer laugmentation de la capacit requise. Le Visualisateur de donnes de trace Oracle permet de suivre et de programmer les informations de traages de la base de donnes et de Net8. Le Pack de Tuning : Il se compose dun ensemble doutils visant amliorer les performances dune base de donnes. Lanalyseur SQL permet danalyser et dditer des requtes SQL pour augmenter leurs performances. Le Gestionnaire de Tablespace permet de monitorer et contrler lespace de stockage. Il fournit un ensemble dinformations sur les tablespaces et leurs segments. On peut dfragmenter lespace occup et rorganiser les donnes. Oracle Expert permet de tuner et doptimiser le systme de manire trs fine. Le Pack de Gestion du Changement : Il se compose dutilitaires utiliss pour contrler le changement de la dfinition des objets de la base de donnes. Lapplication de Capture permet de capturer limage dun objet un instant donn. Lapplication de Diffrentiel permet de comparer les diffrences entre la dfinition dobjet pour deux base de donnes ou selon un modle. Les Objet de Changement rapide et de modification permettent de propager des changements aux objets dune ou plusieurs bases de donnes. Lapplication de Gestion des Plans permet de centraliser laccs tous ces outils.
Page 25
29/06/2006
Ce fichier est lu lors du dmarrage de linstance, on peut lditer avec nimporte quel diteur de texte et le redmarrage de linstance est ncessaire pour que les changements prennent effet. Il est prfrable de faire une copie de ce fichier sur lordinateur o se trouve OEM sil en existe un. Parmi les paramtres du fichier de paramtre, on trouve le nom de la base de donnes pour laquelle linstance est dmarre. Les paramtres contrlent les performances de la base de donnes ainsi que la quantit de mmoire utilise par les diffrentes composantes de la SGA. On peut galement dfinir certains attributs physiques de la base de donnes au moment de sa cration telle que la taille des blocs de donnes. On trouve galement dans ce fichier le nom et le chemin des fichiers de contrle, des fichiers de log archivs et des fichiers de trace de la base de donnes.
Page 27
29/06/2006
Remarque : Le contenu du spfile est visible dans la vu dynamique V$SPPARAMETER et non pas V$PARAMETER qui est utilis par le pfile.
BACKGROUND_DUMP_DEST : Spcifie le rpertoire ou le process de fond de taches crit les fichiers de trace et les fichiers de log dalertes. USER_DUMP_DEST : Spcifie le lieu o les fichiers de trace utilisateurs sont cres.
Page 29
29/06/2006
La SGA est alloue et les process dmarrs. Les fichiers de trace et dalertes sont galement ouverts. La seconde tape consiste monter la base de donnes. Cest le mode MOUNT. La base de donnes nest pas encore ouverte et donc non accessible. Ce mode est utilis pour certaines taches de maintenance de la base de donnes. A ce moment, la base de donnes est associe une instance dmarre, le serveur Oracle localise les fichiers de contrle et les ouvre.. Ces fichiers sont alors lus pour obtenir le nom et le statut des fichiers de donnes et de redo log. La troisime tape de dmarrage est louverture de la base de donnes. On lappelle galement le mode OPEN ou mode normal de la base de donnes. A ce moment, un utilisateur valide de la base de donnes peut se connecter et accder aux donnes. Lors de cette tape finale, le serveur Oracle vrifie que les fichiers de donnes et de redo log puissent tre ouverts. Si louverture de lun dentre eux choue, une erreur est renvoye et la base de donnes nest pas ouverte. La consistance de la base de donnes est galement vrifie pour sassurer que les fichiers de donnes soient bien synchroniss. Si ncessaire, le process darrire plan SMON lance la restauration dinstance. Les derniers checkpoints sont identifis, les fichiers de Rollback et les donnes utilisateurs sont mises jour, les transactions non commites font lobjet dun rollback
Page 30
29/06/2006
Page 31
29/06/2006
Page 32
29/06/2006
V$CONTROLFILE : Fournit les noms des fichiers de contrle. V$DATABASE : Contient des informations sur la base de donnes tel que le nom ou la date de cration. V$DATAFILE : Donne les informations sur les fichiers de donnes tel que leur nom, leur statut et dautres dtails. V$DATAFILE_HEADER : Donne des informations sur les en-ttes des fichiers de contrle. V$LOGFILE : Contient des informations sur les fichiers de redo log en ligne
Page 33
29/06/2006
4.
La cration de la base de donnes est la premire tape dans lorganisation et la gestion dun systme de base de donnes. La cration dune base de donnes permet un ensemble de fichiers du systme d'exploitation de fonctionner en tant que base de base de donnes Oracle. Indpendamment du nombre de fichiers de donnes et du nombre d'instances qui accdent la base de donnes, une base de donnes ne peut tre cre qu'une seule fois. Une base de donnes initiale peut tre cre lors de linstallation dOracle. Cette base de donnes peut tre utilise comme base de donnes initiale, ou une nouvelle base de donnes peut tre cre. Pour crer une nouvelle base de donnes, il faut tenir compte de la taille des fichiers de donnes, des blocs, des tables et des index. Lemplacement des fichiers de contrle doit tre aussi planifi. Lors de la cration d'une nouvelle base de donnes, il faut galement tenir compte du jeu de caractres que la base de donnes utilisera. Une fois la base de donnes cre, le jeu de caractres spcifi ne peut plus tre chang, sauf si la base de donnes est recre.
Page 34
29/06/2006
4.1.1.
Une base de donnes peut prsenter une taille relativement importante et comporter un grand nombre d'utilisateurs. Aussi, un DBA doit planifier correctement la structure physique d'une base de donnes de telle faon que lchec dun disque ne provoque pas larrt de linstance de la base de donnes. Crer au moins deux fichiers de contrle et les stocker sur des disques diffrents. Si un fichier de contrle ou un disque sur lequel est stock un fichier de contrle est corrompu, la base de donnes pourra toujours accder lautre fichier de contrle. Les fichiers redo log online doivent tre organiss en groupes multiplexs. Un groupe de fichier redo log est constitu des copies identiques des fichiers redo log. Le multiplexage des groupes de fichiers redo log online permet au processus Log Writer (LGWR) de continuer dcrire des entres log des membres disponibles dans un groupe si un membre de ce groupe est indisponible ou corrompu. Le processus LOGWR est un processus darrire plan qui crit les entres du cache redo log (redo log buffer) sur le disque. Les membres dun groupe de redo log doivent galement tre stocks sur des disques diffrents. Ainsi si un disque est corrompu, le LGWR et linstance de la base de donnes nchoueront pas. Les fichiers de donnes contenant des objets de la base de donnes avec des dures de vie diffrentes, telles que les donnes dune application et les donnes temporaires, doivent tre spars afin de minimiser la fragmentation. Les fichiers de donnes dont les donnes participent la contention sur le disque doivent tre spar sur diffrents disques. Les fichiers de donnes qui contiennent des donnes avec des caractristiques d'administration, diffrentes doivent tre spars. Par exemple, les objets avec des besoins dentres/sorties concurrents, tels que les tables et les index, doivent tre spars. Cette sparation garantit au DBA un bon quilibrage des charges dentre/sortie.
4.1.2.
Il est possible de crer une base de donnes la main avec un script SQL qui utilise la commande CREATE DATABASE ou tout simplement avec Oracle Database Configuration Assistant. Attention : Pendant linstallation dOracle Server, le DBCA (interface graphique utilisateur qui interagit avec Oracle Universal Installer) est lanc par OUI (Oracle
Page 35
29/06/2006
Universal Installer) et permet de rer une base de donnes par dfaut. Il est possible pour lutilisateur de ne pas lancer cette option. Si la structure de la base de donnes initiale ne remplie pas les besoins, une nouvelle base de donnes peut tre cre. Voici les tapes dans la cration manuelle d'une base de donnes : Dcider dun nom unique pour linstance et pour la base de donnes. Le nom de linstance sert identifier les instances associes la base de donnes, et le nom de la base de donnes sert identifier une base de donnes spcifique. Indiquer le jeu de caractres que la base de donnes doit utiliser. Ce choix est trs important car une fois configur, le jeu de caractres ne peut tre chang pour cette base de donnes. Dfinir les variables du systme d'exploitation. Les variables du systme d'exploitation sont dfinies dans la base de registre. Leur dfinition dtermine linstance par dfaut, le jeu de caractres de la base de donnes et les autres paramtres ncessaires au bon fonctionnement de la base de donnes. Crer un fichier de paramtres. Ce fichier est ncessaire pour crer et dmarrer une instance. Pour crer un fichier de paramtres, il faut spcifier la taille des composants de la zone mmoire globale du systme (SGA), le nom de la base de donnes, les fichiers de contrle de la base de donnes et la taille des blocs de donnes de la base de donnes. Crer les services Oracle. Quand une base de donnes est cre, les services dOracle, tel que le service OraHomeTNSListener81 en environnement Windows NT, sont galement crs. Les services dOracle prparent une base de donnes en vue de son utilisation. Le service OraHomeTNSListener81 identifie et accepte les demandes de connexion provenant des applications cliente. Crer un fichier de mots de passe. La cration dune base de donnes implique la cration dun fichier de mots de passe. Le fichier de mots de passe contient les mots de passe pour authentifier des utilisateurs privilgis autoriss effectuer des oprations telles que le dmarrage et larrt de la base de donnes. Dmarrer une instance sans monter la base de donnes. Lorsqu'une instance est dmarre, la SGA est alloue linstance indique et les processus darrire plan sont dmarrs en vue de la cration de la base de donnes. Crer la base de donnes laide de la commande SQL CREATE DATABASE et en dfinissant les paramtres facultatifs de la commande. Ces paramtres servent spcifier le nombre maximal de fichier, leurs tailles et le mode de fonctionnement de ces fichiers.
Page 36
29/06/2006
Excuter les scripts qui gnrent les vues du dictionnaire de donnes. Un dictionnaire de donnes est un ensemble de tables qui fournissent des informations sur la base de donnes laquelle elles sont associes.
4.2.1.
Les oprations telles que larrt et le dmarrage de la base de donnes doivent tre effectues par des utilisateurs autoriss administrer une base de donnes. L'excution de telles oprations par des utilisateurs de base de donnes non autoriss peut entraner la perte de donnes. Par exemple, si un utilisateur arrte une base de donnes en mode Abort, les donnes non valides risquent d'tre perdues. Le problme des utilisateurs non autoriss effectuer des oprations critiques spcifiques peut se rsoudre en utilisant un fichier de mots de passe permettant d'authentifier les utilisateurs qui administrent la base de donnes. L'excutable ORAPWD.exe permet d'excuter lutilitaire ORAPWD.
Page 38
29/06/2006
Lors de la cration dune base de donnes avec lassistant de configuration, il vous sera demand de choisir parmi lun des quatre types de base de donnes suivant : Installation typique ou personnalise : Linstallation typique est pour une base de donnes avec un faible trafic. Le mode personnalis permet de choisir parmi lun des environnements suivant : OLTP (OnLine Transaction Processing) : Cet environnement est utilis pour les grandes bases de donnes devant grer des milliers de transactions (lecture, criture, suppression) par jour. Les performances pour ce type denvironnement sont dfinit en terme de disponibilit des donnes. Data Warehousing : Cet environnement est utilis avec des base de donnes qui sont souvent interroges mais peut modifies. Les performances de ce type denvironnement sont dfinit en terme de temps de rponse. Mixed : Environnement supportant la fois OLTP et Data Warehousing. Mode par dfaut pour linstallation dune base de donnes.
Page 39
29/06/2006
Spcifie le nombre maximum dinstances pouvant monter et ouvrir la base de donnes simultanment. La valeur de cette option affecte la taille du fichier de contrle. [ARCHIVELOG | NOARCHIVELOG] Spcifie que les redo log doivent tre archivs avant dtre rutiliss. Loption NOARCHIVELOG spcifie que les fichiers redo log peuvent tre rutiliss sans archiver leur contenu. La valeur de cette option affecte la taille du fichier de contrle. [CHARACTER SET charset] Spcifie le jeu de caractres utilis par la base de donnes pour stocker les donnes. Si cette option nest pas prcise, le jeu de caractre par dfaut US7ASCII sera utilis. [DATAFILE filespec [, filespec]] Spcifie le fichier de donnes crer pour le tablespace SYSTEM. Cette option est relie la clause autoextend_clause par la relation : filespec :== filename [SIZE n [K|M] ] [REUSE] [autoextend_clause] autoextend_clause :== AUTOEXTEND {OFF|ON [NEXT integer [K|M] ] [MAXSIZE integer [K|M] } active ou dsactive lextension automatique dun fichier de donnes. [CONTROLFILE REUSE] Spcifie que les fichiers de contrle identifis dans le fichier de paramtre peuvent tre crass si ils existent dj. [NATIONAL CHARACTER SET charset] Spcifie le jeu de caractres national utilise pour stocker les donnes dans des colonnes de type NCHAR, NCLOB ou NVARCHAR2. [LOGFILE [GROUP integer] filespec [, [GROUP integer] filespec] ] Spcifie les fichiers log utilises pour la base de donnes et les groupes auxquels ces fichiers appartiennent. [Defaut Temporary Tablespace] Cration dun tablespace par dfaut, chaque utilisateur ne spcifiant pas un tablespace par dfaut sera automatiquement assign au tablespace par dfaut. [SET TIME_ZONE] Fuseau horaire utiliser pour la base de donnes.
Page 40
29/06/2006
donnes doit tre crit dans un fichier texte. Le script est ensuite excut en utilisant SQL*Plus (par exemple). Exemple de script permettant de crer une base de donnes :
Page 41
29/06/2006
Page 42
29/06/2006
Page 43
29/06/2006
Le dictionnaire de donnes possde deux composants : les tables de base les vues du dictionnaire de donnes Les tables de base sont les tables relles d'Oracle qui stockent les informations sur une base de donnes. Ces tables sont cres avec le script sql.bsq. Ce script est stock dans le rpertoire orant\rdbms\admin. Les informations stockes dans les tables de base sont lues et crites par le serveur Oracle. Ces informations sont rarement accdes directement par les utilisateurs car ces informations sont normalises et stockes sous une forme encode. Les utilisateurs ou administrateurs de bases de donnes ne doivent pas utiliser de commandes DML, telles que INSERT, UPDATE et DELETE, pour mettre jour les tables de base directement, l'exception de la table de trace d'audit lorsque la fonctionnalit d'audit est utilise. Les vues du dictionnaire de donnes sont des vues sur les tables de base. Elles sont cres par le script catalog.sql. Les vues du dictionnaire de donnes simplifient et rsument les informations contenues dans les tables de base. Les vues du dictionnaire stockent galement ces informations sous une forme que les utilisateurs de la base de donnes peuvent lire facilement. Ces vues permettent au DBA de grer et tuner la base de donnes.
Page 44
29/06/2006
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.
Page 45
29/06/2006
Allocation despace pour les objets de la base de donnes Structures gnrales de la base de donnes Informations daudit
La vue DICTIONARY du dictionnaire de donnes fournit une vue densemble de toutes les donnes du dictionnaire de donnes. Linterrogation de la vue DICTIONARY vite d'avoir se souvenir de toutes les vues et des informations fournis par chacune de ces vues. La vue DICTIONARY possde deux colonnes : TABLE_NAME et COMMENT. Ces colonnes indiquent la vue qui devra ensuite tre interroge pour extraire des informations. Par exemple, pour rcuprer les informations concernant les tables accessibles un utilisateur, il faut interroger la vue ALL_CATALOG. Exemple : Lobjectif est de rcuprer les noms des segments de rollback de la base de donnes en interrogeant la vue DICTIONARY. SELECT * FROM dictionary WHERE table_name LIKE UPPER( %ROLLBACK% ); TABLE_NAME -----------------------------DBA_ROLLBACK_SEGS 1 row selected. COMMENTS ------------------------------------Description of rollback segments
Cette requte affiche le nom des vues qui contiennent des informations sur les segments de rollback. Pour afficher les noms des segments de rollback : SELECT segment_name FROM dba_rollback_segs;
SEGMENT_NAME ------------------------------
Page 46
29/06/2006
SYSTEM RB_TEMP RB1 RB2 RB3 ... Pour afficher la liste des colonnes dune vue, il faut utiliser le mot cl : DESCRIBE V$INSTANCE
Page 47
29/06/2006
Ils crent des spcifications de package de base de donnes. Par exemple, le script dbmspool.sql cre la spcification dun package qui permet dafficher la taille des objets prsent dans la shared pool. Les scripts prvt*.plb : Ils crent le corps de package.
Page 48
29/06/2006
Page 49
29/06/2006
La date et l'heure de cration de la base de donnes. Le numro de squence de log actuel. Cette information permet de synchroniser tous les fichiers appartenant la base de donnes. Les informations sur les points de synchronisation. Cette information est utilise par le serveur Oracle lors de la restauration de linstance. Lhistorique des fichiers log Les informations de sauvegarde de lutilitaire Recovery Manager. Le dbut et la fin des segments de undo. Le fichier de contrle se divise en deux parties : Rutilisable, qui stocke les informations du Recovery Manager, comme les fichiers de sauvegarde de redo log et les fichiers de sauvegarde de donnes. Ces fichiers ne sont rutilisables que par le Recovery Manager. Non rutilisable.
Page 50
29/06/2006
sections denregistrement des fichiers de contrles, et la commande SHOW PARAMETERS CONTROL_FILES qui liste le nom, ltat et lemplacement des fichiers de contrles.
Page 51
29/06/2006
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
Page 53
29/06/2006
synchronisation ("checkpoint"), qui entrane l'criture des buffers modifis ("dirty blocks") du buffer cache dans les fichiers de donnes. Un basculement de fichier log apparat lorsque : le groupe courant de fichiers redo log online est plein l'administrateur force le basculement de fichier log. Ces situations provoquent les vnements qui permettent au serveur Oracle de conserver les donnes les plus rcentes dans les fichiers de donnes. Chaque fois qu'un basculement de fichier log se produit et que le LGWR commence l'criture dans un nouveau groupe de fichiers redo log online, le serveur Oracle assigne un numro appel le numro de squence log. Ce numro identifie l'ensemble des entres redo log. Points de synchronisation (Checkpoints) : L'vnement darrire plan du serveur Oracle qui met jour les fichiers de donnes est le point de synchronisation. Les points de synchronisation peuvent concerner tous les fichiers de donnes de la base de donnes ou seulement certains fichiers de donnes spcifiques. Lors d'un point de synchronisation, tous les buffers modifis ("dirty blocks") sont crits dans les fichiers de donnes par le processus DBWR. Le nombre de buffers qui sont crit par le process DBWn est dtermin par le paramtre FAST_START_MTTR_TARGET. Si le point de synchronisation s'est achev correctement, le processus d'arrireplan CKPT met jour les enttes de tous les fichiers de donnes et fichiers de contrle.
Un point de synchronisation se produit dans plusieurs situations : durant un basculement de fichier log. Lorsqu'une instance s'arrte en mode normal, transactional ou immediate
Page 54
29/06/2006
Selon la configuration des paramtres d'initialisation LOG_CHECKPOINT_INTERVAL et LOG_CHECKPOINT_TIMEOUT lorsqu'il est impos par l'administrateur lorsqu'un tablespace devient offline ou en lecture seule Ces situations entranent l'vnement checkpoint. Ainsi les fichiers de donnes dans la base de donnes sont mis jour intervalles rguliers. Les informations propos de chaque checkpoint sont enregistres dans le fichier alert<SID>.log si le paramtre LOG_CHECKPOINTS_TO_ALERT est initialis TRUE. Sa valeur par dfaut est FALSE.
Page 55
29/06/2006
fichiers redo log en miroir. Des membres redo log peuvent tre ajouts grce la commande SQL suivante : ALTER DATABASE [database] ADD LOGFILE MEMBER 'filename' [REUSE] TO GROUP n; Le chemin complet des membres doit tre spcifi. Si le chemin complet n'est pas spcifi, les fichiers seront crs dans le rpertoire par dfaut du serveur de base de donnes. Si le fichier existe dj, il doit avoir la mme taille que le nouveau fichier redo log online et l'option de la commande REUSE doit tre utilis. Le groupe cible peut tre identifier en spcifiant le numro du groupe soit un ou plusieurs membres du groupe. Exemple : ALTER DATABASE ADD LOGFILE MEMBER 'e:\orant\database\log7borcl.ora' TO GROUP 7; Database altered. Cette commande ajoute un nouveau membre redo log nomm log7borcl.ora au groupe redo log 7. Ce nouveau membre sera stock dans le rpertoire e:\orant\database.
Page 57
29/06/2006
pointeur dans le fichier de contrle, mais il ne renomme pas physiquement ni ne cre de fichier. Ouvrir la base de donnes.
ALTER DATABASE [database] DROP LOGFILE MEMBER 'filename'; Exemple : Le fichier redo log online nomm log5borcl.ora dans le groupe 5 est devenu invalide. Ce fichier est stock dans le rpertoire e:\orant\oradata\orcl. ALTER DATABASE DROP LOGFILE MEMBER 'e:\orant\oradata\orcl\log5borcl.ora'; Database altered. Cette commande supprime le fichier redo log online invalide log5borcl.ora. Cependant un certain nombre de restrictions sont prendre en compte lors de la suppression de membres redo log en ligne : Le dernier membre redo log online valide d'un groupe ne peut pas tre supprim. Un basculement de fichier log doit tre effectu avant de supprimer un membre redo log online actif. Si la base de donnes tourne en mode ARCHIVELOG, alors un membre redo log online appartenant un groupe non archiv ne peut pas tre supprim
Page 59
29/06/2006
deux groupes de fichiers redo log online avec un membre chacun. Ces commandes peuvent galement tre effectues mme si un groupe de fichiers redo log online rinitialis est disponible mais pas archiv. Exemple : Le fichier redo log online redo04.log dans le groupe 1 est corrompu. ALTER DATABASE CLEAR LOGFILE 'e:\orant\oradata\orcl\redo04.log'; Database altered. Le fichier redo log online redo04.log a t rinitialis. Ce fichier est dsormais prt et disponible pour utilisation. Un fichier redo log online peut tre rinitialis qu'il ait t archiv ou non. Si le fichier rinitialiser n'a pas t archiv, il faut inclure le mot cl UNARCHIVED dans la commande SQL. Cependant, l'utilisation du mot cl UNARCHIVED aboutit des sauvegardes inutilisables si le fichier redo log en ligne est ncessaire pour la rcupration.
Page 60
29/06/2006
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.
Page 61
29/06/2006
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.
Il est possible dobtenir des informations sur les groupes et les membres en interrogeant le dictionnaire de donnes. La requte suivante retourne des informations sur le fichier de redo log online du fichier de contrle. SELECT group#, sequence#, bytes, members, status FROM V$LOG ; GROUP# -----1 2 3 SEQUENCE# --------1985 1986 1984 BYTES ----1048576 1048576 1048576 MEMBERS ------1 1 1 STATUS -----INACTIVE CURRENT INACTIVE
INACTIVE signifie que le groupe de fichier de redo nest plus ncessaire pour la restauration dinstance. CURRENT, indique le groupe courrant de redo log. Cest ce groupe l qui est actif. UNUSED, signifie que le groupe de redo vient juste dtre ajout et quil na jamais t crit. Pour connatre tous les noms des membres dun groupe, il faut interroger la vue V$LOGFILE. SELECT member FROM V$LOGFILE ; MEMBER -------------------------------D:\ORACLE\ORADATA\IASDB\REDO03.LOG D:\ORACLE\ORADATA\IASDB\REDO02.LOG D:\ORACLE\ORADATA\IASDB\REDO01.LOG La valeur du statut de la colonne peut tre INVALID (fichier inaccessible), STALE (le contenu du fichier est incomplet), DELETED (le fichier nest plus utilis).
Page 63
29/06/2006
En mode, NOARCHIVELOG, les fichiers de redo log online sont rcrits chaque fois quun fichier de redo log online est rempli et quun log switch est lanc. LGWR ne rcrit pas sur un groupe de fichier de redo log tant que le checkpoint pour ce groupe nest pas termin. ARCHIVELOG : Si la base de donnes est configure dans le mode ARCHIVELOG, alors les groupes de redo remplis doivent tre archiv. Comme toutes les modifications faites sur la base de donnes sont enregistres dans les fichiers de redo log online, le DBA peut utiliser la sauvegarde prsente sur le disque dur et les fichiers de redo log archivs pour restaurer la base de donnes sans perdre aucune donne comit. On peut archiver les fichiers de redo log : Manuellement. Automatiquement : Mthode recommande. Le paramtre dinitialisation LOG_ARCHIVE_START, lorsquil est TRUE indique que larchivage se fait automatiquement. A FALSE, indique que le DBA le fait manuellement. En mode automatique, larchivage se fait grce au process ARCn, et manuellement avec des requtes SQL.
Page 64
29/06/2006
7.1.2. Relations
La sparation des structures logique et physique d'une base de donnes Oracle facilite le contrle pouss de la gestion de l'espace disque. L'administrateur peut configurer les paramtres d'allocation d'espace aux composants physiques et logiques de la base de donnes. Pour utiliser efficacement l'espace du disque dur, il est important de connatre les relations entre les composants physiques et logiques de la base de donnes. Il est important galement de savoir comment l'espace est allou dans la base de donnes. La premire entit est la base de donnes Oracle. Elle est divise en structures logique et physique. La base de donnes est divise en zones d'espace logiques plus petites, appeles tablespaces. Chaque tablespace d'une base de donnes Oracle est constitu d'un ou plusieurs fichiers appels fichiers de donnes. Il s'agit de structures physiques conformes au systme d'exploitation sur lequel le serveur Oracle fonctionne.
Page 65
29/06/2006
Un tablespace est constitu de segments. Un segment est l'espace allou pour un type spcifique de structure de stockage logique dans un tablespace. Les segments d'index, segments temporaires, rollback segments et segments de donnes reprsentent quelques exemples de segments. Un segment, tel qu'un segment de donnes, peut tre rparti sur plusieurs fichiers appartenant au mme tablespace. Le niveau suivant de la structure logique d'une base de donnes est l'extent. Un extent est un ensemble de blocs contigus. Chaque segment est constitu d'un ou plusieurs extents. Le DBA peut ajouter des extents un segment manuellement. Un extent ne peut pas tre rparti sur plusieurs fichiers de donnes. Les blocs de donnes constituent le dernier niveau de granularit. Les donnes d'une base de donnes Oracle sont stockes dans les blocs de donnes. Un bloc de donnes correspond un ou plusieurs blocs de fichiers physiques allous partir de fichier de donnes existant.
Page 66
29/06/2006
Les tablespace peuvent tre mis offline lorsque la base de donnes fonctionne. Cette fonctionnalit permet l'administrateur de contrler les donnes sans arrter la base de donnes. Tous les tablespaces, l'exception du tablespace SYSTEM ou d'un tablespace avec un undo segment actif, peuvent tre mis offline. Dans ce cas, la base de donnes continue de fonctionner. L'administrateur peut ainsi assurer la gestion des donnes sans que la base de donnes ne soit indisponible. L'tat d'un tablespace peut tre bascul entre lecture criture et lecture seule. Cette fonctionnalit permet d'empcher les utilisateurs de modifier des donnes stockes et inversement.
Page 67
29/06/2006
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.
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.
Page 69
29/06/2006
Exemple : Crez un tablespace nomm ACCOUNTS. Le nom du fichier de donnes est accts01.dbf et sa taille est de 10 Mo. Nom du tablespace : ACCOUNTS Nom du fichier de donnes : accts01.dbf Taille du fichier de donnes : 10 Mo Emplacement : c:\oracle\oradata\database Se connecter la base de donnes avec les privilges adquates : CREATE TABLESPACE accounts DATAFILE 'c:\oracle\oradata\database\accts01.dbf' SIZE 10M; Tablespace created. Cette commande est relativement complexe, Oracle offre une interface graphique, appele Oracle Storage Manager, pour crer un tablespace. Lors de la cration de tablespaces, le nombre maximal de tablespaces pouvant tre affects chaque base de donnes est de 64 000 et le nombre maximal de fichiers de donnes pouvant tre affects chaque tablespace est de 1 023.
Page 70
29/06/2006
extent_management_clause :== [ EXTENT MANAGEMENT [ DICTIONARY | LOCAL [ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ] DICTIONARY signifie que le tablespace est gr grce aux tables du dictionnaire. LOCAL signifie que le tablespace est gr localement avec un bitmap. Si cest clause est utilis, on ne peut utiliser DEFAULT storage_clause, MINIMUM EXTENT, ou TEMPORARY. AUTOALLOCATE est loption par dfaut. Les utilisateurs ne peuvent spcifier une taille dextent. UNIFORM signifie que le tablespace est gr avec des extents de tailles uniformes de SIZE bytes.
CREATE TABLESPACE userdata DATAFILE u01/oradate/userdata01.dbf SIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256k; Les avantages des tablespaces grs localement sont les suivants : Pas de contention en mise a jour au niveau du dictionnaire. Par consquence pas d'utilisation de Rollback segment pour ces transactions. Pas de soucis de gestion de l'espace (calcul d'un espace de stockage adquat). "coalesce" automatique (fusion des espaces libres contigus pour optimiser l'espace libre).
L'efficacit d'un tablespace dpend de la quantit d'espace utilise par un segment. Ainsi, il est important de connatre les paramtres qui influent sur la quantit d'espace utilise par un segment. Cinq paramtres dterminent et contrlent la quantit d'espace utilise par un segment. Il s'agit des paramtres INITIAL, NEXT, MAXEXTENTS, MINEXTENTS et PCTINCREASE.
La taille du premier extent de tout segment est dfinie par le paramtre INITIAL. La taille minimale du premier extent est de deux blocs ou de 2*DB_BLOCK_SIZE. La taille par dfaut est de cinq blocs ou de 5*DB_BLOCK_SIZE. Le paramtre NEXT fait rfrence la taille du deuxime extent. La taille minimale de l'extent suivant est d'un bloc et la taille par dfaut est de cinq blocs ou de 5*DB_BLOCK_SIZE. La valeur du paramtre MINEXTENTS dtermine le nombre d'extent allous lors de la cration du segment. Par dfaut, la valeur minimale est de un. Le PCTINCREASE est le pourcentage d'augmentation de la taille de NEXT. Par exemple, NEXT est dfini sur 200 Ko et PCTINCREASE est dfini sur 50%. Dans une telle situation, le deuxime extent prsente une taille de 200 Ko, le troisime extent une taille de 300 Ko et le quatrime extent une taille de 450 Ko. La valeur minimale du paramtre PCTINCREASE est de zro et sa valeur par dfaut est de 50. La valeur calcule est arrondie la valeur immdiatement suprieure de 5*DB_BLOCK_SIZE.
Page 72
29/06/2006
Le paramtre MAXEXTENTS dtermine le nombre maximum d'extents qu'un segment peut contenir. La valeur minimale est de un. La valeur maximale par dfaut dpend de la taille des blocs de donnes. La taille maximale peut galement tre spcifie par le mot cl UNLIMITED, quivalent une valeur de 2 147 483 645. Il est important de garder l'esprit que les valeurs de ces paramtres doivent reprsenter un objet typique qui sera cr dans le tablespace. Cependant, ces paramtres de stockage peuvent tre rejets de la cration de segments individuels. Il est possible dutiliser la commande ALTER TABLESPACE pour modifier les paramtres par dfaut. Par exemple : ALTER TABLESPACE userdata MINIMUM EXTENT 2M; Ou : ALTER TABLESPACE userdata DEFAULT STORAGE ( INITIAL 2M NEXT 2M MAXEXTENTS 999);
Page 73
29/06/2006
CREATE UNDO TABLESPACE undo1 DATAFILE u01/oradate/undo101.dbf SIZE 40M; Les informations dutilisation des segments de UNDO sont stockes dans la vue V$UNDOSTAT.
DEFAULT TEMPORARY TABLESPACE temp; Aprs cela, tous les utilisateurs qui ntaient pas assigns un tablespace temporaire seront affects directement temp.
Page 75
29/06/2006
statique. Afin d'viter d'avoir procder des oprations de sauvegarde et de restauration de telles donnes statiques, l'administrateur peut mettre ces tablespaces en lecture seule. Ceci permet galement de garantir qu'aucune opration d'criture ne sera effectue sur les donnes. Les fichiers de donnes peuvent tre stocks sur des supports en lecture seule, tels que des CD-ROM ou des disques WORM, car le serveur Oracle ne met jamais jour les fichiers d'un tablespace en lecture seule. La commande SQL permettant de mettre un tablespace en mode lecture seule est la suivante : ALTER TABLESPACE tablespace READ { ONLY | WRITE } ; Exemple : Mettez le tablespace ACCOUNTS en lecture seule. ALTER TABLESPACE accounts READ ONLY ; Tablespace altered. Outre la commande SQL, Oracle offre une interface graphique nomme Oracle Storage Manager permettant de mettre un tablespace en mode lecture seule. Il est possible de supprimer des objets comme des index ou des tables dans un tablespace en lecture seul. En effet, la commande DROP met jour seulement le dictionnaire de donnes mais pas les fichiers physiques qui constituent le tablespace. Cependant, plusieurs conditions doivent tre remplies pour pouvoir mettre un tablespace en mode lecture seule : le tablespace doit tre online, aucune transaction active ne doit tre en cours d'excution sur ce tablespace le tablespace ne doit contenir aucun rollback segment actif et ne doit pas tre actuellement impliqu dans une sauvegarde online. Le moyen recommand de se conformer ces restrictions consiste dmarrer l'instance en mode restreint. En outre, la mise en lecture seule des tablespaces provoque un point de synchronisation sur les fichiers de donnes.
Page 76
29/06/2006
Page 77
29/06/2006
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.
Page 78
29/06/2006
Exemple : ALTER DATABASE DATAFILE u01/oradata/userdata02.dbf SIZE 200m AUTOEXTEND ON NEXT 10M MAXSIZE 500M ;
4.5.3.
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];
Page 79
29/06/2006
Exemple : Ajoutez un fichier de donnes nomm accts02.dbf de 1 000 Ko situ dans le rpertoire c:\ora92\database au tablespace ACCOUNTS. ALTER TABLESPACE accounts ADD DATAFILE 'c:\ora92\database\accts02.dbf' SIZE 1000K; tablespace altered. Outre la commande SQL, Oracle offre une interface graphique appele Oracle Storage Manager afin de permettre d'ajouter un fichier de donnes un tablespace. 4.5.4.
Avec l'augmentation du nombre d'enregistrements de la base de donnes, la taille du fichier de donnes augmente galement. Par consquent, il peut arriver que le support de stockage du fichier de donnes ne dispose plus de suffisamment d'espace. Pour faire face ce problme, Oracle permet de dplacer les fichiers de donnes vers un nouvel emplacement. ALTER TABLESPACE tablespace RENAME DATAFILE 'filename' [,'filename']... TO 'filename' [,'filename']... ; Exemple : Dplacez le fichier de donnes accts01.dbf du tablespace ACCOUNTS du rpertoire c:\ora92\database. Mettre offline le tablespace ACCOUNTS en mode normal ALTER TABLESPACE accounts OFFLINE NORMAL; Tablespace altered Dplacez le fichier de donnes avec les commandes du systme d'exploitation copy c:\ora92\database\accts01.dbf
Page 80
29/06/2006
d:\ ora92\database\accts01.dbf 1 file(s) copied Modifier le chemin d'accs du fichier de donnes ALTER TABLESPACE accounts RENAME DATAFILE 'c:\ora92\database\accts01.dbf' TO 'd:\ ora92\database\accts01.dbf' ; Tablespace altered. Mettez online le tablespace ACCOUNTS ALTER TABLESPACE accounts ONLINE ; Tablespace altered Supprimez le fichier d'origine dans le rpertoire c:\ora92\database. Oracle Storage Manager peut dplacer les fichiers de donnes appartenant aux seuls tablespaces non-SYSTEM et ne contenant aucun rollback segment ou segment temporaire actif. Fichier de donnes SYSTEM : Le tablespace SYSTEM est ncessaire pour que la base de donnes fonctionne correctement. Cependant, dans certaines situations, telles que le remplacement du disque dur sur lequel les fichiers de donnes du tablespace SYSTEM sont actuellement stocks, l'administrateur doit dplacer les fichiers de donnes du tablespace SYSTEM vers un nouvel emplacement. Oracle permet de dplacer un fichier de donnes du tablespace SYSTEM vers un nouvel emplacement. Voici les tapes suivre : Arrter la base de donnes Utiliser une commande du systme d'exploitation pour dplacer les fichiers de donnes vers le nouvel emplacement. Monter la base de donnes Dplacer le fichier de donnes du tablespace SYSTEM Ouvrir la base de donnes Il faut toujours fournir les noms complets des fichiers accompagns de leur chemin d'accs pour identifier les anciens et les nouveaux fichiers de donnes. Exemple :
Page 81
29/06/2006
Dplacez le fichier de donnes SYS1ORCL.ORA du rpertoire c:\ora92\database appartenant au tablespace SYSTEM vers le rpertoire d:\orclbackup. Montez la base de donnes Copiez le fichier dans le rpertoire d:\orclbackup avec les commandes du systme d'exploitation Dplacer les fichiers de donnes dans la base de donnes : ALTER DATABASE RENAME FILE 'c:\ora92\database\sys1orcl.ora' TO 'd:\orclbackup\sys1orcl.ora'; Ouvrir la base de donnes
7.6. Autres options sur les Tablespaces 7.6.1. Configurer OMF pour la cration de Tablespace
Lorsque lon configure OMF pour crer un tablespace, un paramtre dinitialisation est spcifi : DB_CREATE_FILE_DEST. Ce paramtre stocke le chemin par dfaut des fichiers de donnes. Il existe deux moyens de le configurer, soit directement dans le fichier dinitialisation soit avec la commande suivante : ALTER SYSTEM SET db_create_file_dest = u01/oradate/db01;
sparment. Ceci permet une souplesse des oprations sur la base de donnes. Les donnes des diffrentes applications peuvent tre stockes dans des tablespaces distincts. Ceci permet de garantir une bonne disponibilit des donnes. La rduction des contentions constitue un autre avantage de l'utilisation de plusieurs tablespaces. Les contentions E/S sont rduites grce au stockage des fichiers de donnes de diffrents tablespaces sur des disques durs distincts. L'utilisation de plusieurs tablespaces constitue une protection contre la perte dfinitive de donnes. Cette protection est assure par la sparation des rollback segments et des segments de donnes. L'utilisation de plusieurs tablespaces offre un degr lev de flexibilit dans l'administration des donnes, car les tablespaces individuels peuvent tre mis offline. Ceci permet galement de garantir une bonne disponibilit des donnes. L'utilisation de plusieurs tablespaces permet galement la sauvegarde des tablespaces individuels. L'utilisation de plusieurs tablespaces permet de rserver des tablespaces pour un type particulier d'activit sur la base de donnes, tel que des activits de mise jour, des oprations en lecture seule et le stockage temporaire de segments. Ceci permet d'amliorer l'efficacit de la base de donnes.
L'administrateur a besoin d'informations sur les tablespaces afin d'assurer une gestion efficace de la base de donnes. Oracle offre des vues du dictionnaire de donnes et des vues dynamiques sur les performances, qui vous permettent de rassembler des informations sur les tablespaces. Les noms des vues dynamiques sur les performances et des vues du dictionnaire de donnes sont les suivantes : DBA_TABLESPACES Cette vue contient des informations sur les noms, les paramtres de stockage par dfaut, les types et la disponibilit de tous les tablespaces. Exemple : Pour assurer une gestion efficace de la base de donnes, l'administrateur souhaite obtenir l'emplacement et les paramtres de stockage par dfaut de tous les tablespaces.
Page 83
29/06/2006
SELECT * FROM dba_tablespaces ; DBA_DATA_FILES Cette vue contient des informations sur les fichiers de donnes appartenant un tablespace spcifique ainsi que sur leurs paramtres AUTOEXTEND Exemple : L'administrateur souhaite afficher les tablespaces auxquels les fichiers de donnes appartiennent, ainsi que la valeur de l'option AUTOEXTEND. SELECT * FROM dba_data_files; V$DATAFILE Cette vue dynamique contient des informations sur le nom du fichier de donnes, la taille, la disponibilit et les noms des tablespaces auxquels les fichiers de donnes appartiennent. V$TEMPFILE Cette vue contient des informations sur les tablespaces temporaires.
Page 84
29/06/2006