Oracle Database

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Oracle (base de données))
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir oracle.
Oracle Database
Image illustrative de l'article Oracle Database
Logo

Développeur Oracle Corporation
Dernière version 12.1 [+/-]
Environnement Multiplate-forme (voir section dédiée)
Type SGBD
Licence Commercial
Site web http://www.oracle.com/

Oracle Database est un système de gestion de base de données relationnel (SGBDR) qui depuis l'introduction du support du modèle objet dans sa version 8 peut être aussi qualifié de système de gestion de base de données relationnel-objet (SGBDRO). Fourni par Oracle Corporation, il a été développé par Larry Ellison, accompagné d'autres personnes telles que Bob Miner et Ed Oates.

Historique[modifier | modifier le code]

Software Development Laboratories a été créé en 1977. En 1979, SDL change de nom en devenant Relational Software, Inc. (RSI) et introduit son produit Oracle V2 comme base de données relationnelle. La version 2 ne supportait pas les transactions mais implémentait les fonctionnalités SQL basiques de requête et jointure. Il n'y a jamais eu de version 1, pour des raisons de marketing, la première version a été la version 2. Celle-ci fonctionnait uniquement sur les systèmes Digital VAX/VMS.

En 1983, RSI devient Oracle Corporation pour être plus représentative de son produit phare. La version 3 d'Oracle, entièrement ré-écrite en langage de programmation C, est publiée. Celle-ci supportait les transactions grâce aux fonctionnalités de commit et rollback. C'est aussi à partir de cette version que la plate-forme Unix est supportée.

En 1984, la version 4 d'Oracle apparaît, supportant la cohérence en lecture (read consistency).

Début 1985, Oracle commence à intégrer le modèle client-serveur, avec l'arrivée des réseaux au milieu des années 1980. La version 5 d'Oracle supporte donc les requêtes distribuées.

En 1988, Oracle met sur le marché son ERP - Oracle Financials basé sur la base de données relationnelle Oracle. Oracle version 6 supporte le PL/SQL, le verrouillage de lignes (row-level locking) et les sauvegardes à chaud (hot backups, lorsque la base de données est ouverte).

En 1992, la version 7 d'Oracle supporte les contraintes d'intégrité, les procédures stockées et les déclencheurs (triggers).

En 1995, acquisition d’un puissant moteur multidimensionnel, commercialisé sous le nom d’Oracle Express.

En 1997, la version 8 introduit le développement orienté objet et les applications multimédia.

En 1999, la version 8i est publiée dans le but d'affiner ses applications avec Internet (le i fait référence à Internet). La base de données comporte nativement une machine virtuelle Java.

En 2001, Oracle 9i ajoute 400 nouvelles fonctionnalités et permet de lire et d'écrire des documents XML.

À partir de la version 9i, intégration du moteur OLAP au sein de Oracle : le moteur Oracle express est dorénavant référencé au sein de l’option Oracle OLAP. Les données multidimensionnelles sont accessibles à partir du langage SQL.

En 2003, la version 10g est publiée, version qui supporte les expressions rationnelles. Le g signifie « grid » ; un des atouts marketing de la 10g est en effet qu'elle supporte le « grid computing ».

En 2005, vers la fin novembre, une version complètement gratuite est publiée, la « Oracle Database 10g Express Edition ». Apparaît cette même année, Oracle Database 10.2.0.1 — aussi connue sous le nom d'Oracle Database 10g Release 2 (10gR2).

En 2007, sortie de la version 11 : Oracle Database 11g, pour Linux et Windows.

Septembre 2009, sortie de Oracle Database 11g Release 2[1].

1 juillet 2013, sortie de Oracle Database 12c[2].

Conventions sur les numéros de version[modifier | modifier le code]

Les numéros de version d'Oracle ont introduit une certaine confusion chez de nombreuses personnes.

La nomenclature de version a changé au cours du temps, mais se base en général sur la convention suivante : version X.Y.Z.a où X.Y désigne la version majeure du produit : 8.1 pour 8i, 9.2 pour 9i Release 2, etc. Ceci n'est plus vrai en 10, où l'on a une version majeure (10g), déclinée en 2 "release". Au sein d'une même version majeure (8i, 9i ou 10g), les fonctionnalités générales du RDBMS sont censées être les mêmes.

Le digit Z désigne quant à lui le niveau de correctif générique appliqué. Oracle délivre en général 3 ou 4 mises à jour ("patchset") pour une version majeure, mais cela reste très variable.

Enfin, le digit a désigne un niveau de correctif spécifique à un système d'exploitation, ou une plateforme.

