Oracle

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Éditeur Oracle Corporation
Type SGBDR (système de gestion de base de données relationnelle)
Éditions Enterprise Edition · Standard Edition 2 · Express Edition (XE) / Database Free
Architecture Instance (mémoire + processus) + base de données (fichiers)
Voir aussi Instance · Oracle net · Asm · Rman · RAC · Exadata

Oracle Database est le système de gestion de base de données relationnelle (SGBDR) édité par Oracle Corporation. C'est l'une des bases de données propriétaires les plus répandues en environnement d'entreprise, en particulier sur Unix/Linux, avec un écosystème très large : haute disponibilité (RAC), stockage dédié (ASM), sauvegarde (RMAN, Datapump), appliance matérielle (Exadata) et son propre langage procédural (PL/SQL).

Cette page sert de point d'entrée général vers les différentes sous-thématiques Oracle du wiki ; voir les pages dédiées pour le détail de chaque sujet.

Instance vs base de données

Oracle distingue deux notions souvent confondues :

  • la base de données : l'ensemble des fichiers physiques sur disque (fichiers de
 données, fichiers de contrôle, fichiers de journalisation) ;
  • l'instance : les structures mémoire (SGA/PGA) et les processus d'arrière-plan qui
 permettent d'accéder à cette base. Voir Instance pour le détail des états
 NOMOUNT/MOUNT/OPEN et des commandes de démarrage/arrêt.

En configuration standalone, une instance sert une seule base. En RAC (Real Application Clusters), plusieurs instances sur des nœuds différents peuvent servir la même base partagée — voir la catégorie RAC.

Fichiers de la base de données

  • Fichiers de données (datafiles) : contiennent les données, organisées en
 tablespaces eux-mêmes découpés en segments (table, index, annulation/undo,
 temporaire).
  • Fichiers de contrôle (control files) : nom de la base, horodatage, emplacement des
 fichiers de données, numéro de séquence des journaux, informations de checkpoint. Il est
 fortement recommandé de les multiplexer (plusieurs copies sur des disques différents) pour
 ne jamais perdre la base suite à la corruption d'un seul disque.
  • Fichiers de journalisation (redo logs) : organisés en groupes remplis
 cycliquement ; voir Redo log pour le dimensionnement et la gestion des groupes/membres,
 et Sauvegarde oracle pour l'archivage (mode ARCHIVELOG).

Mémoire et processus de l'instance

  • SGA (System Global Area) : mémoire partagée par tous les processus de l'instance
 (cache de données, cache de curseurs partagés, buffer de journalisation...).
  • PGA (Program Global Area) : mémoire privée de chaque processus serveur (tri, hachage,
 variables de session).
  • Processus d'arrière-plan (PMON, SMON, DBWn, LGWR, CKPT...) : assurent le fonctionnement
 interne de l'instance (nettoyage des sessions, écriture des données/journaux, reprise
 après crash...).
  • Processus serveur : traitent les requêtes envoyées par les sessions clientes, connectées
 via Oracle net et son écouteur (Lsnrctl).

Profils de charge

Le dimensionnement et le paramétrage d'une base dépendent fortement de son usage :

  • OLTP (Online Transaction Processing) : beaucoup de petites transactions
 (INSERT/UPDATE), optimisé pour la latence.
  • DSS/DWH (Decision Support System / data warehouse) : requêtes de lecture volumineuses
 (SELECT), optimisé pour le débit.
  • Mixte : configuration à ajuster manuellement selon la réalité des deux charges.

Écosystème et sous-domaines

 contrôle et de journalisation, tablespaces, comptes et privilèges, réseau
 (listener, tnsnames), patchs (OPatch).
  • ASM (Automatic Storage Management) — gestionnaire de volumes/stockage dédié
 aux bases Oracle, alternative moderne aux partitions RAW et à OCFS.
  • RAC et Grid Infrastructure — Real Application Clusters : plusieurs
 instances actives sur plusieurs nœuds pour la haute disponibilité et la montée en charge
 horizontale (CRS, OCR, VIP, services cluster).
  • SauvegardeRman (RMAN, sauvegarde/restauration physique) et Datapump
 (export/import logique) ; voir aussi Sauvegarde oracle pour les concepts généraux.
  • Exadata — appliance matérielle Oracle haute performance
 (cellules de stockage, Cellcli, souvent virtualisée avec OVM).
  • SQL*Plus / PL-SQL — client en ligne de commande et langage procédural natif d'Oracle
 pour écrire des scripts et des procédures stockées.

Voir aussi

  • Instance — architecture détaillée d'une instance Oracle
  • Oracle net — couche réseau (SQL*Net), listener et tnsnames.ora
  • Asm — gestion de stockage ASM
  • Rman — sauvegarde et restauration
  • OPatch — application des patchs
  • Oracle xe — édition gratuite pour test/développement
  • Instantclient — bibliothèques clientes légères