Oracle Database
Oracle Database est un système de gestion de base de données relationnelle (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é entre autres, de Bob Miner et Ed Oates.
Pour les articles homonymes, voir oracle.
Développé par | Oracle Corporation |
---|---|
Dernière version | 19c ()[1] |
Écrit en | Java, C, C++ et Python |
Système d'exploitation | Multiplateforme |
Environnement | Multiplate-forme (voir section dédiée) |
Formats lus | Oracle Trace Metadata (d) |
Formats écrits | Oracle Trace Metadata (d) |
Type | SGBD |
Licence | Commercial |
Site web | www.oracle.com/fr/ |
Historique
Software Development Laboratories a été créé en 1977. En 1979, l'entreprise 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 supporte la cohérence en lecture (read consistency).
En 1985, la version 5 supporte les requêtes distribuées, dans le cadre de l'intégration du modèle client-serveur avec l'arrivée des réseaux au milieu des années 1980.
En 1988, la 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). Oracle met sur le marché son ERP Oracle Financials basé sur la base de données relationnelle Oracle Database.
En 1992, la version 7 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 grâce aux services Oracle interMedia[2], renommé Oracle Multimedia (en) depuis la version 11g[3].
En 1999, la version 8i d'Oracle 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, la version 9i ajoute 400 nouvelles fonctionnalités et permet de lire et d'écrire des documents XML. Elle intègre le moteur OLAP : 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 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 novembre 2005, la version 10g Express Edition, complètement gratuite, est publiée, ainsi que la version 10g Release 2.
En juillet 2007, la version 11g Linux et Windows.
En septembre 2009, la version 11g Release 2 est publiée[4].
En juillet 2013, la version 12c est publiée[5]
En 2017, la version 12c release 2 (12.2.0.1) est publiée.
En 2018, la version 18c est publiée, il s'agit de la version 12.2.0.2 mais avec la nouvelle convention de version.
En 2019, la version 19c est publiée.
Conventions sur les numéros de version
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 deux « releases ». 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 chiffre 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 chiffre 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), 12.2 (Release 2)
À partir de 2018, un rythme annuel de nouvelles versions est prévu : le numéro de version rappellera l'année, la prochaine version sera donc la 18 (au lieu de la 12.2.0.2 initialement prévue), la suivante la 19...
Éditions et licences
L'ensemble des environnements (développement, test, intégration, homologation, production…) utilisant le moteur de bases de données Oracle doit ê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 "licence processeur" (généralement 25).
- Licence Processeur : en fonction de la puissance du serveur hébergeant les instances, un certain nombre de licences doit être acquis. Il faut prendre en compte deux notions : premièrement, la puissance est définie par un nombre de processeurs (CPU), et un nombre de cœurs par CPU. Deuxièmement un "core factor" s'applique en fonction de la puissance que délivre le constructeur des processeurs. Exemple : La majorité des processeurs Intel possède un facteur de 0,5 (cf : puces « multi-core » (Intel, AMD, SPARC, Power). Avec ces éléments on fait le calcul suivant : (nombre de CPU x nombre de cœurs par CPU x core factor). Et on obtient le nombre de "licences processeur" qu'il faut acquérir. Cette option est directement dédiée aux architectures trois tiers, où les applications positionnées au-dessus des bases de données, vont générer des requêtes par un nombre inconnu d'utilisateurs. C'est typiquement le cas lorsqu'une application est ouverte sur le Web et lorsque des milliers de personnes peuvent potentiellement accéder à la base (sites web).
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 [6]:
- Partitionning Oracle
- OLAP
- Oracle Advanced Security (ASO)
- Oracle Data Masking
- Data Mining
- Oracle RAC (en) Real Application Cluster (que en Enterprise Edition)
À propos de la virtualisation
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. La plupart des personnes, dans les entreprises moyennes ou grosses, ont une ferme de serveurs VMWare ou Hyper-V. Si des produits Oracle soumis à licence sont utilisés, il faut impérativement analyser les besoins et les coûts de licence. Par exemple, une ferme de 4 serveurs composés chacun de 4 processeurs Intel (CPU), tous composés de 2 cœurs sera « licenciée » pour 4*4*2*0,5 = 16 licences CPU — ce qui peut devenir prohibitif. C'est la raison pour laquelle, la technologie OracleVM reste conseillée, d'autant plus qu'elle offre des fonctionnalités égales.
Certaines technologies de virtualisation (IBM, SUN et même Microsoft depuis peu[7]) sont bien supportées par Oracle, mais il semble qu'il y ait un (gros) désaccord entre Oracle et VMWare[8],[9]. En effet les règles d'Oracle sur le licensing n'ont jamais changé, contrairement aux fonctionnalités de VMware.
Sur les technologies de virtualisation supportées par Oracle, l'utilisation de VM permet d'optimiser le coût des licences par une meilleure utilisation de la charge CPU.
Logiciels Oracle gratuits
Oracle propose depuis fin 2005 une version totalement gratuite de la base, « Oracle Database Express Edition »[10]. Il s'agissait 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 1 Go 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 à 11 Go.
En , la version XE d'Oracle 12c est rendue disponible. Les limites ont été étendues à 2 processeurs, 2 Gb de mémoire vive et 12 Gb de données[11]. Sortie d'abord en version Linux (x64) uniquement, cette version est également disponible pour Windows (x64) depuis [12].
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
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[13], sont téléchargeables en version intégrale, sans limitation de durée, sur le site Oracle Technology Network[14]
Fonctionnalités
Principales
- 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) ou encore la solution Golden Gate (le couteau suisse d'Oracle tant il permet de faire de choses différentes à la fois).
Fonctionnalités annexes
- Partitionnement
- Module Oracle Text
- DBLink
Plates-formes prises en charge
En , les plates-formes prises en charge pour Oracle 10g Release 1 étaient :
- HP-UX PA-RISC
- HP-UX Itanium
- HP Tru64
- Linux x86
- Linux Itanium
- z/Linux (en)
- Mac OS X
- Windows (32-bit)
- Windows (64-bit Itanium)
- Sun Solaris x86
- Sun Solaris (SPARC) (64-bit)
En , 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 AIX
- IBM z/OS (OS/390)
En , 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 AIX
- IBM z/OS (OS/390)
En , 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
Outils de sauvegarde
- 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 Networker, etc.).
Outils d'administration
- 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 de records
- 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
- En 2012, Oracle est la seule base de données à proposer un test TPC-H avec une taille de 30 To
- En 2012, Oracle est la première base de données à atteindre 30 millions de transactions au test TPC-C
Certifications
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
- « Oracle Database 19c : Now available on Oracle Exadata », (consulté le )
- http://lgl.isnetne.ch/designer6i/cahier19/experimentation/exp_images.htm
- (en) « Oracle Multimedia Documentation for Oracle Database 12c », sur www.oracle.com, Oracle Technology Network (consulté le ) : « The name Oracle interMedia was changed to Oracle Multimedia in Oracle Database 11g Release 1. »
- « Oracle 11g R2 simplifiera les mises à jour de progiciel.. ou pas » (consulté le ).
- (en)« Oracle Announces General Availability of Oracle Database 12c, the First Database Designed for the Cloud ».
- (en) Database Options&Packs : Dans la documentation Oracle.
- (en) Note sur le support Hyper-V : Metalink Doc ID 1563794.1 (contrat de support nécessaire pour y accéder).
- (en) Support de VMWare : Metalink Doc ID 249212.1.
- (en) Position officielle de VMware : voir §2.
- https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html Oracle Database XE Downloads] Logiciel libre de développement, de déploiement et de distribution.
- (en)Oracle Database 18c XE now available!.
- (en) Oracle 18c Express Edition (XE) for Windows is available.
- (en) LA référence de la documentation Oracle.
- (en) Oracle Technology Network – téléchargement des produits, documentations…
Voir aussi
Articles connexes
Liens externes
- Oracle France
- (en) Oracle Technology Network téléchargement des produits, documentations, …
- (en) Oracle Database 10G Documentation Library
- (en) Oracle Database 11G Documentation Library
- Cours, guides et tutoriels, FAQ Oracle
- (en) Banque de scripts SQL pour les DBA, version 8i à 12c
- Installer Oracle 10g sur Centos 5.5
- Portail des bases de données
- Portail du logiciel