Vous êtes sur la page 1sur 4

Administration de Bases de Donnees TP 2

A.M. Bouchet & I. Mougenot & T. Libourel

1. Retour sur d
emarrage et arr
et dune instance
Pour rendre une base accessible, il faut demarrer une instance et ouvrir la base de donnees avec cette instance.
Il y a trois grandes phases dans le processus de demarrage :
1. demarrage de linstance, (etat NOMOUNT)
2. montage de la base de donnees, (etat MOUNT)
3. ouverture de la base de donnees (etat OPEN).
De meme il y a trois grandes phases dans le processus darret :
1. fermeture de la base de donnees.
2. demontage de la base de donnees,
3. arret de linstance.

1.1

D
emarrage

Commande SQL*Plus

STARTUP [NOMOUNT/ MOUNT nombase / OPEN nombase]


[RESTRICT] [PFILE=nomfichier]
-- RESTRICT restreint lacc`
es de la base aux utilisateurs ayant le droit Restricted Session
-- PFILE nom du fichier de param`
etres `
a utiliser

Tester la commande STARTUP NOMOUNT Demarrage linstance mais sans associer une base de donnees .. Tester la
commande STARTUP MOUNT Demarrer linstance et monter la base de donnees (`a des fins dadministration) Tester la
commande STARTUP Demarrer linstance et ouvrir la base aux utilisateurs
On peut modifier letat de disponibilite dune base par la commande ALTER DATABASE

1.2

Arr
et

Commande SQL*Plus
SHUTDOWN [NORMAL/ IMMEDIATE / TRANSACTIONAL / ABORT]
Tester les modifications de niveau de disponibilite .. ALTER DABATASE [nombase] MOUNT ; passage de NOMOUNT
`a MOUNT
ALTER DABATASE [nombase] OPEN ; passage de MOUNT `a OPEN
Rque : on ne peut que monter le niveau pas abaisser
Verifier les informations sur le dictionnaire de donnees : Dans letat NOMOUNT V$Instance, V$parameter, V$SGA,
V$Version, V$Option
Dans V$instance, les colonnes STATUS donne letat de linstance et la colonne LOGINS precise si les connexions sont
autorisees ou restreintes. Dans letat MOUNT V$DATABASE Dans letat OPEN V$session, PRODUCT COMPONENT
VERSION
La supervision des utilisateurs connectes est faite avec V$session ... consulter chaque attribut.
Rque : vous pouvez connaitre lordre SQL execute en realisant une jointure avec V$SQLAREA (sur lattribut SQL ID)
1

Master IFPRU - 2007-2008

Tester la commande SHUTDOWN (avec les differentes options possibles) Rque : dans des scripts par exemple de sauvegarde utiliser SHUTDOWN IMMEDIATE

2. Automatisation
Les fichiers de parametres sont situes dans le repertoire $ORACLE HOME/dbs on voit en particulier : spfile< SID >.ora
et init.ora
repertoire pfile dans /oracle/admin/< SID >. Les bases de donnees peuvent etre demarrees ou arretees automatiquement
grace `a des scripts. (Ces scripts appellent les scripts fournis par Oracle dbstart et dbshut)

3. Cr
eation dune nouvelle base de donn
ees
Le processus complet de creation dune base de donnees pour un contexte donne comporte les grandes etapes suivantes :
1. Conception
Il faut reflechir aux types dutilisation prevus (et bien s
ur aux types dutilisateurs qui vonst se connecter). Etudier le
schema et la volumetrie de lapplication (nombre dutilisateurs, nombre de tables, nombre de n-uplets prevus , nombre
de procedures, triggers ...)
En general une base Oracle comporte quatre types de compte :
(a) administrateur Compte beneficiant des privil`eges syst`eme et acc`es complet au dictionnaire de donnees ( `a gerer `a
partir de role DBA)
(b) createur de schema Compte beneficiant de privil`eges syst`emes pour la creation des divers types dobjets necessaires
et poss`edant des quota sur au moins un tablespace (`a gerer par roles)
(c) developpeur Prevoir un tablespace dedie et deinir des quota sur ce tablespace.
(d) utilisateur final Peu de privil`eges syst`eme necessaires : CREATE SESSION (obligatoire), ALTER SESSION
peuvent suffire. Privil`eges objet sur les objets du schema applicatif (`a laide de role).
Utilisation des profils pour contr
oler lutilisation des ressources et mettre en uvre une politique de gestion de
mots de passe.
2. Creation de la base Cette etape comporte :
(a) Creer une nouvelle instance
(b) Creer la base (fichiers de contr
ole, de journalisation, de donnees et tablesspaces specifiques Oracle) ... on cree en
fait lenveloppe vide de la base
(c) Rendre le dictionnaire de donnees exploitable
3. Creer les structures de stockage (tablespaces et fichiers associes)
4. Creer les comptes Oracle necessaires
5. Creer les objets
6. Sauvegarde de la base
Vous devrez reflechir au cas suivant.

