Oracle 8i sous Linux

publicité
Oracle 8i
sous Linux
Gilles Briard
Éditions Eyrolles
ISBN : 2-212-09135-4
2000
Avant-propos
Linux est un système désormais éprouvé, comme son arrivée dans les entreprises l’atteste.
L’engouement qu’il suscite chez les informaticiens, les étudiants et les particuliers lui promet
un bel avenir. Aucun éditeur de logiciels ne peut plus ignorer le « phénomène Linux » et ne
peut manquer de proposer une version de ses logiciels sous cet environnement.
Linux est un système d’exploitation équivalent aux environnements professionnels qui existent sur le marché. De plus, comme il est gratuit, il constitue un formidable outil d’apprentissage pour les étudiants et les informaticiens. Aujourd’hui, il est pour la première fois possible
d’utiliser Oracle8i sur un tel système, qui peut être à la fois un environnement d’apprentissage, de test ou d’étude. Une aubaine pour tous et particulièrement pour les étudiants !
Oracle, leader mondial des bases de données a trouvé en Linux un système à la hauteur de son
avancée technique. Suivez-nous pas à pas et découvrez les possibilités d’Oracle8i sous Linux :
comment l’installer, le configurer, le programmer, l’administrer et l’intégrer à Linux pour en
tirer le meilleur parti.
Certes, Oracle reste un éditeur de logiciels qui a pour but de les commercialiser. Néanmoins,
les dirigeants savent que tous ceux qui font aujourd’hui leur apprentissage sur Linux sont les
informaticiens et les clients de demain ; aussi vaut-il mieux . Mieux vaut qu’ils se familiarisent dans la foulée à Oracle8i plutôt qu’à IBM DB2, Sybase ou Informix ! Négliger Linux
aujourd’hui revient à se priver d’une part du potentiel commercial des prochaines années,
quand bien même les ventes sous Linux seraient-elles minimes.
Il faut en finir avec l’image que véhicule Oracle d’un logiciel commercial, complexe et onéreux.
Objectifs de ce livre
Les produits utilisés
Nous avons choisi de prendre Oracle8i Enterprise Edition comme support de ce livre. C’est en
effet la dernière version du serveur Oracle8i disponible sous Linux ; une version d’évaluation
est téléchargeable gratuitement sur le site http://technet.oracle.com. Elle comporte l’intégralité des possibilités d’Oracle8i offertes sous les autres systèmes d’exploitation du marché.
Quant à la version de Linux utilisée, il s’agit d’eXecutive Linux 6.0 (version française de Red
Hat 6.0). D’autres versions Linux conviennent, dès lors qu’elles remplissent les critères techniques documentés par Oracle.
2
Avant-propos
À qui s’adresse ce livre ?
Ce livre se veut une réponse aux attentes de deux catégories de lecteurs, et ce en fonction de
trois axes d’orientation.
Il s’agit tout d’abord d’une orientation stratégique destinée aux décideurs : directeurs informatiques, responsables de veille technologique, consultants, pour les aider à comprendre les
enjeux d’Oracle8i sous Linux et leur présenter les apports, les architectures, les logiciels
inclus lors de l’achat d’Oracle8i, les types d’applications qui peuvent être mise en œuvre, etc.
En second lieu, une orientation d’ordre technique est destinée aux administrateurs Linux et
Unix, aux responsables réseau et aux développeurs. Leur culture informatique peut émaner de
plusieurs sources : utilisateurs d’Oracle8i sur d’autres plates-formes, développeurs connaissant des bases de données micro telles que Access, Sql Anywhere ou encore utilisateurs
d’autres bases de données comme SQL Server, Informix, amenés à mettre en œuvre Oracle8i.
Enfin, par sa gratuité et les versions d’évaluation d’Oracle8i qui existent sous Linux, ce logiciel constitue une formidable opportunité pour tous ceux qui souhaitent disposer d’un environnement de test et d’apprentissage. À ce titre, l’apprentissage du langage SQL est traité
dans cet ouvrage.
Cette orientation technique permet aussi :
• à des administrateurs Oracle8i confirmés mais novices sous Linux, de comprendre et
mettre en pratique leurs connaissances acquises sous d’autres systèmes d’exploitation ;
• à des architectes techniques, spécialisés ni dans Oracle8i, ni dans Linux, de comprendre
clairement les briques logicielles mises en œuvre avec telle ou telle configuration. C’est
particulièrement le cas des nouvelles technologies comme Java, JDBC ou les serveurs
Linux mis en architecture Cluster.
Les connaissances Linux étant très variables, nous aborderons, outre les aspects propres à
Oracle8i, les commandes et les utilitaires Linux indispensables pour tirer le meilleur profit
d’Oracle8i.
Fruit de nombreuses années d’expérience en la matière, cet ouvrage vous apprend à vous servir
d’Oracle8i, tout en vous initiant à Linux et à son environnement. Il représente un outil pédagogique grâce aux très nombreux exemples et remarque qu’il contient et à la clarté de son propos.
Certains aspects pointus ont été développés en annexe pour ne pas alourdir les chapitres.
Prérequis à la lecture
Les premiers chapitres ne requièrent pas de la part du lecteur une culture informatique très
poussée. Ils présentent essentiellement des concepts, des architectures et « positionnent »
différents produits.
Les chapitres techniques nécessitent davantage de compétences en informatique. Ils ne se
contentent pas de présenter des fonctionnalités, mais expliquent comment les mettre en place
il s’agit essentiellement de chapitres concis, aux objectifs précis.
Toutes les opérations effectuées sous Linux et Oracle8i sont explicitement présentées. Ainsi,
tout utilisateur n’ayant pas d’expérience précise sous Linux ou Oracle8i, mais connaissant un
autre environnement (Windows95, NT, Unix ou VMS) pourra contrôler avec précision
Oracle8i sous Linux.
Avant-propos
Parcours de lecture proposé
Pour plus de clarté, les chapitres ont été regroupés en différentes parties cohérentes. La
première partie est orientée stratégie : pourquoi choisir Oracle8i sous Linux ? Quelles architectures matérielles le couple Oracle8i-Linux prend-t-il en charge ? Quels sont les apports
d’une architecture matérielle de type cluster avec Oracle8i ? Quelles briques logicielles sont
fournies lorsque vous achetez Oracle8i ? Tous ces thèmes permettent de faire le point sur ce
domaine. Ils aideront les décideurs et les architectes techniques à cerner l’intérêt d’Oracle8i et
Linux pour leur stratégie actuelle ou future.
La deuxième partie est composée de chapitres principalement théoriques. Ils permettent de
comprendre le fonctionnement des différents composants d’Oracle8i sous Linux : les
processus, la mémoire, les fichiers. Enfin, les étapes relatives à la création, au démarrage, à la
fermeture d’une base Oracle8i sont également décrites.
La troisième partie regroupe les chapitres consacrés à l’installation et au paramétrage
d’Oracle8i. L’ensemble des outils et logiciels associés à Oracle8i y sont présentés ; la partie
middleware, c’est-à-dire la configuration de Net8 y est traitée.
La quatrième partie vous apprend comment accéder et programmer Oracle8i. Le langage
SQL, PL/SQL et les outils standard d’Oracle8i sont abordés.
La cinquième partie traite des différents aspects de l’administration d’Oracle8i. Elle vous
apprend à tirer le meilleur profit de votre environnement et à réaliser toutes les tâches essentielles d’administration. Les chapitres de cette partie sont également consacrés à la sécurité,
les sauvegardes, l’optimisation et les performances.
Enfin, la sixième partie est composée d’annexes techniques qui évitent d’alourdir inutilement
les différents chapitres.
Vous pouvez facilement passer d’une partie à une autre, d’un chapitre à un autre, sans effectuer une lecture linéaire. S’il est souhaitable de lire au préalable tel ou tel chapitre, ou si des
notions ont été abordées ailleurs, cela vous est précisé.
Notre souci constant est de vous aider à distinguer l’essentiel de l’accessoire et à bien
comprendre l’articulation des différents produits. C’est pourquoi nous avons choisi de traiter
les chapitres sous forme de tâches à réaliser, plutôt que de vous livrer une liste indigeste de
commandes, sans fil conducteur précis.
Ce que ce livre n’est pas
L’objet de cet ouvrage étant l’intégration d’Oracle8i sous Linux, il ne vous initie ni à Linux,
ni à son installation, paramétrage, etc. De nombreux ouvrages spécifiques ou ressources
Internet abordent ce sujet.
Nous avons focalisé notre propos sur l’intérêt offert par Oracle8i sous Linux, sur sa mise en
place et sur toutes les tâches afférentes.
Des exemples précis sont proposés dès lors que des commandes SQL intéressantes ou utiles
sont abordées, ou qu’un contexte technique nécessite des précisions liées à l’offre ou au positionnement d’un fournisseur. En outre, nous avons inclus à l’attention des développeurs
Oracle8i débutants des chapitres d’initiation au langage SQL et PL/SQL.
3
4
Avant-propos
Structure de l’ouvrage
Partie I : Oracle8i pour Linux
Chapitre 1 : Pourquoi choisir Oracle8i sous Linux ?
Ce chapitre revêt une importance stratégique. Il aborde le positionnement de Linux et Unix
par rapport à leur grand rival Windows NT. Il précise les enjeux majeurs lors du choix d’un
système d’exploitation. Il vous fourni les arguments pour justifier le choix de Linux auprès de
votre direction. De nombreux exemples d’utilisation d’Oracle8i et d’architectures techniques
mises en places y sont présentés.
Chapitre 2 : Comparatif technique Linux-Windows NT
On peut comparer Windows NT et Linux durant de longues heures sans obtenir de résultat
probant en raison de la constante partialité de jugements. Nous avons choisi pour notre
comparaison d’observer différentes étapes que chaque administrateur rencontre en utilisant
une base de données. Nous n’évaluons pas les aspects système d’exploitation ou performance,
mais les tâches rencontrées au quotidien sur les deux systèmes par un administrateur Oracle8i.
Chapitre 3 : Environnement Linux : l’indispensable
Si Linux est pour vous un nouvel environnement, sachez que les différentes versions de ce
système sont toutes livrées avec des « boîtes à outils » très fournies. Nous énumérerons les
outils et commandes Linux standard mais aussi d’autres moins courants qui peuvent s’avérer
utiles. Nous utilisons ces outils et ces commandes tout au long de ce livre.
Partie II : Principes de fonctionnement d’Oracle8i
Chapitre 4 : Les processus d’Oracle8i
Ce chapitre est consacré aux processus qui assurent le fonctionnement d’une instance
Oracle8i. Les principaux composants (fichiers, processus et espaces mémoire) sont présentés
puis nous entrons dans le détail du fonctionnement interne des processus, pour vous permettre
de mieux comprendre le rôle de chacun, son impact sur le fonctionnement d’une instance et
les performances des bases Oracle8i.
Chapitre 5 : L’utilisation de la mémoire par Oracle8i
Dans tout système informatique, l’utilisation de mémoire est synonyme de performance.
L’accès et l’utilisation des données est beaucoup plus rapide en mémoire que sur disque. C’est
pourquoi Oracle8i, utilisant des processus efficaces, a souvent recourt à la mémoire physique
des ordinateurs.
Ce chapitre traite des différents types de mémoire présents sur vos systèmes Linux et
comment Oracle8i les utilise. Il est important de bien comprendre ces éléments, car ils interviennent dans les opérations d’amélioration des performances.
Chapitre 6 : Les fichiers d’une base Oracle8i
Oracle8i a spécialisé certains fichiers pour conserver les données, d’autres sont uniquement
dédiés au fonctionnement interne de la base ou à son paramétrage. Dans ce chapitre, nous ne
Avant-propos
nous limitons pas aux fichiers qui composent la base de données et qui doivent être sauvegardés, mais nous abordons aussi les fichiers de paramétrage, trace, log, etc. Ils sont
méconnus mais pourtant d’une grande utilité pour rechercher la source de problèmes.
Nous rappelons l’organisation globale du système de fichiers Linux, et nous décrivons l’architecture OFA (Optimal Flexible Architecture) qui propose une méthode rigoureuse et structurée, simplifie énormément le travail des administrateurs Oracle8i et Linux.
Chapitre 7 : Démarrer et arrêter une base Oracle8i
Ce chapitre présente toutes les étapes utiles à la gestion d’une base Oracle8i : sa création, son
ouverture/fermeture et sa suppression. De nombreux cas particuliers sont évoqués et une
démarche progressive révèle les mécanismes internes d’Oracle8i sous Linux. Nous vous
montrons de manière détaillée comment créer une nouvelle base de données sous Linux.
Chapitre 8 : Transactions et accès concurrents
Toute base de données a pour objectif de fournir aux utilisateurs un accès simultané aux
données. La notion de concurrence d’accès et de verrouillage des données intervient lorsque
plusieurs utilisateurs essaient d’accéder simultanément aux mêmes données. Le concept de
transaction est différent mais il n’en reste pas moins à la base de la gestion des accès
concurrents : les données modifiées lui sont réservées jusqu’à sa fin. Comme ces mécanismes
sont assurés par les rollback segments, ils sont également abordés dans ce chapitre.
Chapitre 9 : Le dictionnaire de données Oracle8i
Le dictionnaire de données Oracle8i est souvent obscur, même pour de nombreux administrateurs Oracle8i. Ce chapitre traite à la fois de sa création « minimale », des différents scripts
SQL additionnels et des vues qui permettent d’y accéder. Les vues DBA, ALL, USER, V$
sont développées car leur connaissance générale est indispensable à tous les administrateurs
Oracle8i. En outre, nous fournissons une liste complète de ces vues.
Partie III : Installer et paramétrer Oracle8i pour Linux
Chapitre 10 : L’installation d’Oracle8i sous Linux
Oracle8i est un produit très complet, qui intègre la base de données mais aussi tout un assortiment d’utilitaires et de logiciels. Nous détaillons l’ensemble de ces logiciels, en précisant
leur utilisation. Nous installons Oracle8i et une base initiale utilisée dans tous nos tests.
Chapitre 11 : Création d’une base Oracle8i
Le logiciel Oracle Database Assistant (écrit en java) offre une interface graphique conviviale
destinée à vous assister lors de la création d’une nouvelle base de données. Si l’interface
graphique constitue un plus, la création d’une base demeure néanmoins complexe. C’est pourquoi toutes les étapes sont particulièrement détaillées.
Chapitre 12 : Net8, le middleware Oracle
Ce chapitre explique comment installer, configurer et mettre en œuvre Net8, le middleware de
communication Oracle8i. Des exemples précis sont fournis pour vous seconder pas à pas.
5
6
Avant-propos
Chapitre 13 : ODBC et Oracle Objects pour OLE
ODBC et Oracle OLE Objects ne fonctionnent pas sous Linux. Ils sont réservés aux environnements Microsoft. Pourquoi dans ces conditions les faire figurer ici ? Tout simplement parce
qu’ils constituent la suite logique du chapitre précédent et qu’ils vous expliquent comment
faire cohabiter les postes Windows avec un serveur Linux. Nous abordons l’installation et la
configuration d’ODBC et d’Oracle OLE Objects, avec des exemples d’utilisation d’Excel et
de Word. La configuration ODBC est importante car elle est utilisée par de très nombreux
logiciels tiers qui se connectent à Oracle8i.
Partie IV : Outils et langages de programmation
Chapitre 14 : Programmer avec PL/SQL
PL/SQL est le langage procédural de troisième génération (L3G), extension du SQL, intelligemment intégré au serveur Oracle8i. Il permet de manipuler toutes les données Oracle8i :
relationnelles, objet-relationnel, Java. C’est un langage de programmation à la fois puissant,
simple et moderne, destiné à exprimer facilement vos règles de gestion complexes sous forme
de procédures et de triggers stockés.
Ce chapitre vous propose une prise en main progressive du PL/SQL, adaptée aux besoins des
développeurs. De nombreux exemples sont proposés, les différentes techniques exposées et
des règles de bonne programmation établies.
Chapitre 15 : Les outils d’Oracle8i
Depuis des années, chaque version d’Oracle8i est livrée avec un ensemble d’outils standard.
On retrouve ces outils sur toutes les machines où Oracle8i est installé. Il est très intéressant de
les découvrir car ils sont puissants et performants. Livrés gratuitement avec Oracle8i, ils
rendent l’utilisation de produits complémentaires facultative.
Ce chapitre aborde les outils suivants :
• Server Manager : c’est un outil privilégié pour effectuer des tâches d’administration déterminantes sur la base de données ;
• Export/Import : il s’agit de deux utilitaires qui fonctionnent l’un avec l’autre. Export
permet d’exporter la totalité ou une partie du contenu d’une base Oracle8i, Import autorise
l’importation de la partie exportée dans une base de données Oracle8i. Export/Import sont
principalement utilisés lors de sauvegardes, de réorganisations et de déplacement du
contenu d’une base Oracle8i d’une machine à une autre machine. La portabilité des fichiers
exportés permet, par exemple, à un Export réalisé sur une base Oracle8i fonctionnant sous
Windows NT d’être importé dans une base Oracle8i sous Linux et inversement ;
• SQL*Loader : c’est un utilitaire très puissant qui permet de charger des bases de données
Oracle8i à partir de fichiers contenant les données.
• SQL*Plus : c’est l’interface mode caractère d’accès à Oracle8i la plus répandue. Cet outil
est indispensable à tout développeur ou tout administrateur Oracle8i, car il représente
l’interface SQL privilégiée pour accéder à votre base Oracle8i.
Avant-propos
Chapitre 16 : Pilotes JDBC et SQLJ
Dans les architectures d’applications distribuées les middlewares jouent un rôle fondamental.
Ils servent à l’échange de données entre des application et des bases de données. Les standards
JDBC et SQLJ sont des middlewares destinés aux programmes Java qui permettent aux applications Java autonomes ou aux applets Java de communiquer avec des bases de données.
Ce chapitre vous explique quand et comment utiliser les pilotes JDBC. D’autre part, nous abordons SQLJ pour exposer comment incorporer facilement des instructions SQL dans du code Java.
Chapitre 17 : Java et Oracle8i
Ce chapitre aborde dans le détail les fonctionnalités Java intégrées dans le serveur de base de
données Oracle8i. Ce n’est donc pas un guide d’apprentissage du langage Java et sa connaissance est un prérequis à la lecture de ce chapitre.
Oracle8i fournit une plate-forme de déploiement destinée aux applications réseaux (intranet
ou Internet) qui intègre la machine virtuelle Java Oracle JServer dans son serveur de base de
données. Elle vient en complément du moteur PL/SQL. Avec Java et Oracle8i, il devient
possible de réaliser simplement des applications par composants sous forme d’Enterprise
JavaBeans, d’objets CORBA ou plus simplement de procédures stockées.
Chapitre 18 : XML et Oracle8i
XML, langage universel pour l’échange de données, est destiné à être utilisé de plus en plus
fréquemment. C’est pourquoi il est important d’y faire référence dans cet ouvrage, d’autant plus
que certains produits Oracle supportent déjà cette norme. Ce format de données peut être stocké
dans une base et facilite la manipulation des données et la communication entre applications.
Chapitre 19 : Oracle WebDB
Ce chapitre est consacré à la présentation d’un nouveau produit Oracle apparu avec la base
Oracle8i : WebDB. Même si cet outil est principalement destiné à développer des sites Web
fondés sur une base de données, il permet également de construire et d’administrer une base
Oracle à travers le Web.
Partie V : Administration d’Oracle8i
Chapitre 20 : Gestion de l’espace disque et des fichiers
Une base Oracle8i vous permet de stocker des données, de les modifier, de les supprimer, etc.
Toutes ces actions sont conservées dans les fichiers qui composent la base de données. Cependant, comment Oracle8i gère-t-il l’espace disque qui lui est alloué au cours de toutes ces
opérations ? Comment dimensionner la taille de votre base de données ? Comment contrôler
l’évolution des différents constituants et anticiper les problèmes ? Quels peuvent être ces
problèmes ? Ce chapitre répond à toutes ces questions par une approche théorique et pratique : il
vous aide à comprendre et agir au cœur de la gestion de l’espace disque de vos bases Oracle8i.
Chapitre 21 : Stratégie de sécurité sous Linux
Ce chapitre aborde le thème de la sécurité, les différentes techniques pour démarrer/arrêter
une base Oracle8i et s’y connecter avec ou sans mot de passe. Ces techniques sont intéres-
7
8
Avant-propos
santes car elles permettent de réaliser des scripts de commande, sans y faire figurer de mot de
passe : la sécurité du système n’est pas compromise. Il est ainsi possible de changer tous les
mots de passe sans risque de rendre des scripts inopérants.
Chapitre 22 : Oracle Enterprise Manager
Oracle Enterprise Manager est un environnement d’administration et de supervision de
nouvelle génération, développé d’une manière modulaire et ouverte. Très complet, il permet
d’envisager des tâches complexes avec beaucoup de sérénité. Nous décrivons ses différents
composants, leur mise en œuvre et leur utilisation.
Écrite en Java, l’interface graphique d’Oracle Enterprise Manager ne fonctionne pas sous
Linux actuellement. Pourtant, il nous paraît difficilement concevable que cet état de fait
persiste. Ce chapitre constitue un pari sur le portage de l’environnement Java d’Oracle Enterprise Manager sous Linux.
Chapitre 23 : La sauvegarde d’une base Oracle8i
Une base de données contient souvent des informations vitales pour votre société. La mise en
place de sauvegardes simples et efficaces est essentielle à votre sécurité et tranquillité d’esprit.
C’est la tâche majeure dévolue à tout administrateur Oracle8i.
Ce chapitre a pour objectif de vous aider à choisir le meilleur système de sauvegarde. Nous
aborderons les différentes techniques de sauvegarde d’une base Oracle8i, nous évoquerons
Enterprise Manager avant de proposer une méthode simple et efficace de scripts pour automatiser les sauvegardes.
Chapitre 24 : Les disques durs
Ce chapitre commente un aspect important de votre système : le stockage des données. Différentes techniques existent sous Linux. Sous ces technologies, vous pouvez mettre en œuvre
des techniques RAID. Tous ce points sont traités dans le cadre de l’installation d’une base de
données, qui présente des contraintes spécifiques.
Chapitre 25 : Optimisation et performance
Comment tirer le meilleur parti d’Oracle8i sous Linux ? Le sujet est vaste : l’optimisation ou
« tuning » consiste à établir le meilleur niveau de performances d’un système en tenant
compte de contraintes souvent contradictoires. Notre objectif est de vous présenter les
éléments fondamentaux pour assurer des performances aussi bonnes que possible.
Partie VI : Annexes
Annexe 1 : Glossaire des termes utilisés
Liste et définitions des termes techniques utilisés dans ce livre.
Annexe 2 : Mémento SQL
Mémento d’ordres SQL, classés par thème. Ce mémento répertorie les commandes SQL
recensées. Nous expliquons brièvement l’utilité de chacune d’entre elles.
Avant-propos
Annexe 3 : Procédures pour le DBA
Ordres SQL utiles à un administrateur de bases de données Oracle8i.
Annexe 4 : Extensions de fichiers
Cette annexe précise la signification des différentes extensions de fichiers utilisés dans une
installation Oracle8i. Certaines peuvent être modifiées, mais il est toujours bon de conserver
un standard de nommage.
Annexe 5 : NLS, le support des langues par Oracle8i et l’Euro
Cette annexe traite du NLS (National Language Support), ou support des langues nationales
par Oracle8i. Les spécificités du stockage du caractère Euro dans une base Oracle8i sont abordées.
Annexe 6 : Sites Internet et bibliographie
Cette annexe fournit un ensemble d’adresses Internet pour obtenir des informations sur
Oracle8i. Elles constituent un excellent point de départ pour découvrir la richesse des sites
proposés, qu’ils soient d’origine Oracle ou non.
9
Téléchargement