IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Notes pour OCP 9i DBA1

Date de publication : 01/09/2004 , Date de mise a jour : 01/09/2004




3. Installation d'Oracle et gestion de l'instance


3. Installation d'Oracle et gestion de l'instance

Pour exécuter OUI (Oracle Universal Installer), lancer SETUP.EXE sous Windows, et runInstaller sous Unix.

OEM est un système complet d'administration et de supervision d'un environnement Oracle global.
A partir de la console OEM, il donne un accès à la fois aux bases de données, à Oracle 9iAS, aux modules d'écoute et aux divers outils d'administration, qui sont répartis sur des machines diverses à travers le réseau. OEM utilise un référentiel qui est une base Oracle, et nécessite qu'un processus dit agent intelligent tourne sur chaque serveur à administrer.

Si OEM est utilisé en mode autonome, c'est à dire sans référentiel ni agents intelligents, il ne permet d'administrer qu'une base à la fois et propose des fonctionnalités réduites.
Pour lancer la console OEM depuis la ligne de commande, taper "oemapp console"

Le compte administrateur du serveur OEM par défaut est SYSMAN/OEM_TEMP.

SYSDBA est un privilège système qui permet principalement de créer une nouvelle base, d'arrêter ou de redémarrer une base existante et de la sauvegarder.
DBA est un rôle très complet, mais qui ne permet pas de faire les opérations associées au privilège SYSDBA.

Dans une base fraîchement installée, seul le compte SYS est muni du privilège SYSDBA. SYSTEM ne possède pas ce privilège automatiquement.

Au démarrage d'une instance, le fichier de paramétrage est recherché dans %ORACLE_HOME%\DATABASE sous Windows (H:\oracle\ora92\database) ou $ORACLE_HOME/dbs sous Unix, soit sous forme SPFILE, soit sous forme PFILE.
Si la base ne démarre pas en raison d'un paramètre incorrect, aucune entrée n'est générée dans le fichier d'alerte.
Sous Windows, il faut alors consulter oradim.log dans %ORACLE_HOME%\DATABASE pour connaître le paramètre fautif, supprimer l'éventuel fichier SPFILE, et créer un PFILE valide.

Pour créer un SPFILE depuis un PFILE ordinaire, utiliser la commande CREATE SPFILE … FROM PFILE. Noter le signe "=" qui précède le nom des fichiers source et cible.

CREATE SPFILE='H:\Oracle\ora92\database\spfileOMS.ora' FROM PFILE='H:\Oracle\ora92\database\initOMS.ora'
L'utilitaire graphique "Oracle Administration Assistant for Windows NT" permet de visualiser les différents fils d'exécution du processus ORACLE.EXE, et si besoin de les arrêter sélectivement.

L'architecture OFA vise à séparer :

  • les différentes versions d'Oracle
  • les bases entre elles
  • les fichiers de données des fichiers de trace et de paramétrage
Authentification du DBA
Pour vérifier qu'un utilisateur est autorisé à se connecter comme SYSDBA, soit Oracle délègue cette tâche à l'OS, soit il utilise le fichier de mots de passe créé par l'utilitaire ORAPWD.
Lorsqu'on se connecte AS SYSDBA, on est placé automatiquement dans le schéma SYS.
Lorsqu'on se connecte AS SYSOPER, on est placé automatiquement dans le schéma PUBLIC.

Le choix du mode d'authentification dépend du paramètre d'initialisation REMOTE_LOGIN_PASSWORDFILE.

Si REMOTE_LOGIN_PASSWORDFILE=NONE, les comptes système membres du groupe "dba" sous Unix, et "ORA_DBA" sous Windows, sont considérés comme munis du privilège SYSDBA. Si on est connecté à l'OS sous l'un de ces comptes, on se connecte alors à Oracle, via SQL*Plus ou autre, sans spécifier de compte ni de mot de passe : CONNECT / AS SYSDBA
Avec NONE, on ne peut se connecter AS SYSDBA qu'en ayant ouvert une session OS directement sur le serveur. Aucune connexion AS SYSDBA distante n'est alors possible.

