Vous êtes sur la page 1sur 38

Administration des bases de donnes

Chapitre 2

Gestion dune instance et cration dune BD Oracle

Objectifs
Initialisation de lOS et authentification du password file Cration dun PFILE et dun SPFILE Dmarrage dune instance et ouverture de la BD Fermeture de la BD et arrt de linstance Cration de BD Construction des vues du dictionnaire de donnes Utilisation du dictionnaire de donnes

Gnralits
Une BD oracle nest disponible luser que lorsque le DBA a dmarr une instance et ouvert la BD Les tapes de dmarrage sont :
Dmarrage dune instance Mount database Open database

chaque dmarrage dune instance, Oracle utilise un parameter file, contenant les paramtres dinitialisation, pour allouer le SGA et dmarrer les background processes

Si une instance est dmarre ou une BD est ouverte, alors pour la fermeture de ces derniers, il faut suivre les tapes suivantes : Close database unMount database

Utilisateurs administrateurs de BD
Les 2 users administrateurs SYS et SYSTEM
Sont crs automatiquement lors de la cration de la BD Possdent le rle DBA (tous les privilges systmes)

SYS
Password : change_on_install Owner of database dictionnary

SYSTEM
Password : manager Propritaires de tables supplmentaires utilises par Oracle Tools

Mthodes dauthentification
Pour que une BD soit ouverte, le DBA doit sauthentifier en utilisant : une mthode dauthentification par OS Ou une mthode dauthentification par fichier mot de passe

Authentification par OS
La mthode dauthentification dun user par un OS diffre selon le systme : UNIX ou NT Les tapes gnrales sont :
Dfinition de luser tre authentifi par lOS

Initialisation du paramtre REMOTE_LOGIN_PASSWORDFILE NONE


Utilisez les commandes suivantes pour vous connecter une BD : CONNECT /AS {SYSDBA|SYSOPER} SYSDBA et SYSOPER sont des privilges spciaux de DBA

Authentification par password file1/2


Oracle fournit un utilitaire de gestion des password qui permet la connexion au noyau Oracle Les tapes gnrales sont :
Crer le password file en utilisant lutilitaire de gestion des mots de passe ORAPWD pour UNIX ou ORAPWD90 pour NT: Orapwd file=<fname> password=<password> entries=<entries> Fname : nom du password file password : le mot de passe de SYS entries : est le nombre maximum dadministrateurs distincts de BD

Authentification par password file 2/2


Les tapes gnrales sont:
Initialisation du paramtre REMOTE_LOGIN_PASSWORDFILE EXCLUSIVE ou SHARED EXCLUSIVE: indique quune seule instance peut utiliser le password file et quil contient dautres noms autre que SYS et SYSTEM SHARED : indique que plusieurs instances peuvent utiliser le password file (les seuls users reconnus par le password file sont SYS et INTERNAL) Utilisez la commande suivante pour vous connecter une BD : CONNECT admin

Creation dun parameter file (PFile)


Se trouve sous le rpertoire $ORACLE_HOME/dbs Fichier texte qui peut tre manipul par nimporte quel diteur Le parameter file est lu au moment du dmarrage de linstance. Dans le cas o on modifie des paramtres non dynamiques du fichier, il faut fermer et redmarrer linstance pour prendre en considration les nouvelles valeurs Quelques paramtres sont dynamiques ( peuvent tre pris en charge sans fermer linstance) Les paramtres dans init<SID>.ora ont un effet non ngligeable sur les performances de la BD

Creation dun parameter file (SPFile)


Se trouve sous le rpertoire $ORACLE_HOME/dbs Le SPFILE est un fichier binaire qui ne peut pas tre dit par nimporte quel diteur standard

Cre partir dun PFILE standard et donc ncessite lexistence du fichier PFILE SQL> CREATE SPFILE FROM PFILE;
Au prochain dmarrage de linstance, seulement le SPFILE sera utilis pour linitialisation de la BD Paramtres du fichier modifis par la commande ALTER SYSTEM SQL> ALTER SYSTEM SET log_archive_dest = /oracle/archive/DB01;

Exemple de parameter file

Etapes de dmarrage
Dmarrage dune instance Lecture du parameter file init<SID>.ora Allocation de la SGA Dmarrage des background processes Ouverture des fichiers trace et ALERT(journaux chronologiques des messages derreur) Monter la BD Associer une BD une instance dj dmarre Localiser et ouvrir les control files spcifis dans les parameter files Lire les control files pour obtenir les noms et les tats des data files et redo log files Ouvrir la BD : Open data and redo log files Si un des fichiers nest pas prsent, Oracle renvoie une erreur

Etapes darrt
Fermer la BD Quand la base se ferme, Oracle crit les changements du database buffer cache et les entres du buffer redo log dans les datas files and redo log files Oracle ferme tous les datas and redo log files Les control files restent ouverts DMonter la BD dune instance Fermeture des control files

Arrt de linstance Libration de la SGA Arrt des background processes Fermeture des fichiers trace et ALERT (journaux chronologiques des messages derreur)

