Sie sind auf Seite 1von 17

Chapitre1 : Gnralits

Sommaire
Chapitre1 : Gnralits............................................................................................................................ 1 A. B. Prsentation de Oracle9i Database ............................................................................................. 2 Ladministration de bases de donnes ........................................................................................ 2 I.1 I.2 C. 1 2 3 4 5 6 Les rles de ladministrateur ............................................................................................... 2 Les outils de ladministration .............................................................................................. 2

Larchitecture interne dOracle ................................................................................................... 2 La notion dinstance ................................................................................................................ 2 Lorganisation logique de la base de donnes ........................................................................ 2 Lorganisation physique de la base de donnes...................................................................... 2 Le dictionnaire des donnes.................................................................................................... 2 La mmoire .............................................................................................................................. 2 Les processus ........................................................................................................................... 2

A. Prsentation de Oracle9i Database


Xxxxxxxxxxxxxxxxxxxxxxxxx

B. Ladministration de bases de donnes


I Les rles de ladministrateur yyyyyyyyyyyyyyyyyyyy II Les outils de ladministration yyyyyyyyyyyyyyyyyyyy
a. Loutil dadministration SQL*PLUS

Zzzzzzzzzzzzzzzzzzzzzzz Exemple : zzzzzzzzzzzzzzzzzzzzzzzz


b. Oracle Enterprise Manager

Zzzzzzzzzzzzzzzzzzzzzzz
i. Oracle Enterprise Manager en mode autonome

wwwwwwwwwwwwwwwwwwwwwwwwwww.
ii. Oracle Enterprise Manager et Oracle Management Server

wwwwwwwwwwwwwwwwwwwwwwwwwww.
iii. SQL*Plus Worksheet

wwwwwwwwwwwwwwwwwwwwwwwwwww.

C. Larchitecture interne dOracle


1 La notion dinstance yyyyyyyyyyyyyyyyyyyy 2 Lorganisation logique de la base de donnes yyyyyyyyyyyyyyyyyyyy 3 Lorganisation physique de la base de donnes yyyyyyyyyyyyyyyyyyyy 4 Le dictionnaire des donnes yyyyyyyyyyyyyyyyyyyy 5 La mmoire yyyyyyyyyyyyyyyyyyyy
a. La SGA (SYSTEM GLOBAL AREA)

La System Global Area est compose de plusieurs lments :

Le BUFFER CACHE La SHARED POOL Le LARGE POOL Le REDO LOG BUFFER La JAVA POOL (si on veut utiliser la Java Virtual Machine).

Le BUFFER CACHE

Son objectif est de stocker les donnes requises par les commandes SQL, mises par les utilisateurs. Elle est organise sous forme dun ensemble de tampons (buffers) dont la taille est celle des blocks de donnes de la base Oracle. Le rle du Buffer Cache est de permettre aux utilisateurs, lors des requtes, de lire le moins souvent possible les mmes donnes sur le disque, et de garder en mmoire les donnes souvent utilises. Oracle enregistre plus tard sur disque les donnes modifies.
Le SHARED POOL

Ce pool possde deux zones mmoire permanentes et une zone mmoire optionnelle. Les deux zones mmoire permanentes : Elles sont utilises pour augmenter les performances dans des applications multi-utilisateurs. Il sagit du LIBRARY CACHE et du DICTIONNARY CACHE. La zone mmoire optionnelle : Elle est utilise dans le cas dune architecture en serveur partag. Elle contient les informations sur les sessions des utilisateurs connects.
Le REDO LOG BUFFER

Zzzzzzzzzzzzzzzzzzzzzzzz
Le JAVA POOL

Zzzzzzzzzzzzzzzzzzzzzzzz

b. La PGA (PROGRAM GLOBAL AREA)

Zzzzzzzzzzzzzzzzzzzzzzz 6 Les processus Il existe trois types de processus : Les processus utilisateurs Les processus serveurs Les processus darrire-plan

1) Les procesus Utilisateurs (USER)

Le processus USER est un processus qui tablit une connexion avec une base de donnes oracle. Au moment de la connexion, le processus ouvre une session. Cette session durera jusqu la fin de la connexion. Exemple : Un utilisateur de lapplication SQL*PLUS se connecte linstance de la base de donnes et ouvre une session. Cest pendant cette session que cet utilisateur pourra envoyer ses commandes SQL au moteur dOracle.
2) Les procesus Serveur (SERVER)

