- 1 - Telephone : +243970808519, +243897779961 Site internet : www.dba-rdc.org Numéro du document : 0.4 Auteur : Danny Nkutua Kalombo Date de publication : Septembre 2010 Dernière mise à jour : Avril 2012 Résumé des modifications : Version Description Date 0.1 (Danny Nkutua) 0.2 (Danny Nkutua) 0.3 (Danny Nkutua) Version initiale. Clarification des textes et autres détails. Ajout des captures d écrans, détails sur les commandes SQL*PLUS et retouche sur la présentation dans son ensemble. Septembre 2010 Novembre 2010 Décembre 2010 0.4 (Danny Nkutua) Mise à jour avec Oracle 11g, correction générale et ajout des détails dans les concepts théoriques. Avril 2012 Droits d auteurs : Aucune partie de cet ouvrage ne peut être reproduit, transcrit, transmit ou traduit dans une autre langue dans n importe quelle forme que ce soit électronique, magnétique, optique, manuelle sans la permission écrite de l auteur sous peine des poursuites judiciaires conformément à la loi congolaise (RDC) des droits d auteurs. Pour tout contact avec l auteur : +243970808519, +243897779961 Editeur : Stella Publising
- 2 - À Berlishe, Nahomie et Benitan. Vos sourires m ont permis de continuer -Danny
- 3 - Remerciements Nous ne saurions publier cet ouvrage sans pour autant remercier toute l équipe NSAT Technologies pour son soutient lors de la première publication. Nous tenons également à remercier tous ceux qui de près ou de loin ont contribué à cette version corrigée. Je citerais l Assistant Selain KASEREKA avec qui nous avons initié le premier projet de formation Oracle Administration Workshop 1, Allain KATAKU pour la disponibilité de ses documentations, Chicco BADIBANGA pour son soutient et ses multiples sacrifices pendant mes premiers pas avec Oracle (Qui n est plus de ce monde), Daniel KALONJI pour ses lectures et corrections, Christian BOPE DOMILONGO pour l environnement de son entreprise lors de mes premiers pas. A toi aussi, pour la lecture de cette ouvrage Si vous avez une quelconque question ou commentaire à propos de cet ouvrage, n hésitez pas à me contacter personnellement sur admin@dba-rdc.org ou dnkutua@gmail.com.
- 4 - Pourquoi devenir DBA? Commençons par le commencement. Dans une entreprise, vous trouverez certainement toutes sortes d informaticiens qui manipulent à la perfection les bases des données (les ingénieurs systèmes, les développeurs, les techniciens de supports aux applications, etc.). Dans un tel environnement, on pourrait bien se demander à quoi bon vouloir se spécialiser dans les bases de données? Réfléchissions encore. Tout le monde ne développe pas des applications Java, Python ou C# par exemple, ni ne configure des routeurs Cisco et encore moins n élabore les plans des projets. Toutefois, presque tout le monde manipule les bases de données d une manière ou d une autre. La conclusion à notre réflexion semble d une évidence certaine : un développeur, un administrateur réseau, un software security officer, un administrateur des projets, un technicien de support et même un encodeur possède une zone d activité où il règne en maître, excepté l administrateur de base de données (Data Base Administrator ). Cette réflexion n est pas fausse, quoiqu elle mérite une certaine rectification. Voyons pourquoi les DBA sont toujours là alors qu ils semblent ne rien faire de spécial surtout que dans la plupart du temps, après quelques vérifications matinales, ils passent le reste de la journée à la lecture, correction des quelques scripts et ouf, facebook, twitter, google+, dba-rdc ou je ne sais quoi d autres. Bon, répondons à présent à la question fondamentale de savoir pourquoi devenir DBA? À cela, nous allons y répondre par une métaphore. Actuellement les avions les plus sophistiqués sont de plus en plus facile à manipuler. Ceci grâce aux systèmes de pilotage automatique. De ce fait, vous pouvez piloter un avion après un après midi de formation. C est simple du fait que la machine accomplit 95% du boulot tout seul. Pourtant, pourquoi faut-t-il faire des hautes études aéronautiques pour devenir pilote qualifié? La réponse est simple, quand tout va bien dans un avion, vous ne voyez certainement pas pourquoi applaudir à l atterrissage pour des pilotes qui ont passé tout leur temps à bavarder bien au frais dans leurs cabines! Cependant, dans le cas contraire, quand les choses tournent mal, c est la panique dans l avion. Il y a alors une évidence : une mauvaise manipulation de la part du pilote peut coûter la vie à tous les passagers. Dans une telle situation, le choix entre un nouveau pilote fraichement sortie de l école et un pilote qualifié et expérimenté se fait ressentir. J imagine la
- 5 - scène, tous les passagers prient pour que le pilote leur rassure que le désagrément est mineur, qu il a déjà connu ce genre de problème et qu il sait comment s y prendre. C est exactement la même chose avec le DBA, c est quand les autres n arrivent pas à avoir les réponses à leurs requêtes, quand le serveur arrête de fonctionner brusquement, quand les procédures ne tournent plus, quand des messages incompréhensible s affichent à votre écran alors qu aucune manipulation spéciale n a été faite, quand vous n arrivez pas à vous connecter avec votre mot de passe que vous avez utilisé il y a de cela 5 minutes, quand votre bouton à cliquer n est plus cliquable, quand la documentation vous demande de cliquer sur le bouton yes de la fenêtre suivante et que sur votre écran la fenêtre n a qu un seul bouton qui est le no, pfff, quand vous êtes perdu et ne savez plus prendre votre pieds avec la base de données C est dans des telles situations que les développeurs, les administrateurs réseau et systèmes, les financiers, les comptables, les managers et tout autre agent se rendent compte qu il faut appeler la personne qui d apparence ne semble rien faire de spécial et pourtant sans qui rien ne peut se faire : moi, le DBA. Ainsi, dans la suite de cet ouvrage, nous allons apprendre à devenir et à avoir les reflexes de ce pilote qui sait résoudre les problèmes sans que les passagers ne s en rendent compte. Qu ils continuent à croire que nous ne faisons rien, c est le boulot d un DBA que de veiller à ce que les autres ne se rendent même pas compte de tout ce qui arrive au système même en cas de problème. Un DBA doit être proactifs. Le système doit rester accessible quelque soit les circonstances et ce, dans la plus grande ignorance des utilisateurs. C est pour atteindre ce niveau que j ai lu des dizaines des livres manuscrits, des centaines des documentations électroniques, je me suis abonné à des dizaines des clubs des DBA Oracle, j ai effectué des milliers des tests, assuré volontairement le support DBA dans des environnements réels de production, passé des milliers des heures devant des serveurs Oracle, animé des formations et séminaires parfois bénévolement, Pour finalement devenir un DBA Oracle. Connaissez-vous une entreprise sans DBA? Quelque soit votre expérience avec Oracle (Administrateur, développeur, utilisateur, etc.), il est important de vous mettre continuellement à jour avec les nouvelles versions qui apportent leurs lot de facilitation des tâches en modifiant quelque fois certains aspects de l architecture même du serveur.
- 6 - L expérience étant la clé d or des compétences d un DBA, vous devez apprendre à surmonter les problèmes et vous affilié à des administrateurs expérimentés sans pour autant négliger les lectures et partage des connaissances. Notons également que pour ceux qui désirent passer la certification (source de crédibilité et assurance d un salaire au dessus d une certaine limite), les désignations anglaises des composants sont obligatoires (ne vous conformez pas au français si vous désirez passer la certification, je sais de quoi je parle ).
- 7 - A qui s adresse cet ouvrage? Tel que structuré et présenté, cet ouvrage s adresse principalement aux administrateurs de bases de données qui veulent migrer vers une solution Oracle ou même ceux qui veulent prendre Oracle comme leur premier environnement d administration des bases de données. En second lieu, il s adresse aux développeurs, administrateurs systèmes, tout curieux de la science et particulièrement des bases de données. Toutefois, il est essentiellement axé vers une politique de migration vers le système de gestion de base de données Oracle (dans sa version 11g Release 1). Il est donc important que le lecteur ait au préalable certaines connaissances dans les bases de données, précisément sur le modèle relationnel et le langage SQL. Néanmoins, en séance préparatoire de la formation, nous balayons les notions de conception et implémentation d une base de données sous MERISE pour une bonne entrée dans la matière. Comme tout domaine technique, la théorie est certes importante à la compréhension, mais seul la pratique et la détermination fera de vous un As des bases de données Oracle.
- 8 - Le hasard n existe pas, n y espérez rien de lui Un bon joueur, reste toujours en mouvement même s il n a pas la balle 6 LES OUTILS D ADMINISTRATION Au cours de cette sixième partie qui sera très bien décortiqué dans nos ateliers pratiques, nous apprendrons essentiellement les points suivants : VI.1. Rappel sur la notion d administration d une base de données VI.2. Les outils Oracle pour l administration : sql*plus, i*sqlplus, Oracle Enterprise Manager VI.2.1. SQLPLUS ; VI.2.3. Le Database Control et le Grid control ; VI.2.4. SQL Developper ; VI.2.4. Toad.
- 9 - VI. OUTILS D ADMINISTRATION D ORACLE VI.1. Rappel sur la notion d administration d une base de données Rappelons que les rôles principaux d un DBA sont les suivants : Installer les logiciels Oracle ; Planifier et créer des bases de données ; Gérer l'espace et implanter les schémas des données ; Assurer la sécurité, l'intégrité et la pérennité des données ; Effectuer des réglages pour optimiser les performances. VI.2. Les outils Oracle pour l administration : sql*plus, i*sqlplus, Oracle Enterprise Manager Explorons à présent sqlplus et i*sqlplus (l Enterprise Manager sera aborder dans les séances pratiques) VI.2.1. SQLPLUS Oracle dispose de plusieurs outils d administration dont le plus intuitif est la console SQLPLUS. SQLPLUS est l'outil d'oracle permettant l'utilisation du langage SQL. Cependant il offre en plus diverses commandes de manipulation de commandes SQL, de formatage des affichages écran etc. formant ce que nous appellerons l'environnement SQLPLUS et qui est présenté partiellement dans les lignes qui suivent. Notez que pour accéder à une base de données à partir de SQLPLUS, vous devez vous rassurer de ce qui suit : Sqlplus est installer sur votre machine ou qu il est accessible sur le serveur via une connexion distante ou une session telnet. Vous avez un compte et un mot de passe valide pour la base que vous voulez interroger ; Vous disposez de la chaine de connexion Oracle Net pour la base de données que vous voulez interroger. SQLPLUS s'appelle à partir de Dos par la commande : sqlplus Apparaît alors le message de connexion suivant : SQL*Plus: Version 3.0.7.1.1 - Production on Thu Oct 10 13:24:03 1991 Copyright (c) Oracle Corporation 1979, 1989. All rights reserved. Enter user-name: danny3d Enter password: Connected to: ORACLE RDBMS V6.0.30.2.1, transaction processing option - Production PL/SQL V1.0.30.0.1 - Production
- 10 - Il vous est demandé votre nom ainsi que votre mot de passe de connexion. Pour vous connecter, vous pouvez aussi utiliser la syntaxe suivante : sqlplus nom_utilisateur/mot_de_passe Par exemple sqlplus danny3d/tchika SQLPlus 2/132 Une fois la connexion avec Oracle établie, SQLPLUS affiche son message d'attente : SQL> Indiquant qu'il attend une commande SQL ou SQLPLUS : Les commandes SQL permettent de créer, mettre à jour et exploiter les tables de données. Ex : select * from biblio; Les commandes SQLPLUS permettent de manipuler l'environnement dans lequel vont s'exécuter les commandes SQL : éditer, sauvegarder, récupérer des commandes SQL préciser le formatage désiré pour le résultat des requêtes SQL diverses commandes Ex : describe biblio a. Syntaxe des commandes SQL Voici quelques règles d'écriture des commandes SQL : 1. Elles peuvent s'écrire indifféremment en majuscules ou minuscules. Par la suite, nous écrirons les noms des tables et colonnes en majuscules et le reste en minuscules. 2. Une commande SQL se termine par ; ou / ou une ligne blanche : ; indique la fin de la commande et demande son exécution / idem à ; mais doit être seul sur sa ligne. ligne blanche termine la commande sans lancer son exécution 3. Une commande SQL peut s'étaler sur plusieurs lignes. Après chaque ligne, l'interpréteur génère une ligne supplémentaire numérotée et ce tant qu'il n'a pas rencontré la fin de la commande. select * from biblio; select * 2 from biblio; <--- 2 est le N de ligne Sont deux commandes identiques.
- 11 - b. Syntaxe des commandes SQLPLUS Voici quelques règles d'écriture des commandes SQLPLUS : 1. La commande peut être entrée indifféremment en majuscules ou minuscules. 2. La plupart des commandes SQLPLUS ont une abbréviation. Par exemple la commande input peut être abrégée par i. 3. Une commande SQLPLUS peut être tapée sur plusieurs lignes, chaque ligne intermédiaire étant terminée par -. SQLPLUS commence la ligne suivante par > : Exemple : SQL> column genre - > heading 'GENRE DU LIVRE' 4. Une commande SQLPLUS ne se termine par rien de particulier. Cependant le pointvirgule est accepté. La commande exit vous permet de revenir au système d exploitation c. Exécuter une commande système : commande host Syntaxe : host commande_système Cette commande vous permet d exécute la commande du système d'exploitation. Syntaxe : host Host sans commande vous fait apparaître le prompt du système d'exploitation. On peut alors taper des commandes quelconques. On revient à SQLPLUS par la commande exit. Les exemples pratiques (voir TP ) montrent que le répertoire courant pour SQLPLUS est celui à partir duquel il a été lancé. Il ne semble pas possible d'en changer. Cette notion de répertoire courant est importante car c'est là que SQLPLUS rangera certains des fichiers qu'il produira. d. Gestion du buffer SQL Sous SQLPLUS, on entre des commandes SQL ou SQLPLUS. La dernière commande SQL entrée au clavier est enregistrée dans une zone appelée buffer SQL. Tant qu'elle est présente dans ce buffer, la commande peut être modifiée, sauvegardée, relancée, etc... Les commandes de gestion du buffer SQL sont des commandes SQLPLUS et obéissent donc à la syntaxe déjà présentée. Noter que les commandes SQLPLUS émises ne sont pas mémorisées. e. Edition du buffer Les commandes d'édition du buffer s'appliquent à une seule des lignes constituant la commande SQL qui y est contenue. Celle-ci est signalée par une étoile et est appelée ligne courante.
- 12 - Exemple : SQL> select * <-- commande SQL sur 3 lignes 2 from biblio <-- elle est automatiquement enregistrée dans le buffer 3 where prix>100; SQL> list <-- commande SQLPLUS visualisant le buffer SQL 1 select * 2 from biblio 3* where prix>100 <-- la ligne 3 est ligne courante SQL> list 2 <-- on demande à voir la ligne n 2 du buffer 2* from biblio <-- elle est devenue ligne courante La commande CLEAR BUFFER permet de vider le buffer. Il existe plusieurs autres commande pour la gestion des buffers que nous ne pourrons explorer lors des séances pratiques. f. Exécution du buffer SQL Syntaxe run (abbréviation r) Action exécute la commande SQL du buffer Exemple : SQL> l <-- contenu du buffer SQL 1 select * 2 from biblio 3* where prix>100 SQL> run <-- exécution du buffer 1 select * 2 from biblio 3* where prix>100 TITRE AUTEUR GENRE ACHAT PRIX D -------------------- --------------- --------------- --------- ---------- - Mikombe Berlishe Roman 01-JAN-91 130 O L'adieu Benitan Roman 01-FEB-91 150 o Nous avons vu quelques commandes SQL*Plus, d'autres seront présentées au gré des besoins. Notons qu'il existe des moyens beaucoup plus conviviaux que SQLPLUS pour travailler avec Oracle notamment avec des interfaces graphiques.
- 13 - VI.2.2. L'environnement isql*plus d'oracle isql*plus n est rien d autre que SQL*plus implémenté dans un environnement graphique (web). Toutes les commandes SQL*Pluss sont donc valides dans isql*plus. Par défaut, seule la connexion en tant qu utilisateur normal (non SYSDBA ou SYSOPER) est autorisée. Par contre, la connexion en tant qu utilisateur SYSDBA ou SYSOPER est protégé par ne authentification au niveau du serveur http. Plus des détails sur l isql*plus seront abordés durant nos ateliers pratiques. Pour l autoriser, il faut au choix : Ajouter des entrées (utilisateur/mot de passe) à l aide de l utilitaire htpasswd dans un fichier d authentification du serveur http (défini par défaut dans le fichier de configuration isqlplus.conf situé dans ORACLE_HOME\sqlpllus\admin\iplusdba.pw). Désactiver l authentification du serveur http pour ce type de connexion (directive <Location/isqlplus> dans le fichier de configuration isqlplus.conf). Le processus isql*plus doit s executer sur le serveur (vous pouvez le demarrer manuellement avec la commande isqlplusctl start). VI.2.3. Le Database Control et le Grid control A partir de la version 10g la base de données Oracle s est dirigée vers le web pour fournir une nouvelle version d Enterprise Manager. Le Database Control permet l administration d une seule base de données alors que le Grid control permet de centraliser la gestion de plusieurs bases à la fois. Le Database Control est en réalité un sous ensemble du Grid Control, correspondant à l administration de la base de données choisie. Contrairement au Grid Control qui doit être installé séparément d Oracle, le Database Control est inclus dans l installation d Oracle. Remarque : Au cours de nos ateliers pratiques, nous allons aborder la configuration des outils clients (Toad, SQL Navigator, etc.) et leur utilisations. VI.2.4. SQL Developper Durant nos ateliers pratiques
- 14 - VI.2.4. Toad for Oracle Durant nos ateliers pratiques
- 15 - Résumé du stagiaire.......
- 16 - I. Bibliographie générale 1. B. Bryla et K. Loney, Oracle Database 11g DBA Handbook,, Mc Graw-Hill 2008. 2. C. Soutou, SQL pour Oracle, Eyrolles 2010. 3. C. Soutou, UML 2 pour les bases de données, Eyrolles 2007. 4. E. O Neil, Conduire des projets informatique Offshore, Eyrolles 2005. 5. G. Briard, Oracle 10g sous Windows, Eyrolles 2006. 6. J. Gabillard, Oracle 10g SQL, PL/SQL, SQLPLUS, Eni 2005. 7. J. PRICE, Oracle Database 11g SQL, Mc Graw-Hill 2008. 8. O. Heurtel, Oracle 10g Administration, Eni 2005. 9. N. Bhakthavatsalam et S. Sharma, Oracle Database 11g Administrator s Reference, Oracle 2007. 10. C. Dawes, B. Bryla, J.C. Johnson et M. Weishan, OCA : Oracle 10g Administration I, Sybex 2005. 11. D. Stuns, T. Buterbaugh et B. Bryla, OCP : Oracle 10g Administration II, Sybex 2005. II. Webographie générale 1. http://www.oracle.com 2. http://solutions.oracle.com 3. http://www.orafaq.com 4. http://didier.deleglise.free.fr/plsql 5. http://lecoindudba.pagesperso-orange.fr 6. http://www.wikiora.com 7. http://www.stanford.edu/dept/itss/docs/oracle/10g/network.101/ 8. http://mbouayoun.developpez.com/questionnaires/tablespaces/