Vous êtes sur la page 1sur 30

Administration des Bases de

Données

GESTION D’UNE
INSTANCE ORACLE

8-1 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Démarrer une base de données Oracle

Pour rendre une DB accessible à tous les


utilisateurs, il faut démarrer une instance et
ouvrir la DB avec cette instance. Il y a trois
grandes phases dans le processus de
démarrage:

- démarrage de l'instance;
- montage de la BD;
- ouverture de la BD.
8-2 Copyright © Oracle Corporation, 2001. Tous droits réservés.
Démarrer une base de données Oracle ….

Une instance peut être démarré avec 3 niveaux successifs de


disponibilité de la BD, correspondant au 3 niveaux du
démarrage:

• Instance démarrée (état NOMOUNT);


• BD montée (état MOUNT);
• BD ouverte (état OPEN).

8-3 Copyright © Oracle Corporation, 2001. Tous droits réservés.


8-4 Copyright © Oracle Corporation, 2001. Tous droits réservés.
STARTUP NOMOUNT

Démarre l’instance sans monter la base de données. Dans ce


mode, le fichier de paramétrage est lu, les processus sont
en arrière plan, les structures mémoires sont initialisées,
mais ils ne sont pas attachés et ne communiquent pas.

Dans ce cas, la base de données ne peut pas être utilisée. Si


la base est montée en NOMOUNT, certaines tâches
peuvent être effectuées. Accéder au fichier contrôle file,
problèmes de démarrage.

8-5 Copyright © Oracle Corporation, 2001. Tous droits réservés.