On souhaite realiser une application correspondant `a la mise en place du syst`eme dinformation relatif `a un laboratoire de recherche. Celui-ci est pilote par une equipe de direction et comporte plusieurs
departements : departement administratif, departement technique syst`eme-reseaux, departements de recherche. Chaque departement a un responsable. Chaque departement de recherche comporte des equipes.
Une equipe comporte un responsable et des membres. Les personnels comportent des chercheurs, des
enseignants-chercheurs, des personnels techniques et administratifs.
Le syst`eme dinformation a un directeur operationnel qui coordonne la gestion globale des informations.
Ce directeur a donc la responsabilite de creer le schema global (en accord avec les dievrs responsables) et
les services dexploitation de celui-ci. Les informations sont collectees au niveau de chaque responsable qui
peuvent transmettre une partie de leur privil`ege `a des membres cibles.
(Nombre de departements 3, nombre dequipes par departement de recherche : 10, nombre de membres
total du laboratoire 150, les informations recensees comportent les renseignements sur les membres du
laboratoire, la description des departements, des equipes, de leurs th`emes).

Master IFPRU - 2007-2008

3.1

La cr
eation de la base pourra
etre effectu
ee `
a la main :

1. creer les repertoires sur le disque Penser `


a creer un repertoire dadministration admin (qui contient en general des
sous repertoires adhoc (pour les scripts dadminsitration),create (scripts de creation), pfile (fichiers de param`etre texte)
bdump, cdump, udump , et un repertoire de donnees oradata dans $ORACLE BASE
2. Preparer un fichier de param`etres texte inet.ora (dans pfile) Consulter une exemple Attention le nombre de param`etres
est eleve (> 250) Les principaux : DB NAME
DB DOMAIN
COMPATIBLE
CONTROL FILES (en general 2)
DB BLOCK SIZE (4,8,16,32)
SGA MAX SIZE (en K, M ou G)
SGA TARGET (en K, M ou G)
SHARED POOL SIZE (en K, M ou G)
JAVA POOL SIZE (en K, M ou G)
DB CACHE SIZE (defaut 64 M)
LOG BUFFER (defaut 512 K)
PGA AGGREGATE TARGET (en K, M ou G)
OPEN CURSORS (defaut 50)
PROCESSES (nbre maximum de processus connectes simultanement `a linstance)
SESSIONS (en general derivee du PROCESSES*1.1)
NLS LANGUAGE (langage par defaut de linstance)
NLS TERRITORY (territoire format de date, separateurs en dependent)
UNDO MANAGEMENT ( AUTO ou MANUAL)
UNDO TABLESPACE (nom du tablespace dannulation par defaut)
BACKGROUND DUMP DEST (repertoire des traces de processus darri`ere plan ... bdump)
USER DUMP DEST (repertoire des traces des processus utilisateurs .... udump)
LOG ARCHIVE DEST (destination fichiers de journalisation)
REMOTE LOGIN PASSWORDFILE (selon la strategie adoptee pour lidentifications SYSDBA ou SYSOPER - valeurs
possibles NONE, EXCLUSIVE, SHARED)
3. Creer le service associe `
a linstance (Windows) ou creer le fichier mot de passe (Unix,Linux) Sous Windows utiliser
ORADIM -NEW -SID <sid> [-INTPWD <motdepasse> ou SYSPWD <motdepasse>]
[-MAXUSERS <nombre>]
[-STARTMODE <auto/manual>] [-SRVCSTART <system/demand]
[-PFILE <nomfichier] [-SPFILE]
[SHUTMODE <normal/immediate/abort>] [-TIMEOUT <duree>]

exemple
ORADIM NEW -SID Mabase -SYSPWD wx#12 -STARTMODE a -SRVCSTART s -SPFILE
Sous Unix, Linux creer le fichier de mot de passe avec lutilitaire ORAPWD
ORAPWD FILE=<nomfichier> PASSWORD=<motdepasse> ENTRIES=<nombre> FORCE=<Y/N>
exemple
ORAPWD FILE=$PWFILE PASSWORD=wx#12 ENTRIES=4 FORCE=Y
4. Lancer SQL*PLUS et se connecter AS SYSDBA SQLPLUS /nolog CONNECT sys/wx12 AS SYSDBA
5. Creer le fichier de param`etre serveur
CREATE SPFILE [ = nom_spfile] FROM PFILE [= nom_pfile] ;
exemple
CREATE SPFILE FROM PFILE = d:\oracle\admin\Mabase\pfile\init.ora ;
6. Demarrer linstance La base nexistant pas encore demarrer linstance par STARTUP NOMOUNT.

Master IFPRU - 2007-2008

7. Creer la base
Ordre SQL
CREATE DATABASE [nombase]
[USER SYS IDENTIFIED BY <motdepasse>]
[USER SYSTEM IDENTIFIED BY <motdepasse>]
[CONTROLFILE REUSE]
[SET DEFAULT {BIGFILE/SMALLFILE} TABLESPACE}]
[DATAFILE <nom fichier]
[EXTEND ...
[SYSAUX DATAFILE <nomfichier> ...
...
....
[DEFAULT TABLESPACE <nom> ...
[DATAFILE <nom fichier]
...
[MAXINSTANCES <nombre>]
...
;
8. Configurer Oracle Net pour la nouvelle base de donnees
Modifier la configuration du processus decoute (fichier listener.ora)
Creation dun nom de service reseau (fichier tsnames.ora)
Rques : - sous Unix/linux, enregistrer la nouvelle instance dans le fichier oratab - retrouver les informations avec
v$DATABASE et DATABASE PROPERTIES

3.2

La cr
eation de la base pourra
etre effectu
ee `
a laide de lassistant graphique

Demarrer lapplication et suivre ...