Commande de dmarrage
La commande STARTUP dmarre linstance et ouvre la BD STARTUP [FORCE] [PFILE=parafile] [EXCLUSIVE | PARALLEL | SHARED] [OPEN | MOUNT | NOMOUNT]
FORCE : annule linstance courante avant deffectuer le dmarrage PFILE=parafile : utilisation du parameter file pour la configuration de linstance OPEN : permet aux users daccder la BD EXCLUSIVE : autorise linstance courante accder la base PARALLEL : autorise plusieurs instances accder la base SHARED PARALLEL MOUNT : monte la BD mais ne permet pas laccs la base NOMOUNT : cre la SGA et dmarre les background processes mais ne permet pas laccs la base

STARTUP PFILE=/DISK/initU15.ora

Commande darrt
La commande SHUTDOWN arrte une instance SHUTDOWN [NORMAL | TRANSACTIONNEL | IMMEDIATE | ABORT] Arrt normal est larrt par dfaut De nouvelles connexions ne sont pas permises SO attend la dconnexion de tous les users avant de terminer larrt (temps dattente peut tre important sans dlai prvisible de fermeture) Oracle ferme et dmonte la base avant darrter linstance Pas de restauration de linstance lors du dmarrage suivant (car toutes les informations modifies encore prsente dans la SGA sont crites dans les dats and redo log files)

Commande darrt
Arrt transactionnel De nouvelles connexions ne sont pas permises Le client ne sera plus connect ds la fin de la transaction en cours Pas de restauration de linstance lors du dmarrage suivant

Arrt immediat De nouvelles connexions ne sont pas permises SO nattend pas la dconnexion des users avant de terminer larrt Les ordres SQL en cours ne seront pas traits Oracle ferme et dmonte la base avant darrter linstance Pas de restauration de linstance lors du dmarrage suivant

Commande darrt
Arrt abort De nouvelles connexions ne sont pas permises SO nattend pas la dconnexion des users avant de terminer larrt Les ordres SQL en cours ne seront pas traits Les transactions non commites ne seront pas effaces (rollback) Linstance sera ferm sans la fermeture des fichiers Restauration de linstance lors du dmarrage suivant

Les diffrents types darrt-Exemple


Ltape 1 jusqu ltape 5 dcrit un transfert dargent dune banque une autre 1 Interrogation du compte afin de rcuprer le solde 2 Excution de la commande INSERT pour transfrer les fonds au nouveau compte 3 Excution de la commande DELETE afin de supprimer les fonds du solde courant 4 Excution dun COMMIT pour finir correctement la transaction 5 Dconnexion du SO

Les diffrents types darrt-Exemple


Normal shutdown : SO attend la dconnexion de tous les users avant de terminer le shutdown Immediate shutdown : SO termine lordre SQL en cours (step 2) et annule la transaction en cours Transactional shutdown : SO attend la fin de la transaction (step 4) Abort shutdown : SO termine la commande SQL en cours, cependant la transaction en cours ne sera pas annule

Cration dune BD

Mthodes de cration
Cration de la BD en utilisant Oracle Database Configuration Assistant (DBCA)

Cration manuelle de la BD

Les tapes de cration dune BD


Step 1: Choisir un nom unique pour linstance et la BD Step 2: Prparer le fichier des paramtres Step 3: Cration dun password file Step 4: Dmarrer linstance Step 5: Cration de la BD Step 6: Excuter les scripts pour gnrer le dictionnaire de donnes et excuter les tapes post-cration

Les tapes de cration dune BD- Step 2


Step 2: Prparer le fichier des paramtres
Cration dun nouveau parameter file : $cp init.ora $ORACLE_HOME/dbs/initU16.ora
Modification du fichier initU16.ora en ditant les paramtres (DB_NAME, CONTROL_FILES) Cration du fichier SPFILE partir du PFILE en se connectant en tant que SYSDBA SQL>CREATE SPFILE FROM PFILE; Par dfaut, les 2 fichiers existent dans la mme location. Lorsque on dmarre linstance, OS cherche si il existe un fichier nomm sfileSID.ora (SPFILE). Sil nexiste pas alors le fichier initSID.ora (PFILE) sera utilis

Les tapes de cration dune BD- Step 3,4


Step3: Cration dun password file Utiliser lutilitaire ORAPWD pour crer le password file
Syntaxe: orapwd file=<fname>password=<password> entries=<users> Avec file - name of password file password - password for SYS entries - maximum number of distinct DBAs

Step 4: Dmarrer linstance


Se connecter en tant que SYSDBA Dmarrer linstance ltape NOMOUNT : STARTUP NOMOUNT PFILE=/DISK/initU16.ora

Les tapes de cration dune BD- Step 5


Step 5: Cration de la BD
CREATE DATABASE [database_name] [MAXLOGFILES integer] [MAXDATAFILES integer] [DATAFILE filespec] [LOGFILE [GROUP integer] filespec]; DATAFILE filespec : spcifie les data files utiliser LOGFILE [GROUP integer] filespec] : spcifie les noms des fichiers journaux utiliser et le groupe auquel ils appartiennent