[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 28 18:13:16 2015

Copyright (c) 1982, 2009, Oracle. All rights reserved.

Connected to an idle instance.


SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1620115456 bytes


Fixed Size 2213816 bytes
Variable Size 1006635080 bytes
Database Buffers 603979776 bytes
Redo Buffers 7286784 bytes
SQL>

8-6 Copyright © Oracle Corporation, 2001. Tous droits réservés.


STARTUP MOUNT

Dans ce mode, les interactions dans la base de données ont lieu.

A ce point, Oracle obtient des informations sur les fichiers de


contrôle et nous pouvons maintenir les fichiers.

Nous pouvons physiquement modifier l’emplacement des fichiers.

8-7 Copyright © Oracle Corporation, 2001. Tous droits réservés.


SQL> startup mount;
Instance ORACLE lancee.

Total System Global Area 1620115456 bytes


Fixed Size 2213816 bytes
Variable Size 1006635080 bytes
Database Buffers 603979776 bytes
Redo Buffers 7286784 bytes
Base de donnees montee.
SQL>

8-8 Copyright © Oracle Corporation, 2001. Tous droits réservés.


STARTUP OPEN

C’est le mode de démarrage par défaut.

SQL> startup open;


Instance ORACLE lancee.

Total System Global Area 1620115456 bytes


Fixed Size 2213816 bytes
Variable Size 1006635080 bytes
Database Buffers 603979776 bytes
Redo Buffers 7286784 bytes
Base de donnees montee.
Base de donnees ouverte.
SQL>
8-9 Copyright © Oracle Corporation, 2001. Tous droits réservés.
STARTUP FORCE
Vous pouvez utilisez cette option si vous
avez des difficultés pour démarrer une base
de données. Cette option peut être utilisée
quand le démarrage d’une base avec
l’option classique ne marche pas. Cette
option effectue une shutdown abort et un
restart de la base.

8-10 Copyright © Oracle Corporation, 2001. Tous droits réservés.


STARTUP RESTRICT
L’option RESTRICT démarre la base de données et la
place en mode ouvert, mais donne accès seulement
aux utilisateurs qui ont les privilèges RESTRICTED
SESSION.
Si vous souhaitez ouvrir une base, effectuer des
modifications, tel que tunning, et que personne ne se
connecte, alors il faut l’ouvrir dans ce mode.
Cela permet aussi d’effectuer des imports et exports
sans que personne ne se connecte sur la base. Après
avoir effectué tous les travaux, vous pouvez annuler la
restriction de session avec la commande suivante et
des utilisateurs peuvent se connecter :

8-11 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Sql> alter sytem disable restricted session;

NB: Pour verifier le status de logins:

Sql> select logins from v$instance;

NB: Pour balancer en mode restricted session:

Sql> sytem enable restricted session;

8-12 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Tableau récapitulatif :

Commandes Description

STARTUP NOMOUNT démarre oracle en NOMOUNT utilisant


pfile=/u1/oracle/init.ora fichier init.ora

démarre oracle en MOUNT utilisant le


STARTUP MOUNT
fichier par défaut

démarre oracle en OPEN utilisant par


STARTUP OPEN
défaut le fichier pfile ou spfile

STARTUP RESTRICT startup en mode restrictif

STARTUP FORCE force ouverture de base

STARTUP OPEN startup par défaut

8-13 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Pfile et spfile
• Pendant des siècles, Oracle a maintenu un fichier texte appelé pfile
(init.ora) pour stocker les paramètres d'initialisation de la base de
données, qui seraient lus au moment du démarrage de l'instance
pour obtenir les caractéristiques de l'instance qui doit être créée par
Oracle pour la base de données spécifiée. Toutes les modifications
apportées à ce pfile ne prendront effet que lorsque vous redémarrez
la base de données; cependant, les paramètres qui étaient
dynamiquement modifiables pouvaient être modifiés à l'aide de
l'instruction ALTER SYSTEM ou ALTER SESSION appropriée, qui
prendrait effet immédiatement.
• Néanmoins, il convient de mentionner que ces paramètres devront
être définis chaque fois que vous redémarrerez l'instance, car les
paramètres modifiés dans ce processus dureraient toute la durée de
vie de l'instance ou de la session en fonction du type de l'instruction
émise.

8-14 Copyright © Oracle Corporation, 2001. Tous droits réservés.


• Pour surmonter sa limitation, Oracle a mis au point une nouvelle
fonctionnalité appelée spfile (server parameter file).

• Le fichier spfile peut être considéré comme un fichier de contrôle


utilisé par Oracle pour stocker les paramètres d'initialisation. Oracle
écrit et lit dans ce fichier binaire. Le spfile est un fichier de paramètres
d'initialisation côté serveur; les paramètres stockés dans ce fichier
sont persistants lors des démarrages de la base de données. Cela
rend persistantes toutes les modifications apportées à l'instance à
l'aide de l'instruction ALTER SYSTEM. Alors, adieu les modifications
manuelles du pfile. Toutefois, Oracle nécessite que vous démarriez
une instance pour la première fois à l'aide du pfile, puis que vous
créiez le spfile.

• Oracle vous recommande vivement de créer le fichier spfile comme


moyen dynamique de stocker les paramètres d'initialisation.

8-15 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Creating the spfile
Par défaut, une base de données travaillerait sur un pfile, donc le spfile
doit être créé à partir du pfile à l'invite SQL. Toutefois, la base de
données commence à utiliser le fichier spfile uniquement lorsque vous
redémarrez ultérieurement la base de données à l'aide du fichier spfile
créé. Le fichier spfile est créé à l'aide de l'instruction CREATE SPFILE;
cela nécessite les privilèges SYSDBA ou SYSOPER.

SQL> CREATE SPFILE FROM PFILE;

Ceci est la forme la plus simple de l'instruction CREATE SPFILE. Il crée


un fichier spfile dans le répertoire par défaut (dépendant d'O / S,
généralement $ORACLE_HOME /dbs/ sur les plates-formes linux) à
partir du fichier pfile situé dans le répertoire par défaut. Le fichier est
nommé spfile$ORACLE_SID.ora.
Si un fichier spfile existe déjà dans le répertoire de destination, il est
écrasé, mais s'il est utilisé par l'instance, il renvoie l'erreur suivante.

8-16 Copyright © Oracle Corporation, 2001. Tous droits réservés.


SQL> CREATE SPFILE FROM PFILE;
CREATE SPFILE FROM PFILE
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

E.g: la syntaxe suivante crée un spfile dans un emplacement


autre que celui par défaut à partir d'un pfile situé dans un
emplacement autre que celui par défaut; si le chemin dans la
clause SPFILE ou PFILE n'est pas spécifié, Oracle utilise le
répertoire par défaut comme chemin,

SQL> CREATE SPFILE= 'c:\spfile_mydb.ora' FROM


PFILE= 'c:\admin\initBUDGET.ora';

8-17 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Bug
après la création d'un fichier spfile lorsque vous arrêtez la base de
données pour redémarrer, vous rencontrez une erreur qui vous oblige à
vous reconnecter et à utiliser la commande STARTUP. Regardez le
scénario de test ci-dessous:
SQL> CREATE SPFILE= 'c:\spfile_mydb.ora' FROM
PFILE= 'c:\admin\initBUDGET.ora';
File created.

SQL> shutdown immediate;


Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORA-03113: end-of-file on communication channel

8-18 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Solution: il vous suffit de vous
reconnecter en tant que SYSDBA et
d'utiliser la commande STARTUP,
jusqu'à ce qu'un correctif soit
disponible.

8-19 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Utilisation du spfile
Après que le fichier spfile soit prêt, nous devons faire en sorte que
la base de données l'utilise. Cela peut être fait de différentes
manières avec la cmd STARTUP.
la commande recherche maintenant les fichiers suivants dans cet
ordre:
1) Recherchez le fichier spfile$ORACLE_SID.ora à l'emplacement
par défaut,
2) S'il n'existe pas, il recherche le fichier spfile.ora; et
3) Si ce fichier n'est pas trouvé non plus, il recherche le fichier pfile
par le nom init$ORACLE_SID.ora

8-20 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Démarrage de la base de données avec
pfile / spfile
Oracle commence par défaut à rechercher le fichier spfile à
l'emplacement par défaut. Si vous voulez remplacer cela et démarrer
votre base de données avec un pfile, vous avez deux options pour cela -
soit vous supprimez le spfile et démarrez votre base de données (pfile
doit être situé dans le chemin par défaut), soit vous utilisez l'option PFILE
du STARTUP cmd comme suit:

