Les fichiers d’une base Oracle 10g
Les fichiers Oracle 10g et leur rôle
Installer Oracle sur un système signifie y placer un nombre impressionnant de fichiers. C’est pourquoi, en amont de toute installation, il faut pouvoir identifier les différentes catégories de fichiers. Du point de vue d’un administrateur Oracle, on peut classer ces fichiers comme suit : • les logiciels Oracle ; • les fichiers de données ; • les fichiers redo-log ; • les fichiers redo-log archivés ; • les fichiers de contrôle ; • le fichier d’initialisation ; • les fichiers d’initialisation d’Oracle Net ; • le fichier d’alerte ; • le fichier trace des utilisateurs. Les logiciels Oracle Ce sont tous les fichiers dont l’installation est nécessaire au fonctionnement d’une base de données. Leur nombre est impressionnant, mais vous n’avez pas à vous en soucier. Tout comme les fichiers qui composent le système Windows, ils sont installés suivant les options choisies. Seul l’ajout d’un nouveau logiciel ou la modification d’une option d’un composant Oracle vous obligerait à intervenir sur ces fichiers. Plusieurs distributions d’Oracle peuvent coexister sur la même machine, par exemple, une version 9.2 en production et une version 10.1 en cours de validation. Les règles OFA, abordées dans ce chapitre, vous aident à organiser vos distributions, les bases de données et les fichiers d’administration. Les fichiers de données Une fois votre distribution Oracle installée, une ou plusieurs bases de données sont créées. Leur dimension dépend de la quantité d’informations à stocker. Pour répondre à ces besoins, le nombre, la taille et l’emplacement des fichiers de données seront adaptés. Les fichiers de données sont les plus volumineux de votre base. Si celle-ci est démarrée, il suffit d’interroger son dictionnaire interne pour connaître les caractéristiques de l’ensemble des fichiers qui la composent. Si elle est arrêtée, mieux vaut avoir suivi des En jargon Oracle, l’ensemble de ces fichiers s’appelle une distribution. Tous les logiciels d’une même distribution sont placés dans une même Oracle Home. Ce point est détaillé plus loin dans ce chapitre. règles d’installation rigoureuses, comme les règles OFA, pour savoir où se trouvent ces fichiers. Comme le volume des informations est susceptible d’évoluer, il est fréquent qu’un administrateur Oracle intervienne sur ces fichiers. Les fichiers de données contiennent toutes les informations de votre base dans un format spécifique à Oracle. Il n’est pas possible d’en visualiser le contenu avec un éditeur de texte. Même un éditeur binaire montre un format interne très complexe : mieux vaut renoncer ! Pour ajouter de nouveaux fichiers de données, il faut utiliser des ordres SQL. Pour déplacer ou supprimer ces fichiers, il faut associer des ordres SQL (par exemple préciser à la base le déplacement) et des commandes Windows (pour le transfert physique du fichier). Une option SQL permet maintenant d’associer la suppression physique d’un fichier à la commande SQL. Assurez-vous de disposer d’une bonne sauvegarde avant d’utiliser cette option !
Les fichiers redo-log
Les fichiers redo-log sont des fichiers de journalisation utilisés pour le fonctionnement interne d’Oracle, ils enregistrent et conservent toutes les modifications successives de votre base de données. Ils sont utiles lors d’une restauration à la suite d’un problème d’instance ou de disque. Cette restauration consiste à rejouer le contenu des fichiers redo-log dans la base. Le thread LGWR (Log Writer) est chargé de l’écriture dans les fichiers redo-log. Il y enregistre les valeurs avant et après modification, ainsi que des renseignements internes. À l’instar des fichiers de données, il n’est pas possible d’accéder au contenu des fichiers redo-log avec un éditeur de texte. Un nouvel outil livré avec Oracle 10g, le Log Miner, permet d’analyser le contenu des fichiers log. Il s’appuie sur des packages PL/SQL (DBMS_LOGMNR et DBMS_LOGMNR_D) et des vues V$ de la base. Lorsque le fichier redo-log courant est saturé, Oracle poursuit sur le suivant et ainsi de suite jusqu’au dernier. Quand celui-ci est plein, Oracle réutilise le premier, puis le second, etc. L’utilisation des fichiers est donc circulaire. Avant la réutilisation d’un fichier redo-log, Oracle le sauvegarde à un autre emplacement si la base fonctionne en mode archivage (ARCHIVELOG MODE). Dans les autres cas, Oracle le réemploie en supprimant son contenu sans sauvegarde préalable. Entre-temps, les données présentes en mémoire et copiées dans les fichiers redo-log à écraser ont été écrites dans les fichiers de données. Le mode d’archivage est optionnel : c’est l’administrateur Oracle qui décide de sa mise en service ou non. Pour des raisons de sécurité, ces fichiers peuvent être multiplexés (c’est-à-dire dupliqués) dans des groupes (Groups). Si chaque groupe est situé sur un disque différent, cela évite une perte d’informations en cas de panne d’un disque. Les fichiers redo-log doivent se trouver sur les disques les plus rapides, car chaque modification s’y trouve inscrite. Les disques rapides étant souvent les moins sécurisés, la fiabilité est alors assurée par le multiplexage des fichiers redo-log placés sur des disques différents. Des vues du dictionnaire interne de votre base permettent de localiser vos fichiers redo-log. Un administrateur Oracle intervient sur ces fichiers uniquement pour les déplacer ou en modifier la taille afin, sous certaines conditions, d’améliorer la performance de la base. Oracle Enterprise Manager dispose d’une interface graphique pour réaliser ces actions.
Les fichiers de contrôle
Les fichiers de contrôle sont créés en même temps que la base de données. Ils sont principalement utilisés à chaque démarrage de celle-ci, puis mis à jour automatiquement par Oracle. Pour des raisons de sécurité, on peut créer plusieurs fichiers de contrôle, mais ils sont tous identiques. Le fichier d’initialisation utilisé pour lancer l’instance situe l’emplacement des fichiers de contrôle. Chacun d’eux précise la localisation de tous les autres fichiers (données et redo-log) qui composent la base. Les fichiers de contrôle indiquent si la base de données a été correctement fermée et si une restauration est nécessaire. Il est impossible de les visualiser pour en exploiter le contenu. Des vues du dictionnaire interne de la base permettent de les localiser. Si vous les perdez, il est possible de les créer à nouveau, à partir d’une base Oracle en fonctionnement. Si celle-ci est arrêtée, il faudra repartir d’une sauvegarde. Sauf à les déplacer et à les sauvegarder, un administrateur Oracle n’a pas à s’en préoccuper. Le fichier d’initialisation Toute instance Oracle nécessite des paramètres d’initialisation utilisés à chaque démarrage. Ils peuvent être conservés sous forme d’un fichier texte ou enregistrés dans un fichier d’initialisation persistant. Dans le premier cas, on parlera du fichier initSID.ora et du fichier persistant spfileSID.ora dans le second. Le SID correspond à l’identifiant de l’instance qu’il doit démarrer. Le fichier d’initialisation persistant et de nouveaux paramètres d’initialisation dynamiques pouvant être modifiés « base en marche » sont des nouveautés apportées par Oracle 10g. Leur utilisation conjointe est très souple et nous vous engageons fortement à les utiliser. Ces points sont décrits au chapitre 10, Démarrer et arrêter une base Oracle 10g. Le fichier d’initialisation détermine entre autre la taille mémoire allouée à la SGA (System Global Area), zone mémoire commune à tous les utilisateurs de votre instance. Son rôle est déterminant dans l’optimisation des ressources d’une machine. Les fichiers d’initialisation persistants spfileSID.ora sont placés par défaut en ORACLE_HOME\database, soit C:\oracle\product\10.1.0\db_1\database\pfileSID.ora. L’explorateur Windows doit être paramétré car ce sont des fichiers cachés. Pour modifier votre fichier d’initialisation initSID.ora, utilisez un éditeur de texte « propre », tel que le notepad. N’utilisez surtout pas un traitement de texte qui incorpore ses propres caractères de contrôle, comme Word ou Wordpad. Ne modifiez jamais le fichier d’initialisation persistant spfileSID.ora à l’aide d’un éditeur. Il risquerait d’être corrompu et inutilisable.