Depuis la version 7, les versions majeures du SGBD Oracle ont été les suivantes :

  • Oracle 7 : 7.1, 7.2, 7.3
  • Oracle 8 : 8.0.3, 8.0.4, 8.0.5, 8.0.6
  • Oracle 8i : 8.1.5 (Release 1), 8.1.6 (Release 2), 8.1.7 (Release 3)
  • Oracle 9i : 9.0.1 (Release 1), 9.2.0 (Release 2)
  • Oracle 10g : 10.1 (Release 1), 10.2 (Release 2)
  • Oracle 11g : 11.1 (Release 1), 11.2 (Release 2)
  • Oracle 12c : 12.1 (Release 1)

Éditions et licences[modifier | modifier le code]

L'ensemble des environnements (développement, test, intégration, homologation, production…) utilisant le moteur de bases de données Oracle doivent être sous licence. On distingue deux modes de licences :

  • Utilisateurs nommés : concrètement, nombre de personnes uniques se connectant aux bases de données. Ceci convient à des applications de gestion typique en mode client/serveur et aux environnements hors-production où le nombre d'utilisateurs est connu. On note qu'Oracle applique un nombre minimal d'utilisateurs par processeurs (généralement 25).
  • Processeurs, où c'est le nombre de cœurs (ou processeur pour les rares puces mono-core du marché) du serveur hébergeant Oracle qui sera facturé. Cette option est directement dédiée aux architectures trois tiers, où le nombre exact de clients est difficilement connu, ou lorsque des milliers de personnes peuvent potentiellement accéder à la base (sites web). On notera qu'une pondération spécifique est définie en fonction du type de processeurs utilisés : puces « multi-core » (Intel, AMD, SPARC, Power).

Si un serveur Oracle est installé dans un environnement virtualisé (hors OracleVM) utilisant plusieurs serveurs physiques, c'est le nombre de processeurs de l'ensemble des machines physiques constituant le cluster qu'il faut licencier, car Oracle considère que le SGBD peut utiliser tour à tour l'ensemble des processeurs de l'infrastructure. Dans cas, l'utilisation de clusters de VM (sous VMware par exemple) dédiés à Oracle permet d'optimiser le coût des licences par une meilleure utilisation de la CPU.

En version 10g, Oracle valorise le prix d'une licence selon 3 types :

  • édition Entreprise : comprend toutes les fonctionnalités du produit
  • édition Standard : limitations apportées aux fonctionnalités et sur le nombre de processeurs (4 maximum)
  • édition Standard One : limitations apportées aux fonctionnalités et sur le nombre de processeurs (2 maximum)

On notera qu'en plus de ces licences, Oracle facture en sus certaines options selon les règles définies plus haut. Ainsi, les fonctionnalités suivantes doivent être spécifiquement achetées :

Logiciels Oracle gratuit[modifier | modifier le code]

