Instance
| Fiche express | |
|---|---|
| Type | Composant Oracle Database (mémoire + processus) |
| États | NOMOUNT · MOUNT · OPEN |
| Vues clés | V$INSTANCE, V$SGA, V$PARAMETER, V$VERSION |
| Voir aussi | Oracle · SGA · PGA · Oracle net |
Une instance Oracle est l'ensemble des structures mémoire (SGA/PGA) et des processus d'arrière-plan qui permettent d'accéder à une base de données. Elle est distincte de la base elle-même (les fichiers physiques) : une instance peut exister sans base ouverte (état NOMOUNT), et en configuration RAC plusieurs instances peuvent servir la même base partagée. Voir Oracle pour la vue d'ensemble de l'architecture.
Cycle de vie
Le démarrage d'une instance se fait en trois étapes :
- Démarrage de l'instance (NOMOUNT) : allocation de la SGA, lancement des processus
d'arrière-plan, lecture du fichier de paramètres. Aucun fichier de contrôle n'est encore lu.
- Montage de la base (MOUNT) : lecture des fichiers de contrôle, la base est identifiée
mais ses fichiers de données ne sont pas encore accessibles aux utilisateurs.
- Ouverture de la base (OPEN) : les fichiers de données et de journalisation sont
ouverts, récupération instance éventuelle effectuée, la base est accessible normalement.
L'arrêt suit la séquence inverse : fermeture de la base, démontage, arrêt de l'instance.
États
- NOMOUNT : instance démarrée seule, sans base montée (utile pour créer une base ou
recréer un fichier de contrôle).
- MOUNT : base montée mais fermée aux utilisateurs (utile pour les opérations de
restauration, changement de mode ARCHIVELOG, renommage de fichiers).
- OPEN : base ouverte et accessible normalement.
Démarrage (startup)
startup [ NOMOUNT | MOUNT [nom_base] | OPEN [nom_base] ] [RESTRICT] [PFILE=fichier]
L'option RESTRICT n'ouvre la base qu'aux utilisateurs disposant du privilège
système RESTRICTED SESSION — pratique pour effectuer une maintenance sans
qu'un utilisateur normal ne se connecte entre-temps.
- Repasser une base en mode non restreint :
alter system disable restricted session;
- Monter puis ouvrir manuellement une base déjà démarrée en NOMOUNT :
alter database mount; alter database open;
Arrêt (shutdown)
shutdown [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ]
- NORMAL (par défaut) : attend que toutes les sessions se déconnectent d'elles-mêmes —
rarement utilisable en pratique.
- TRANSACTIONAL : attend la fin des transactions en cours, empêche les nouvelles.
- IMMEDIATE : coupe les sessions et annule (rollback) les transactions en cours ; c'est
l'arrêt propre le plus courant en exploitation.
- ABORT : coupe immédiatement l'instance sans rollback ni checkpoint — équivalent d'un
crash contrôlé, nécessite une récupération d'instance au redémarrage. À réserver aux cas où
shutdown immediate reste bloqué.
Contrairement à NORMAL/TRANSACTIONAL/IMMEDIATE, un shutdown abort n'a pas d'état
intermédiaire : il coupe tout de suite.
- Voir les sessions connectées avant un arrêt :
select * from v$session;
Vérifier l'état
select instance_name, database_status, instance_role, status from v$instance;
Depuis Oracle 12c (architecture multitenant, CDB/PDB), pour basculer le contexte de session vers une base connectable (PDB) donnée :
alter session set container=nom_pdb;
Voir aussi
- Oracle — panorama général de l'architecture Oracle
- SGA — mémoire partagée de l'instance
- PGA — mémoire privée des processus
- Oracle net — connexion réseau à l'instance via le listener