Ce type de processus sert principalement charger en mmoire centrale les donnes enregistres sur le disque. Et ceci afin de les mettre la disposition de lutilisateur pour ses besoins en traitements. Il existe deux sortes de processus serveur : les processus serveur ddi et les processus serveur partag.
Configuration en procesus Serveur Ddi (##### SERVER)

Dans cette configuration, chaque fois quun utilisateur se connecte, il est pris en charge par un processus serveur lui seul. Si 100 utilisateurs se connectent, alors 100 processus serveurs sont crs.
Configuration en procesus Serveur Partag (##### SERVER)

Dans cette configuration, un petit nombre de processus serveurs soccupent dun grand nombre de processus utilisateurs. Oracle utilise pour cette organisation un processus rseau appel dispacher. Le processus dispacher place les requtes des utilisateurs dans une file dattente. Le processus Serveur Partag excute alors les requtes une par une.
Relation entre les procesus USER et les processus SERVER

On se pose la question de savoir comment un processus utilisateur se connecte linstance de la base de donnes. Pendant la connexion la base de donnes via le rseau, un processus rseau intervient : le processus listener. Quand un processus utilisateur se connecte la base de donnes, le processus listener intervient de deux faons diffrentes selon la configuration du serveur. En mode serveur ddi, le listener demande Oracle dallouer un nouveau processus serveur au processus utilisateur. En mode serveur partag, le listener envoie le processus utilisateur un processus dispacher.
3) Les procesus darrire-plan

Il sagit des processus qui sont lancs lors du dmarrage de linstance. Ils sont arrts lors de la fermeture de la base de donnes. Ces processus sont :

Le processus DBWR ou DATABASE WRITER Le processus LGWR ou LOG WRITTER Les processus DBWi o i =09 Le processus CKPT ou CHECKPOINT Le processus SMON ou SYSTEM MONITOR Le processus PMON ou PROCESS MONITOR

Chapitre2 : La cration dune base de donnes


A. La gestion des instances
1 Le fichier de paramtres La qualit du fonctionnement de la base de donnes dpend de la faon dont linstance a t configure. Linstance est configure dynamiquement pendant le dmarrage. Ceci se fait par la lecture dun fichier de paramtres. Ce fichier de type texte prend le nom de INIT<SID>.ORA o <SID> dsigne le nom de linstance. Exemple : Si le nom de linstance est PROD, c..d. <SID> vaut PROD. Alors, le fichier de paramtres ou dinitialisation prend le nom INITPROD.ORA.
################################################ # EXEMPLE ################################################ ################################################ # CACHE ET E/S ################################################ db_block_size=4096 db_cache_size=31457280 ################################################ # CONFIGURATION DU FICHIER ################################################ control_files=(D:\Oracle\oradata\BIBLIO\contro101.ctl, E:\Oracle\oradata\BIBLIO\contro102.ctl, F:\Oracle\oradata\BIBLIO\contro103.ctl) ################################################ # CURSEURS ET CACHE DE BIBLIOTHEQUE ################################################ open_cursors=300 ################################################ # DIAGNOSTICS ET STATISTIQUES ################################################ background_dump_dest=D:\Oracle\admin\BIBLIO\bdump core_dump_dest= D:\Oracle\admin\BIBLIO\cdump timed_statistics=TRUE

user_dump_dest== D:\Oracle\admin\BIBLIO\udump ################################################ # Distribu, Rplication et clich ################################################ db_domain= remote_login_passwordfile=EXCLUSIVE ################################################ # Divers ################################################ compatible=9.0.0 db_name=BIBLIO ################################################ # Inscription rseau ################################################ instance_name=BIBLIO ################################################ # Pools ################################################ java_pool_size=31457280 shared_pool_size=37748736 ################################################ # Processus et sessions ################################################ processes=150

Lexemple reprend le fichier dinitialisation dune base nomme BIBLIO, cre avec lassistant de configuration de base. 2 Les diffrents tats dune base de donnes
a. Base inexistante

Le premier tat est la base inexistante. La configuration de la nouvelle base crer se trouve dans le fichier dinitialisation. La seule action ralisable ce stade est le DMARRAGE de LINSTANCE. Une fois dmarre, linstance pourra lire et charger les paramtres en mmoire centrale. A ce stade, on est pass au deuxime tat de la base : base non monte.
b. Base non monte

Dans cet tat, les paramtres sont lus et stocks en mmoire.


c. Base monte

Le fichier de contrle est lu. La cohrence de la base va tre value dans cet tat. En particulier, on va pouvoir dterminer si la base peut tre ouverte (tat suivant) sans rcupration de donnes.
d. Base ouverte

Les fichiers de donnes (DATAFILE) sont accessibles. Les utilisateurs (identifis dans la base) peuvent accder ces fichiers de donnes. Cest ltat normal de fonctionnement de la base de donnes.

e. Base ferme

Lorsque lutilisation oprationnelle le permet, il est utile de fermer la base de donnes. Cela peut permettre par exemple de : Raliser des sauvegardes compltes de la base de donnes. Modifier certains paramtres du fichier dinitialisation. Il sagit de paramtres non dynamiques et ceux-ci seront pris en compte lors du dmarrage prochain. 3 Ouverture et fermeture dune base de donnes
a. Connexion AS SYSDBA ou AS SYSOPER

Les types de connexion SYSDBA et SYSOPER correspondent des super-utilisateurs . Ils possdent les droits dadministration. Ces deux types de connexion permettent deffectuer des tches dadministration que les utilisateurs normaux nont pas le droit deffectuer : Parmi ces tches, on peut lister les suivantes : Ouverture dune base Fermeture dune base Cration dune nouvelle base

Sous SQL*PLUS, la connexion en tant que SYSDBA ou SYSOPER seffectue par la commande suivante :
CONNECT sys/mot_de_passe AS SYSDBA | SYSOPER

Le compte SYS : Par dfaut, seul SYS est habilit demander une connexion AS SYSDBA ou AS SYSOPER. De plus, le compte SYS ne peut tre utilis pour une connexion normale (sans AS SYSDBA ni AS SYSOPER). Lauthentification SYSDBA ou SYSOPER peut tre vrifie de deux faons : par le systme dexploitation, par un fichier de mots de passe.
AUTHENTIFICATION au niveau du systme dexploitation

Lutilisateur doit appartenir un groupe de droits particulier. Ce groupe est automatiquement cr par linstallateur Oracle. Ce groupe sappelle ORA_DBA. Dans ce cas, la connexion AS SYSDBA ou AS SYSOPER peut tre tablie sans saisir de nom ni de mot de passe :
CONNECT / AS SYSDBA | SYSOPER

AUTHENTIFICATION par un fichier de mots de passe

Pour une authentification par un fichier de mot de passe, il faut crer un fichier de mots de passe grce lutilitaire ORAPWD fourni par Oracle :
ORAPWD FILE=nom PASSWORD=mot_de_passe ENTRIES=valeur

o :

FILE=nom

donne le nom et lemplaement du fichier de mots de passe. Ce fichier sappelle PWD<SID>.ORA et se trouve dans le rpertoire database.
PASSWORD=mot_de_passe

donne le mot de passe SYSDBA ou SYSOPER.


ENTRIES=valeur

donne le nombre maximum dutilisateurs qui pourront bnficier du privilge SYSDBA ou SYSOPER. Exemple :
C:\ORAPWD FILE=d:\Oracle\Ora90\database\pwdBIBLIO.ora PASSWORD=secret ENTRIES=5

b. Ouverture dune base de donnes

Pour ouvrir une base de donnes, il faut dmarrer linstance qui lui est associe. Cest par le biais de linstance que lutilisateur se connecte la base de donnes pour modifier et questionner les donnes. Le dmarrage de la base de donnes seffectue par lutilisation de la commande STARTUP dcrite par :
STARTUP [FORCE] [RESTRICT] [PFILE=fichier initialisation] { [OPEN] [RECOVER] /[MOUNT] [NOMOUNT] ;

O les options ont les significations suivantes:


FORCE

Si la base de donnes est dj ouverte, elle sera ferme, puis r-ouverte A nutiliser quen cas de force majeure.
RESTRICT PFILE OPEN

Exemple :

c. Fermeture dune base de donnes

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

4 Lister et modifier les paramtres Yyyyyyyyyyyyyyyyyyyy 5 Le contrle des sessions Yyyyyyyyyyyyyyyyyyyy 6 La surveillance des fichiers Alerte et Trace Yyyyyyyyyyyyyyyyyyyy

B. La cration de la base de donnes


1 Prparation de lenvironnement yyyyyyyyyyyyyyyyyyyy 2 Cration du fichier de paramtres texte (PFILE) yyyyyyyyyyyyyyyyyyyy 3 Cration du fichier de paramtres serveur (SPFILE) Yyyyyyyyyyyyyyyyyyyy 4 Commande SQL de cration Yyyyyyyyyyyyyyyyyyyy 5 Vues du dictionnaire de donnes Yyyyyyyyyyyyyyyyyyyy 6 Packages PL/SQL Yyyyyyyyyyyyyyyyyyyy 7 Utilisation de SQL*PLUS Yyyyyyyyyyyyyyyyyyyy 8 Exemple de scripts de cration dune base de donnes Yyyyyyyyyyyyyyyyyyyy

Chapitre3 : Structure Physique

A. Le fichier de contrle
1. Son fonctionnement Pendant louverture de la base de donnes, le fichier de contrle est consult pour retrouver les fichiers physiques constituant cette base de donnes. Sans le fichier de contrle, la base de donnes ne peut pas fonctionner. Le fichier de contrle contient la dfinition de tous les fichiers de la base de donnes. Il contient aussi la dfinition des journaux de reprise. En particulier, il contient la localisation de tous les fichiers dans le systme dexploitation hte (pour nous Windows). Pendant la cration de la base de donnes, Oracle effectue les actions suivantes : Enregistrer le nom de la base de donnes dans le fichier de contrle. Enregistrer la date de cration de la base de donnes dans le fichier de contrle. Dterminer la taille du fichier de contrle en fonction des praramtres : MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY, MAXDATAFILES et MAXINSTANCES.

Pendant louverture de la base de donnes, Oracle effectue les actions suivantes : Lire le fichier de contrle. Vrifier lexistence de lensemble des fichiers de donnes. Vrifier lexistence de lensemble des journaux de reprise. Renvoyer une erreur en cas de fichiers manquants.

Aprs louverture de la base de donnes, Oracle enregistre dans le fichier de contrle : La cration de nouveaux fichiers de donnes ou bien la nouvelle localisation des fichiers existants. La cration de nouveaux journaux de reprise en ligne. Le numro de squence du journal de reprise courant. Des informations sur le CHECKPOINT (criture sur disque des donnes modifies en mmoire).

Pour afficher le contenu du fichier de contrle (ou le recrer en cas de perte), utiliser la commande :
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Cette commande va crer un fichier utilisateur TRACE qui se trouvera dans le rpertoire dsign par le paramtre USER_DUMP_DEST et dont le contenu peut tre :
# The following commands will create a new control file and use it

# to open the datbase # Data used by the recovery manager will be lost. Additional logs may # be required for mrdia recovery of offline datafiles. Use this # only if the current version of all online logs are available STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE BIBLIO NORESETLOGS NOARCHICELOG MAXLOGFILES 8 MAXLOGMEMBERS 4 MAXDATAFILES 128 MAXINSTANCES 1 MAXLOGHISTORY 113 LOGFILE GROUP1 ( D:\ORACLE\ORADATA\BIBLIO\REDO01A.LOG, E:\ORACLE\ORADATA\BIBLIO\REDO01B.LOG, ) SIZE 20M, GROUP2 ( D:\ORACLE\ORADATA\BIBLIO\REDO02A.LOG, E:\ORACLE\ORADATA\BIBLIO\REDO02B.LOG, ) SIZE 20M, GROUP3 ( D:\ORACLE\ORADATA\BIBLIO\REDO03A.LOG, E:\ORACLE\ORADATA\BIBLIO\REDO03B.LOG, ) SIZE 20M, # STANDBY LOGFILE DATAFILE D:\ORACLE\ORADATA\BIBLIO\SYSTEM01.DBF, D:\ORACLE\ORADATA\BIBLIO\UNDOTBS01.DBF, D:\ORACLE\ORADATA\BIBLIO\DATA01.DBF, D:\ORACLE\ORADATA\BIBLIO\INDX01.DBF CHARACTER SET WE8ISO8859P1 ; # Recovery is required if any of the datafiles are restored backups, # or if the last shutdown was not normal or immediate. RECOVER DATABASE # Database can now be opened normally. ALTER DATABASE OPEN; # Commands to add tempfiles to temporary tablespaces. # Online tempfiles have complete space information. # Other tempfiles may require adjustement. ALTER TABLESPACE TEMP ADD TEMPFILE D:\ORACLE\ORADATA\BIBLIO\TEMP01.DBF REUSE; # End of tempfile additions

2. Le multiplexage des fichiers de contrle Si le serveur de base de donnes Oracle dispose de plusieurs disques, il est prfrable de stocker des copies multiples du fichier de contrle. Ceci permet dattnuer le risque de perdre le fichier de contrle. En effet, la perte du fichier de contrle peut poser des problmes importants pour restaurer la base de donnes. A cet effet, il suffit de fermer la base de donnes. Quand linstance est arrte, le fichier de contrle peut tre copi sur les diffrents disques du serveur. La valeur du paramtre CONTROL_FILES est modifie dans le fichier dinitialisation pour prendre en compte les

nouveaux fichiers de contrle. Quand la base de donnes est de nouveau ouverte, les informations nouvelles sont stockes sur les fichiers de contrle en miroir. 3. Les informations sur les fichiers de contrle La principale vue du dictionnaire de donnes qui va fournir des informations sur les fichiers de contrle est V$CONTROLFILE. Cette vue est compose de deux colonnes : STATUS et NAME. La premire colonne donne le statut actuel du fichier de contrle. Si la valeur de la colonne STATUS est INVALID, le fichier nest plus utilisable. Si la valeur de la colonne est NULL, le fichier de contrle est valide. Exemple : SQL> SELECT * FROM v$controlfile; STATUS NAME D:\ORACLE\ORADATA\BIBLIO\CONTROL01.CTL D:\ORACLE\ORADATA\BIBLIO\CONTROL02.CTL D:\ORACLE\ORADATA\BIBLIO\CONTROL03.CTL Une autre vue du dictionnaire des donnes donne des informations sur les fichiers de contrle : il sagit de V$DATABASE et plus particulirement des colonnes : CONTROLFILE_TYPE CONTROLFILE_CREATED CONTROLFILE_SEQUENCE# CONTROLFILE_CHANGE# : : : : Type de section dans le fichier de contrle. Date de cration du fichier de contrle courant. Numro de squence courant du journal de reprise enregistr dans le fichier de contrle. Numro de SCN (SYSTEM CHANGE NUMBER) courant enregistr dans le fichier de contrle.

Exemple : SQL> 2 3 4
CONTROL

SELECT

FROM
CONTROLF

controlfile_type, controlfile _created, controlfile_sequence#,controlfile_chnage#, controlfile_time v$database ;


CONTROLFILE_SEQUENCE# CONTROLFILE_CHANHE# CONTROLF

------------CURRENT

-------------12/08/02

----------------------------------1851

-------------------------------539407

-------------12/09/02

Une dernire vue du dictionnaire de donnes, dont le nom est V$CONTROLFILE_RECORD_SECTION, donne des informations sur les diffrentes sections du fichier de contrle. Chaque section est dsigne sous le nom de colonne TYPE. Pour chaque section, la vue donne la taille de lenregistrement en octets, le nombre denregistrements allous pour cette cette section, le nombre denregistrements utiliss par cette section. SQL> 2 SELECT FROM type, record_size, records_total, records_used v$controlfile_record_section

3
TYPE

WHERE

ROWNUM < 7;
RECORD_SIZE RECORDS_TOTAL RECORDS_USED

---------------------------DATABASE CKPT REDO THREAD REDO LOG DATAFILE FILENAME

------------------

-----------------------------------

--------------------------

B. Les journaux de reprise (REDO LOG)


1. Le fonctionnement yyyyyyyyyyyyyyyyyyyy

a. Les journaux de reprise en ligne et archivs

Les journaux de reprise stockent les donnes modifies et valides par les utilisateurs de la base de donnes. Chaque fois quun utilisateur modifie les donnes dans la base, il cre un petit enregistrement qui est stock dans le 2. Les journaux de reprise et les points de contrle Yyyyyyyyyyyyyyyyyyyy 3. Le multiplexage des journaux de reprise Yyyyyyyyyyyyyyyyyyyy 4. Les informations sur les journaux de reprise Yyyyyyyyyyyyyyyyyyyy

c. Loutil dadministration SQL*PLUS

Zzzzzzzzzzzzzzzzzzzzzzz Exemple : zzzzzzzzzzzzzzzzzzzzzzzz


d. Oracle Enterprise Manager

Zzzzzzzzzzzzzzzzzzzzzzz
j. Oracle Enterprise Manager en mode autonome

wwwwwwwwwwwwwwwwwwwwwwwwwww.

iv.

Oracle Enterprise Manager et Oracle Management Server

wwwwwwwwwwwwwwwwwwwwwwwwwww.

Das könnte Ihnen auch gefallen