Oracle propose depuis fin 2005 une version totalement gratuite de la base, « Oracle Database Express Edition »[3]. Il s'agit d'une version 10g Standard Edition One, fortement limitée : en 2011, elle limite la taille totale de la base à 4Go (hors système, temporaire, segments d'annulation et autres fichiers), la SGA ne peut dépasser 1Go et un seul processeur sera utilisé sur les machines qui en disposent de plusieurs.

La version 11gR2 d'Oracle Express Edition présente les mêmes limitations, à part la taille des données utilisateur qui est portée à 11Go.

Oracle SQL Developer est lui aussi gratuit, cet outil développé en Java permet, via une interface graphique, de gérer les objets de la base, visualiser les sessions et de faire du SQL.

Téléchargement des produits[modifier | modifier le code]

L'intégralité des produits Oracle, à savoir :

  • la base de données (RDBMS)
  • le serveur d'application (IAS)
  • la suite collaborative (OCS)
  • l'environnement de développement (ODS)
  • la suite applicative (eBusiness suite)

ainsi que les documentations associées[4], sont téléchargeables en version intégrale, sans limitation de durée, sur le site Oracle Technology Network[5]

Fonctionnalités[modifier | modifier le code]

Principales[modifier | modifier le code]

  • SQL
  • PL/SQL, langages de programmation, utilisé pour créer des procédures, des fonctions et des déclencheurs.
  • Java, ce langage de programmation est aussi utilisable pour créer des triggers lors de l'insertion, la modification ou l'effacement d'éléments
  • Montage de la base de données sur plusieurs serveurs (grid en 10g, rac en 9i)
  • Spatial, pour permettre la gestion de données géographiques
  • Partitionnement physiques des données en sous-ensembles pour optimiser les temps d'accès
  • Moteur OLAP intégré, stockant les cubes sous forme de BLOB (Binary Large Objects)
  • Gestion de très grands volumes de données, taille maxi de 65 536 fichiers de 128 To chacun en utilisant les BigFiles de la version 10gR2 ou 10.2
  • Réplication des données selon différents modes synchrones ou asynchrones de tout ou partie d'une base de données : voir Oracle Data Guard (en)

Fonctionnalités annexes[modifier | modifier le code]

Plate-formes prises en charge[modifier | modifier le code]

En octobre 2004, les plates-formes prises en charge pour Oracle 10g Release 1 étaient :

En mai 2006, les plates-formes suivantes sont prises en charge pour Oracle 10g Release 2 :

  • HPUX Itanium
  • HPUX PA-RISC
  • Linux Itanium
  • Linux Power5
  • Linux x86_64 (Opteron / EM64T)
  • Linux 32bits
  • Windows Itanium
  • Windows x86_64 (Opteron / EM64T)
  • Windows 32bits
  • Solaris SPARC64
  • Solaris x86-64
  • IBM AIX5L
  • IBM z/OS (OS/390)

En février 2012, les plates-formes suivantes sont prises en charge pour Oracle 11g Release 2 :

  • HPUX Itanium
  • HPUX PA-RISC
  • Linux x86_64 (Opteron / EM64T)
  • Linux 32bits
  • Windows x86_64 (Opteron / EM64T)
  • Windows 32bits
  • Solaris SPARC64
  • Solaris x86-64
  • IBM AIX5L
  • IBM z/OS (OS/390)

En juillet 2013, les plates-formes suivantes sont prises en charge pour Oracle 12c Release 1 :

  • Linux x86_64
  • Solaris SPARC64
  • Solaris x86-64
  • Windows x86_64

Connecteurs[modifier | modifier le code]

  • ODBC
  • JDBC
  • En Java, Oracle peut être utilisé de façon transparente avec le standard JDO.
  • En PHP, Oracle peut être utilisé de façon transparente avec le standard PDO

Outils de sauvegarde[modifier | modifier le code]

Mécanisme d'Archive log Oracle
  • RMAN (Recovery MANager) est un logiciel destiné aux sauvegardes et restaurations des bases de données Oracle.

Il est fourni par Oracle depuis la version 8.0, en remplacement de "Enterprise Backup Utility" (en version 7.3.x d'Oracle).

RMAN sauvegarde les données (datafiles), les journaux de transactions (archives), le fichier de contrôle (control file) et éventuellement le fichier de configuration d'instance (spfile).

RMAN peut utiliser une base "catalogue" dans laquelle il stocke les informations concernant les données sauvegardées. Les données sauvegardées peuvent être envoyées sur disque, sur bande, ou à un logiciel de sauvegarde tiers (ex : Tivoli Storage Manager, EMC Legato Networkeretc.).

Outils d'administration[modifier | modifier le code]

  • Oracle Enterprise Manager (OEM) est un logiciel destiné aux administrateurs (DBAs). Il permet, via une interface graphique, de gérer des bases de données Oracle (sauvegardes Rman, supervision, etc.).

En Oracle 9i, la console OEM est un client Java. Depuis Oracle 10g, OEM est orienté web, et se décline en plusieurs versions : une version simple nommée "Oracle Enterprise Manager Database Control" et une version permettant d'administrer plusieurs bases nommée "Oracle Enterprise Manager Grid Control". Il faut noter que l'utilisation de certaines fonctions (diagnostic et tuning) proposées dans l'interface implique la facturation d'options supplémentaires.

Liste des premiers[modifier | modifier le code]

  • Oracle est la première base de données à intégrer nativement JRE
  • Oracle est la première base de données à dépasser le million de transactions par minute au bench TPC-C, en novembre 2004 [1]
  • En 2012, Oracle est la seule base de données à proposer un test TPC-H avec une taille de 30To [2]
  • En 2012, Oracle est la première base de données à atteindre 30 millions de transactions au test TPC-C [3]

Certifications[modifier | modifier le code]

Il existe différents niveaux de certification autour des produits Oracle. Au niveau de la base de données (RDBMS) :

  • Oracle Certified Associate (OCA)
  • Oracle Certified Professional (OCP)
  • Oracle Certified Master (OCM)
  • Oracle Certified Expert (OCE)
  • Oracle Certified Specialist (OCS)

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]