Sinon, le fichier de mots de passe, est utilisé pour valider les connexions en tant que SYSDBA. Les comptes qui figurent dans le fichier de mots de passe doivent être des comptes déclarés dans la base Oracle. (Le compte OS de la session utilisateur n'intervient pas dans ce cas).
Le fait de donner le privilège SYSDBA à un compte Oracle l'inscrit automatiquement dans le fichier de mots de passe. On ne peut pas entrer un utilisateur dans le fichier de mots de passe d'une autre manière.
Si REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE, chaque instance possède son propre fichier de mots de passe, et on peut y mettre autant de comptes Oracle que l'on souhaite.
Si REMOTE_LOGIN_PASSWORDFILE=SHARED, le fichier de mots de passe est partagé entre les différentes instances de la machine, mais il ne permet d'utiliser que le compte SYS.
Avec EXCLUSIVE et SHARED, on peut se connecter AS SYSDBA à distance.

Pour connaître le contenu du fichier de mots de passe, on peut consulter la vue V$PWFILE_USERS.

Démarrage d'une instance
Sous Windows, le service relatif à l'instance doit être actif pour qu'on puisse manipuler l'instance.


STARTUP FORCE s'utilise en cas de blocage de l'instance; il provoque un arrêt de la base avant de la redémarrer.
STARTUP OPEN READ ONLY démarre la base en lecture seule. Pour l'ouvrir en mode normal, faire ALTER DATABASE OPEN READ WRITE.
STARTUP RESTRICT ouvre la base en autorisant seulement l'accès aux utilisateur disposant du privilège RESTRICTED SESSION (généralement uniquement les DBA). Pour l'ouvrir en mode normal, faire ALTER SYSTEM DISABLE RESTRICTED SESSION. Le mode restreint est notamment utile pour faire un export cohérent.

L'état NOMOUNT sert principalement à la création d'une nouvelle base. Seules les vues relatives à l'instance sont accessibles (V$SGA, V$PARAMETER, etc)
L'état MOUNT provoque la lecture du fichier de contrôle, mais pas des fichiers de données. Il permet notamment de renommer différents fichiers. Les vues relatives à la structure des fichiers sont alors accessibles (V$CONTROLFILE, V$DATABASE, etc).


Si l'on passe une base en mode restreint par ALTER SYSTEM ENABLE RESTICTED SESSION, les sessions en cours ne sont pas touchées.

Modification des paramètres d'initialisation
En 9i, de plus en plus de paramètres sont dynamiques, surtout si l'on utilise un fichier SPFILE.
La vue V$PARAMETER contient les paramètres valables dans la session courante, alors que V$SYSTEM_PARAMETER contient les paramètres valable au niveau de l'instance. Les colonnes ISSES_MODIFIABLE et ISSYS_MODIFIABLE indiquent si le paramètre peut être modifié au niveau session (via ALTER SESSION) ou au niveau instance (via ALTER SYSTEM)
En outre, la prise d'effet de la nouvelle valeur du paramètre peut être immédiate (dans la session courante, voire dans toutes les sessions) ou différée (valable pour les sessions ultérieures)

La syntaxe de modification d'un paramètre par ALTER SYSTEM SET est la suivante :

COMMENT permet d'introduire un commentaire, qui sera placé en face du paramètre en question dans la colonne UPDATE_COMMENT de V$PARAMETER.
DEFERRED permet de forcer le paramètre à prendre effet uniquement dans les sessions ultérieures.
SCOPE=MEMORY indique que la nouvelle valeur prend effet immédiatement, mais n'est pas écrite dans le fichier SPFILE. Au prochain démarrage de l'instance, c'est l'ancienne valeur du paramètre qui s'appliquera.
SCOPE=SPFILE indique que la nouvelle valeur est stockée dans le SPFILE ,mais ne s'appliquera pas avant le prochain redémarrage.
SCOPE=BOTH indique que la nouvelle valeur s'applique immédiatement, et sera mémorisée.

BOTH est la valeur par défaut si on utilise un SPFILE; avec un PFILE, la valeur par défaut est MEMORY, ce qui implique que la nouvelle valeur est perdue au prochain redémarrage.

ALTER SYSTEM SET GLOBAL_NAMES=TRUE COMMENT='temporaire pour test' SCOPE=MEMORY;
Remarque : On peut faire au choix SHOW PARAMETERS ou SHOW PARAMETER.

Gestion des sessions
Une session est identifiée dans V$SESSION par SID et SERIAL#. SID est réutilisable quand la session se termine, et ne constitue donc pas un identifiant unique.
ALTER SYSTEM KILL SESSION et ALTER SYSTEM DISCONNECT SESSION supportent tous les deux l'option IMMEDIATE, qui permet de terminer la session sans attendre la fin de la transaction en cours.

Arrêt d'une instance
Il existe 4 modes d'arrêt :
NORMAL (par défaut) : attend que les sessions en cours se terminent. N'est pas adapté à un arrêt rapide de la base
IMMEDIATE : coupe les sessions en cours, en annulant les transactions non validées
TRANSACTIONAL : attend que les transactions en cours se terminent, mais n'autorise pas le démarrage de nouvelles transactions.
ABORT : arrête brutalement la base sans annuler les transactions non validées. Cela implique une phase de récupération au prochain redémarrage.

La gestion de fichiers OMF
Oracle 9i permet une gestion plus automatisée des fichiers physiques. Si la clause DATAFILE ou LOGFILE est omise lors de la création d'un tablespace, la gestion OMF génère un nom automatiquement, et place le fichier dans le répertoire fixé à l'avance. L'autre avantage majeur, c'est que lors de la suppression d'un tablespace, les fichiers sous-jacents sont physiquement supprimés.

Le paramètre d'initialisation DB_CREATE_FILE_DEST spécifie le répertoire dans lequel seront placés les fichiers de données et les fichiers temporaires. Par défaut, les fichiers seront préfixés par "ora" et porteront l'extension "dbf".
Le paramètre d'initialisation DB_CREATE_ONLINE_LOG_DEST_n permet de spécifier jusqu'à 5 emplacements pour les fichiers de reprise en ligne et les fichiers de contrôle, qui prennent respectivement le suffixe "log" et "ctl".

Si aucun de ces paramètres n'est spécifié, le mode OMF n'est pas utilisable.