SQL> startup pfile = 'd:\pfile_mydb.ora';

Vous ne pouvez pas démarrer la base de données en spécifiant spfile à


la place de pfile comme dans la commande précédente - Oracle ne le
permet pas. Vous devez éventuellement créer un pfile contenant le
paramètre SPFILE qui pointera vers l'emplacement du spfile comme
expliqué ci-dessous
SQL> startup pfile='d:\spfile_mydb.ora';

8-21 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Arrêter une base de données Oracle

De même, il y a trois grandes phases dans le


processus d'arrêt:

• fermeture de la BD;
• démontage de la BD;
• arrêt de l'instance.

8-22 Copyright © Oracle Corporation, 2001. Tous droits réservés.


l'instruction shutdown
Pour arrêter normalement une instance,
connectez vous avec SQL*PLUS en respectant
la procédure suivant puis utilisez la commande
shutdown sans argument. Vous ne pourrez
arrter la base que si touts les utilisateurs sont
séconnectés. Dans le cas contraire, vous
resterez bloqué jusqu'à ce que le dernier
utilisateur se déconnecte.

8-23 Copyright © Oracle Corporation, 2001. Tous droits réservés.


[oracle@localhost ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Tue Oct 27


15:24:36 2015

Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL> connect sys/exploitation as sysdba;


Connected to an idle instance.
SQL>
SQL> shutdown
• Base de donnees fermee.
• Base de donnees demontee.
• Instance ORACLE arretee.

8-24 Copyright © Oracle Corporation, 2001. Tous droits réservés.


L'administrateur peut aussi utiliser RMAN pour arrêter une instance. Dans ce cas,
la connexion avec le privilège sysdba est implicite et ne doit pas être
mentionnée.

[oracle@localhost ~]$ rman target sys/exploitation

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Oct 27 15:58:30 2015

Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.

connected to target database (not started)

RMAN> shutdown

using target database control file instead of recovery catalog

• database closed
• database dismounted
• Oracle instance shut down
RMAN>
8-25 Copyright © Oracle Corporation, 2001. Tous droits réservés.
L'administrateur peut aussi utiliser
l'interface graphique d'OEM pour
arreter une instance. Vous pouvez
également utiliser OEM Grid Control
qui assure la gestion centralisée des
groupes d'hotes, de bases de
donneés, de serveurs d'applications,
d'application web....

8-26 Copyright © Oracle Corporation, 2001. Tous droits réservés.


l'instruction shutdown immediate
Vous pouvez utiliser l'instruction shutdown immediate

SQL> shutdown immediate;


Base de donnees fermee.
Base de donnees demontee.
Instance ORACLE arretee.
SQL>
Avec une instruction shutdown immediate:
- aucune nouvelle connexion ni aucune nouvelle transaction ne sont
autorisées;
- les transactions n'ayant pas fait objet d'un commit sont annulées par
rollback;
- les utilisateurs sont déconnectés;
- lors du redémarrage de la base, la procédure de recovery de l'instance sera
ignorée.
8-27 Copyright © Oracle Corporation, 2001. Tous droits réservés.
l'instruction shutdown abort
SQL> shutdown abort;
Instance ORACLE arretee.
SQL>
Avec une instruction shutdown abort:
- aucune nouvelle connexion ni aucune nouvelle transaction ne sont
autorisées;
- les instructions SQL en cours sont immédiatement terminées;
- les transactions n'ayant pas fait objet d'un commit sont annulées par
rollback;
- les utilisateurs sont déconnectés;
- lors du redémarrage de la base, la procédure de recovery de
l'instance sera automatiquement appelée.

8-28 Copyright © Oracle Corporation, 2001. Tous droits réservés.


Important !!!
Après un shutdown abort, vous devrez faire un
startup/shutdown immediate/startup afin de permettre à
Oracle de retrouver sa cohérence. Ce cyle force Oracle
a nettoyer les data files pour qu'ils soient cohérents.

SQL> shutdown abort ; --Abort a database instance


SQL> startup ;
SQL> shutdown immediate ;
SQL> startup ;

8-29 Copyright © Oracle Corporation, 2001. Tous droits réservés.


l'instruction shutdown transactional
SQL> shutdown transactional;
– Base de donnees fermee.
– Base de donnees demontee.
– Instance ORACLE arretee.
– SQL>
Avec une instruction shutdown transactional:
- aucune nouvelle connexion ni aucune nouvelle transaction ne
sont autorisées;
- apres que toutes les transaction sont terminées, tous les clients
sont déconnectés; cependant, avec le mode transactional, les
utilisateurs n'ont pas besoin d'etre déconnectés.
- lors du redemarrage de la base, la procédure de recovery de
l'instance ne sera pas automatiquement appelée.
8-30 Copyright © Oracle Corporation, 2001. Tous droits réservés.

Vous aimerez peut-être aussi