Cration dune BDExemple


CREATE DATABASE "PROD01" CONTROLFILE REUSE LOGFILE GROUP 1 (/oradata02/PROD01/redo0101.log, /oradata03/PROD01/redo0102.log) SIZE 5M REUSE, GROUP 2 (/oradata02/PROD01/redo0201.log, /oradata03/PROD01/redo0202.log) SIZE 5M REUSE MAXLOGFILES 4 MAXLOGMEMBERS 2 MAXLOGHISTORY 0 MAXDATAFILES 254 MAXINSTANCES 1 NOARCHIVELOG CHARACTER SET "WE8MSWIN1252 DATAFILE /oradata01/PROD01/system01.dbf SIZE 80M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED UNDO TABLESPACE UNDOTBS DATAFILE /oradata04/PROD01/undo01.dbf SIZE 35M DEFAULT TEMPORARY TABLESPACE TEMPTEMPFILE /oradata05/PROD01/temp01.dbf SIZE 20M;

Aprs la cration de la BD
La base contient: Des datas files constituant le tablespace SYSTEM Control and redo log file Les users SYS/change_on_install and SYSTEM/manager Le rollback segment SYSTEM Des tables internes (sans vues de dictionnaire de donnes)

Commande de changement de ltat de la BD


La commande ALTER permet de changer ltat dune BD Pour changer ltat de la BD de NOMOUNT MOUNT ou de MOUNT OPEN, il suffit dcrire cette commande : ALTER DATABASE { MOUNT | OPEN } Pour que les donnes ne soient pas modifier, nous pouvons ouvrir la base en mode read-only ALTER DATABASE OPEN [READ WRITE| READ ONLY]

Dictionnaire donnes

Le dictionnaire de donnes
Le dictionnaire de donnes est une mta-base qui dcrit dynamiquement la BD. Il fournit des informations sur: La structure logique et physique de la BD Les noms, dfinitions et allocation despace des objets des schmas Les users et les privilges de la base Laudit

Table de base et vues du dictionnaire de donnes


Le dictionnaire de donnes, situ dans le tablespace SYSTEM et appartenant luser SYS, consiste en 2 parties :
Les tables de base contiennent des informations comme les users de la BD et leurs permissions, le pourcentage de lutilisation de la taille de la BD
Tables internes du SO Rarement utilises Cres laide du script sql.bsq Exemple : AUD$

Les vues du dictionnaire de donnes


Cres laide du script catalog.sql

Les Vues du Dictionnaire de Donnes (VDD)


Les VDD sont classes selon ces catgories:
DBA_ Ces vues contiennent des informations sur tous les objets de la BD et sur leurs propritaires Accessible au DBA et tout utilisateur qui a le privilge SELECT_CATALOG_ROLE ALL_ Ces vues contiennent des informations sur les objets auxquels un user a accs Elles sont accessibles nimporte quel user Toutes les vues ont une colonne OWNER

Les Vues du Dictionnaire de Donnes (VDD)


Les VDD sont classes selon ces catgories:
USER_ Ces vues contiennent des informations sur les objets appartenant user Elles sont accessibles tous les users et nont pas de colonne OWNER V$ synonyme V_ $ (V pour virtual) Ces vues sont connus sous le nom dynamic performance views vu quelles sont continuellement en modification lors de louverture et de lutilisation de la BD

Les Vues du Dictionnaire de Donnes (VDD)

Description et accs aux VDDs


Description de la structure des vues La description se fait grce la commande DESC du langage SQL

Interrogation des vues Linterrogation des vues se fait grce lordre SELECT du langage SQL

Review Questions
Question 1 : How many control files are required to create a database? 1, 2, 3, aucun
Answer: you do not need any control files to create a database; the control files are created when you create the database, based on the filenames specified in the CONTROL_FILES parameter of the parameter file

Question 2 : Which environment variable or registry entry variable represents the instance name? ORA_SID, INSTANCE_NAME, ORACLE_INSTANCE, ORACLE_SID
Answer: The ORACLE_SID environment variable represents the instance name. When you connect to the database without specifying a connect string, Oracle connects you to this instance

Question 3 : Which command must you issue before you can execute the CREATE DATABASE command? STARTUP INSTANCE, STARTUP NOMOUNT, STARTUP MOUNT, None of the above
Answer :You must start up the instance to create the database. Connect to the database by using the SYSDBA privilege, and start up the instance by using the command STARTUP NOMOUNT

Review Questions
Question 4 : What is the prefix for dynamic performance views? DBA_ X$ V$ X#
Answer : the dynamic performance views have a prefix of V$. The actual views have the prefix of V_$, and the synonyms have a V$ prefix. The views are called dynamic performance views because they are continuously updated while the database is open and in use, and their contents relate primarily to performance

Question 5 : Who owns the data dictionary? SYS SYSTEM DBA ORACLE
Answer : The SYS user owns the data dictionary. The SYS and SYSTEM users are created when the database is created

Questions?
Commentaires?

Merci!