Démarrage et Arrêt




Démarrage de la base Oracle

Le démarrage de l'instance et l'ouverture de la base de données se fait grâce à la commande STARTUP.
  • $ sqlplus /nolog
    SQL> connect sys/password as sysdba
    SQL> startup
Remarque:

Si vous rencontrez une erreur "ORA-01031 : Insuffisent privilège" en tentant de vous connecter à Oracle via le compte SYS, sachez bien qu'il est fort probable que le mot de passe de SYS  dans la base de données ne coincide pas avec celui du fichier de mot de passe.
Lancez alors la commande suivante pour recréer le fichier de mot de passe :
$ orapwd file=$ORACLE_HOME/dbs/orapw<SID> password=new_passwd entries=max_users
Au préalable, supprimez l'ancien fichier de mot de passe orapwSID
Le compte SYS doit avoir le mot de passe new_passwd :
SQL> connect / as sysdba (authentification par l'OS expliquée ci-après)
SQL> grant connect to SYS identified by new_passwd ;
La vue v$pwfile_users permet de lister les comptes ayant le privilège SYSDBA
Notez tout de même que sous Windows, si l'authenfication par fichier de mot de passe echoue, l'authenification par l'OS est tentée automatiquement et passe avec succès si vous êtes membre du groupe Windows ORA_DBA
Pour vous connecter par une authentification via l'OS (le système d'exploitation), vous entrez :
  • SQL> connect / as sysdba
cette connexion est possible si vous accédez localement au Serveur Oracle (accès Terminal) via un compte du groupe DBA du système Unix (ou ORA_DBA pour Microsoft Windows).
La commande STARTUP peut être lancée avec ou sans le paramètre PFILE :
Avec la commande :
  • SQL> STARTUP PFILE = $ORACLE_HOME/dbs/initXXX.ora
C’est l'instance <XXX> qui sera démarrée et la base associée sera ouverte.
En l'absence du paramètre PFILE dans la commande suivante :
  • SQL> STARTUP
c'est l'instance <SID> par défaut qui sera démarrée. Le SID est défini dans la variable d'environnement $ORACLE_SID.
SID est l'identificateur système de l'instance (par exemple: ORCL).
Pour un Startup/Shutdown via  Enterprise Manager, vous serez appelés à entrer les informations suivantes :
  • informations d'identification de l'hôte (Host Credentials): c'est à dire un compte du groupe DBA (pour UNIX) ou ORA_DBA (pour Microsoft Windows). Généralement, c'est le compte avec lequel vous avez fait l'installation d'Oracle Database.
  • informations d'identification pour la  connexion à la base (Database Credentials): c'est le compte Oracle ayant le privilège SYSDBA. Généralement c'est le compte SYS.
Processus de démarrage STARTUP

Le processus de démarrage STARTUP passe par 3 niveaux :
  1. Niveau 1 : NOMOUNT, c'est le démarrage de l'instance (sga et  processus d'arrière plan) et ouverture du fichier alert<SID>.log et des fichiers trace
    • A l'état NOMOUNT, le fichier de paramètres est recherché dans cet ordre (si l'un n'existe pas le suivant est recherché):
      spfile<SID>.ora
      spfile.ora
      init<SID>.ora
  2. Niveau 2 : MOUNT, c'est le démarrage de la base associée à l'instance (parametre db_name du fichier (S)PFILE):
    • ouverture des Fichier de Controle
    • montage des Fichiers de Données et des Fichiers de Journalisation en ligne (noms et statu extraits du fichier de contrôle) sans être ouverts pour subir éventuellement des opérations de maintenance
  3. Niveau 3 : OPEN, c'est l'ouverture des Fichiers de Données et des Fichiers de Journalisation en ligne  :
    • le serveur Oracle vérifie à ce niveau la cohérence de la base de données. Si nécessaire, le processus SMON effectue la récupération d'instance si les Fichiers de Données et les Fichiers de Journalisation en ligne ne sont pas synchronisés avec le Fichier de Contrôle).
    • Si un fichier est manquant, le serveur Oracle renvoie une erreur et la base reste à l'état MOUNT en attente d'une intervention de maintenance.

En conclusion :

Pour maintenir les Fichiers de Contrôle de la base de données, elle doit être démarrée en mode NOMOUNT
Pour maintenir les Fichiers de Données et les Fichiers de Journalisation en ligne d'une la base de données, elle doit être démarrée en mode MOUNT (renommer un fichier de données, récupération complète de la base ...etc)

Modifier les paramètres SPFILE

La commande ALTER SYSTEM SET permet de modifier la valeur des paramètres de l'instance.
  • ALTER SYSTEM SET parameter_name = parameter_value
    [COMMENT 'text'] [SCOPE = MEMORY|SPFILE|BOTH]
    [SID= 'sid'|'*']
Le paramètre SCOPE indique si la modification du parameter_name  concerne l'instance courante (MEMORY) ou les prochains démarrages de l'instance (SPFILE) ou les deux (BOTH)
Le paramètre SID détermine le fichier SPFILE<SID> à modifier

De la même manière, la commande ALTER SYSTEM RESET permet d'effectuer une suppression d'un paramètre ou de rétablir sa valeur ORACLE par défaut

Arrêt de la base

  • c:\> sqlplus /nolog
    SQL> connect sys/password as stysdba

    SQL> SHUTDOWN  NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT
NORMAL : attend la déconnexion des sessions en cours (ce mode d'arrêt est le mode le plus lent) et interdit  les nouvelles demandes de connexion. C'est l'option appliquée  par défaut si la commande SHUTDOWN est lancée sans paramètre.
TRANSACTIONAL : attend que les utilisateurs terminent leurs transactions en cours.
IMMEDIATE : n'attend pas que les utilisateurs terminent leurs transactions en cours. Les transactions non validées sont annulées (rollback). C'est l'option d'arrêt cohérent la plus rapide.
ABORT : C'est l'équivalent d'une coupure de courant (c'est le mode d'arrêt le plus rapide) . Ce mode nécessite  une récupération de l'instance au prochain démarrage parce que la base est incohérente. En effet, les modifications non validées ne sont pas annulées et le cache de tampons de la base de données n'est pas écrit dans les fichiers de données.
Le mode ABORT  n'est recommandé qu'en cas d'echec des autres modes d'arrêt (NORMAL,TRANSACTIONAL et IMMEDIATE). Au prochain démarrage,  le processus SMON procède automatiquement à  la récupération d'instance.
Pour Les trois premiers modes, la base de donnée est cohérente et ne nécessite pas une récupération d'instance au prochain démarrage. Le cache de tampons de la base de données est écrit dans les fichiers de données et les ressources sont libérées.

Au démarrage de la base, le serveur Oracle démarre l'instance et puis monte et ouvre la base.
Durant l'arrêt cohérent, le serveur Oracle ferme et démonte la base et puis arrête correctement  l'instance.

Base de données en mode d'accès restreint

Pour accéder à la base en mode restreint pour faire une opération nécessitant la déconnexion de tous les utilisateurs (cas d'un import/export d'une base de données), la base ne sera accessible qu'aux utilisateurs disposant du privilège RESTRICTED SESSION.

Ce mode est activé soit au démarrage :
SQL> STARTUP RESTRICT
ou lorsque la base et ouverte :
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;

Ouvrir une base de données en mode lecture seule

SQL> STARTUP MOUNT
SQL> ALTER DATABASE OPEN READ ONLY;
Ce cas est utile si vous aiguillez une activité d'interrogation vers une base de données de secours pour et soulager La Base de Données de production.