bd sous linux-%5b%5d

510

Upload: bilal-kifahi

Post on 26-Jul-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Bases de donnessous LinuxCHEZ LE MME DITEURDU MME AUTEURG. BRIARD. Oracle8i sous Linux (2me tirage). N9135, 2000, 650 pages + CD-Rom.G. BRIARD. Oracle8 pour Windows NT.N9023, 1998, 350 pages + CD-Rom.BASES DE DONNESC. SOUTOU. Objet-relationnel avec Oracle8. N9063, 1999, 480 pages.G. GARDARIN. Les bases de donnes.N9060, 1999, 816 pages.G. GARDARIN. Internet/intranet et bases de donnes.N9069, 1999, 264 pages.LINUXP. WAINWRIGHT Apache professionnel. N9150, 2000, 650 pages.H. HOLZ, B. SCHMITT, A. TIKART. Internet et intranet sous Linux.N9101, 1999, 474 pages + CD-Rom.C. BLAESS. Programmation systme en C sous Linux.N9136, 2000, 960 pages.N. MATTHEW, R. STONES. Programmation Linux.N9129, 2000, 900 pages.D. ODIN. Programmation Linux avec GTK+.N9115, 2000, 684 pages.A. BERLAT, J.-F. BOUCHAUDY, G. GOUBET. Linux Administration.N9147, 2000, 480 pages.DVELOPPEMENT WEB/INTRANETL. LACROIX, N. LEPRINCE, C. BOGGERO, C. LAUER. Programmation Web avec PHP. N9113, 2000, 382 pages.A. PATZER. Programmation Java ct serveur. Servlets, JSP et EJBN9109, 2000, 984 pages.A. TASSO. Le livre de Java premier langage. N9156, 2000, 312 pages.N. MCFARLANE. JavaScript professionnel.N9141, 2000, 950 pages.J.-C. BERNADAC, F. KNAB. Construire une application XML. N9081, 1999, 500 pages.David EganPaul ZikopoulosBases de donnessous LinuxDITIONS EYROLLES61, Bld Saint-Germain75240 Paris Cedex 05www.editions-eyrolles.comTraduction autorise de louvrage en langue anglaise intitul :DBAs Guide to Databases on Linux, including Oracle and MySQL,by David Egan and Paul Zikopoulos.Syngress Publishing Inc., ISBN : 1-928994-04-0Traduction de langlais par Martine ChalmondLecodedelapropritintellectuelledu1erjuillet1992interditeneffetexpressmentlaphotocopie usage collectif sans autorisation des ayants droit. Or, cette pratique s'est gn-ralisenotammentdanslestablissementsd'enseignement, provoquantunebaissebrutaledes achats de livres, au point que la possibilit mme pour les auteurs de crer des uvresnouvelles et de les faire diter correctement est aujourd'hui menace.En application de la loi du 11 mars 1957, il est interdit de reproduire intgralement oupartiellement le prsent ouvrage, sur quelque support que ce soit, sans autorisation de l'diteur ou duCentre Franais d'exploitation du droit de Copie, 20, rue des Grands Augustins, 75006 Paris. 2000, Syngress Publishing Inc. All rights reserved. ditions Eyrolles, 2000. VersioneBook(ISBN) de l'ouvrage : 2-212-28068-8Dpt lgal : septembre 2000N dditeur : 6159RemerciementsNous souhaitons remercier, pour leur gentillesse et leur aide, les personnes sans quice livre naurait pas vu le jour.RichardKristof,DuncanAnderson,JenniferGould,RobertWoodruff,KevinMurray, Dale Leatherwood, Shelley Everett, Laurie Hedrick, Rhonda Harmon, LisaLavallee et Robert Sanregret de Global Knowledge, qui nous ont facilit laccs auxmeilleures formations professionnelles sur les systmes dinformation.RalphTroupeetlquipedeRt.1Solutionspourleursrecherchesincomparablesdanslesdomainesdelaconception,dudploiementetdelassistance,concernantles rseaux propres aux entreprises.KarenCross,KimWylie,HarryKirchner,JohnHays,BillRichter,KevinVotel,Briton Clark, Sarah Schaffer, Luke Kreinberg, Ellen Lafferty et Sarah MacLachlande Publishers Group West, qui ont bien voulu partager leur immense exprience etleur expertise en marketing.Peter Hoenigsberg, Mary Ging, Caroline Hird, Simon Beale, Julia Oldknow, KellyBurrows,JonathanBunkell,CatherineAnderson,PeetKruger,PiaRasmussen,DeneliseL'Ecluse,RosannaRamacciotti,MarekLewinson,MarcAppels,PaulChrystal, Femi Otesanya et Tracey Alcock de Harcourt International,qui nous ontencourags dans notre vision douverture au monde entier.Une mention spciale pour les professionnels dOsborne. Nous sommes honors depublier avec eux des ouvrages de renom, dans la srie Global Knowledge Certifica-tion Press. copyright ditions EyrollesLes auteursTom Bascom est architecte dentreprise chez EDS et responsable des consul-tationsenmatiredestechnologiesdentrepriseetdeschangesdinforma-tion entre EDS et ses clients. Il est charg de la formulation de stratgies inter-entreprises et assume un rle de conseil au niveau de la conception, du dve-loppement,delimplmentationetdelagestiondesproduitsetsolutionsappropris.Tomaparticiprgulirementllaborationdesproduitsutili-sant la base de donnes Progress depuis 1986, ainsi qu Linux depuis 1994 ;il apporte frquemment sa contribution des forums publics tels que PEG oulegroupedenewscomp.databases.progress.Tomsefaitconfrencierloccasion,etilestlauteurdarticlestechniques,ouspcifiquesdelindus-trie, dans le magazine Progressions.Jamieson Becker est ingnieur, spcialiste de Linux/UNIX et Windows NT ;ilestpropritairedeRing0.com,unesocitdeservicesweb.Depuissesdbuts en informatique, en 1980, Jamieson est devenu un consultant accom-pli, partenaire dIBM, Compaq, Carrier, Brown & Williamson, VoiceStream,Cargill et Citizens. Jamieson est spcialise des grandes applications web utili-santLinux.Ilvitavecsafemme,Jennifer,etsonchat,Angie,Atlanta,enGeorgie. On peut le joindre par e-mail jamiebecker@ring0.com.GeoffCrawforddirigeunesocitdeconseilimplanteauNewJersey,Innov8ComputerSoftware,LLC(www.innov8cs.com).IlpratiqueProgressdepuis 15 ans, titre professionnel. Geoff est actif au sein du Progress E-mailGroup, auteur de Progress ODBC FAQ et intervient dans les confrences desutilisateurs Progress. Son temps libre, Geoff le partage, en une combinaisoninattendue, entre la recherche de ses origines allemandes en Pennsylvanie etlcoute de Pantera. copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurVIIIMark Connoly travaille sur les bases de donnes relationnelles depuis 1987.Il a une grande exprience de DB2, Informix et Oracle, acquise dans des fonc-tions aussi diverses quadministrateur de base de donnes, dveloppeur, chefde produit et spcialiste en marketing.BradDietrich(B.S.ComputerScienceandElectricalEngineering)atravaill aussi bien en tant que professionnel quau titre de la recherche danslespaceInternet,dssonapparition.Ilestconsidrcommelundesing-nieurssurlesquelsreposeSoftwareEngineersforChannelDotNetworks,SanFrancisco,CA.AvantderejoindreChannelDot,ilafondetdirigDefTechContracting(www.deftech.com),uneentreprisededveloppementdapplicationswebetinternet,oiladveloppdesapplicationswebmondialement connues pour de nombreux clients, dont Mattel et Spyglass. Ilaconduitdesprojetsdegrandeampleur,quivontdele-commercelint-gration de systmes existants et de bases de donnes qui se mesurent en tera-bytes. Il a particip, au sein de la communaut open source, des dveloppe-mentsquivontdapplicationsmiddlewareaucontournementdeboguescontenus dans des pilotes dorigine propritaire. Avant de dmarrer son entre-prisededveloppementdapplicationsInternet,iladveloppdesapplica-tionswebdegestionderseauchezFORESystemsainsiquedessiteswebdducation distance pour luniversit Carnegie Mellon. DavidEgan(P.Eng.,BAScEnginering,UniversitdeToronto,MCT,RHCE),avcudansdiffrentspaysettravaillsurdesmicro-ordinateursdepuislespremiersdbutsdAppleetduPCdIBM.Lepremier travail-avec-passion ( hobby-turned-job )deDavidfutlaprogrammationenlangageCetenassembleurZ80,pendantcinqans.Davidestconsultantenmatire dintgration des systmes VMS/UNIX/NT/PC et formateur en tech-nologiedepuis15ans.Ilcritdeslivresloccasionmais,laplupartdutemps, il se consacre aux activits de direction et de conception de sminairessurUnix,NTetLinuxpourGlobalKnowledgeInc.Cary,NC :http://www.globalknowledge.com.Quandilnestpassurlarouteprcherles vertus de Linux et de NT, il rside prs de Vancouver, BC, avec son adora-ble femme Deborah et leurs enfants, Vanessa et Callen. On peut leur crire [email protected] ou [email protected], ou sur http://home.istar.ca/ egand.BrentGilmore(SunCertifiedSolarisAdministratoretSunCertifiedNetworkAdministrator)estadministrateurOracleetdveloppeurpourluniversit dtat de San Diego. Il travaille dans linformatique depuis 1989et a obtenu un certificat B.S. en systmes dinformation et un certificat M.S.en gestion dadministration des affaires. Brent se sert de Linux depuis 1996 etdOracle depuis 1997. Il travaille actuellement au dveloppement dapplica-tionsInternetetlaconceptiondebasesdedonnesutilisantOracle8/8i,Linux, Perl, PL/SQL, OAS et Apache. copyright ditions EyrollesLes auteursIXBryan Schwab (B.S. Computer Engineering, Florida Atlantic University) estingnieur principal chez Billpoint, une entreprise spcialise dans les portails(eBay),oilestresponsabledudveloppementdelalogistique(backend)pourle-commerce,dontlesserveursdecommandesetdexpditions,lesspcifications de scurit, les systmes de monitoring et lintgration dappli-cations stratgiques majeures. Aprs plus de 10 ans dexprience de lingnie-rie de logiciel, Bryan se spcialise dans les architectures de base de donnesbackendsurLinux,Solaris,FreeBSD,OpenBSDetWindowsNT/9X.Ilaconu et implment des systmes dinformation pointus et des programmesde gestion de grande envergure pour des socits telles que Wired Digital ouNetGravity. Il crit dans Wired Magazine et Webmonkey.TimSchaeferestadministrateurdebasededonnesInformixetconsultantendatawarehousing.IltravailleactuellementpourGalaxyLatinAmericDirecTV, Fort Lauderdale, Floride. Il a travaill sur des bases des donnesInformixdetoutestailles,allantdusystmequipdumoteurstandardsurmachine Xenix 80286, avec seulement 16 Mo de mmoire, jusqu des entre-ptsdedonnesgrandechellequipsdeInformixExtendedParallelServer(XPS).Ilestdanslinformatiquedepuis1985,depuislecollge(universitWebsterdeSaint-Louis),ettravailleaveclesproduitsInformixdepuis 1988. A son actif, retenons sa participation un groupe internationalde dveloppeurs et dhommes daffaires choisis pour promouvoir les avanta-ges dInformix sur Linux. Il gre aussi le site InxUtil, http://www.inxutil.com,unsitewebddiauxoutilsInformix,etsimpliqueactivementdanslegroupe des utilisateurs Informix Sud Floride Ft Lauderdale. Tim est aussi unadepte de la plonge sous-marine, et le mieux, pour le rencontrer, est dallerfaireuntour,certainsweek-endsdeprintempsetdt,surlactedeFt.Lauderdale ; on le trouvera au milieu des poissons, des paves et des rcifs.On peut aussi joindre Tim [email protected] Vasudevan Al Dev (B.E. Osmania University, M.S Universityof Texas El Paso), a dmarr sa carrire informatique en 1985. Depuis lors,il a beaucoup travaill avec les bases de donnes sous Unix/C/C++/SQL. Il auneexpriencedue-commerce,deLinuxetdeHTML.ParmisestravauxannexesfigurentlcrituredunbonnombrededocumentationspourLinux/UNIXainsiqueledveloppementdelogicielspourLinux/UNIX.AlDevvitPearland,Texas;lasemaine,ilestconsultantpourdessocitsimplantes Houston et dans les environs.PaulZikopoulosestunmembreseniordelquipededveloppementetdinformation sur DB2, spcialis dans linstallation de DB2 et les problmesdeconfiguration.IlaplusdecinqansdexpriencesurlabasededonnesuniverselleDB2;ilacritdesarticlesdansdenombreuxmagazinesetdeslivressurDB2.PaulestlargementcertifiIBM:IBMCertifiedAdvancedTechnical Expert (DRDA et Cluster/EEE) et IBM Certified Solutions Expert copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXsurlabasededonnesuniverselleDB2.Onpeutlejoindrepaulz_ibm@yahoo.com.PaulsouhaiteremercierSusanWilliamsetDarinMcBride, dveloppeurs IBM, de leur aide et leur passion pour DB2 et Linux.Collaborateurs techniquesChris Rogers a configur des serveurs Linux depuis 1994. Pour donner uneide de ce que cela reprsente pour lvolution de lindustrie informatique, lenavigateurwebtaitalorsMosaic,Netscape0.9avaittoutjusteatteintlessites FTP, et la distribution Slackware sans X-Windows tenait encore sur troisdisquettesde3.5poucesseulement.ChrisestmaintenantCEOchezPowerStreak Networks, un fournisseur de services de gestion qui se spcialisedans la gestion des rseaux de clients et se sert de serveurs Linux. Chris peuttre joint crogers@powerstreak.com.DavidC.Niemiestingnieurrseauseniordansunegrandesocitfinan-cire. Il est aussi prsident et co-fondateur de Tux.Org, une socit sans butlucratif voue lassistance et la formation sur les logiciels libres. Depuis1993,ilapportesacontributionaudveloppementdunoyauLinuxetdautres projets de logiciels libres. copyright ditions EyrollesTable des matiresINTRODUCTION .................................................................................1CHAPITRE 1LE SYSTME DEXPLOITATION LINUX ...........................9Le noyau Linux.....................................................................................11Lavenir du dveloppement de Linux .....................................................12Distributions Linux.................................................................................13Pourquoi payer une version commerciale de Linux ? .........................13Diffrences entre Linux et les autres systmes dexploitation..........14Fort potentiel..........................................................................................14Multitche......................................................................................15Architectures multiprocesseurs (SMP)..............................................15Mmoire virtuelle 32 bits (et 64 bits sur RISC) .................................15Compatibilit binaire, le format ELF................................................15Multi-utilisateur..............................................................................16Oprations en mode noyau compltement protg .............................16Interface graphique X Window gratuite ............................................16Applications Windows/DOS, VMWare ............................................16Fonctions rseau tendues ...............................................................17Services web standard.....................................................................17Services UNIX standard..................................................................17Pourquoi choisir Linux........................................................................18Quand utiliser Linux ..............................................................................18Serveurs et stations de travail ................................................................18Matriel recommand ............................................................................20 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXIITrouver les pilotes.......................................................................... 20Migrer vers des stations de travail Linux.............................................. 20Distributions de Linux ........................................................................ 21Revue rapide des distributions .............................................................. 21Debian GNU/Linux 2.1 .................................................................. 22Caldera OpenLinux 2.3................................................................... 22TurboLinux 4.0.............................................................................. 22Linux Red Hat 6.1.......................................................................... 22Linux Mandrake PowerPack 6.1...................................................... 23SuSE Linux 6.3.............................................................................. 23Rcapitulation des serveurs de base de donnes................................ 23SPIRO-Linux................................................................................. 24Corel Linux ................................................................................... 24Rflchir avant la mise jour ou la migration ................................. 25Compatibilit matrielle........................................................................ 25Environnement de test .................................................................... 27Mise jour............................................................................................. 27Migrer depuis un autre systme dexploitation..................................... 27Choisir une distribution......................................................................... 28Comment entamer le processus.......................................................... 28Formation de lquipe ........................................................................... 29Solutions prsenter votre directeur.............................................. 29Faire une analyse correcte des cots ................................................ 30Rsum.................................................................................................. 30FAQ....................................................................................................... 31CHAPITRE 2INSTALLATION DE BASE DE RED HAT LINUX...... 35Machine physique spare .................................................................... 36Choisir une distribution Linux............................................................... 37Dcisions prliminaires linstallation.............................................. 37Matriel ................................................................................................. 37Architecture multiprocesseurs............................................................... 38RAM....................................................................................................... 38Disques .................................................................................................. 38 copyright ditions EyrollesTable des matiresXIIIRAID.......................................................................................................39Cot des systmes RAID.................................................................39RAID matriel ou logiciel ...............................................................39Interface(s) rseau..................................................................................40Mesures de sauvegarde ..........................................................................40Assistance...............................................................................................41Prliminaires linstallation .................................................................41Installer Red Hat ..................................................................................41Un parcours dinstallation rapide .........................................................41Choisir un type dinstallation.................................................................44Installation dune station de travail...................................................44Installation dun serveur ..................................................................45Mise niveau .................................................................................46Installation personnalise ................................................................46Installation personnalise, ou manuelle .............................................47Crer les partitions de son choix............................................................47Partitions dchange multiples .........................................................47Supprimer une partition...................................................................47Modifier une partition .....................................................................48Ajouter une partition.......................................................................48Installation du rseau.............................................................................51Utiliser DHCP................................................................................52Activation au dmarrage, ou boot.....................................................52Ne pas utiliser DHCP......................................................................53Hostname.......................................................................................53Slection du fuseau horaire....................................................................54Configuration du compte root ................................................................54Authentification......................................................................................55Utiliser NIS ou NIS+ ......................................................................56Slection des paquetages........................................................................57Les paquetages de base ...................................................................57Services optionnels installer ..........................................................58Option Tout installer ..................................................................60Installation de X Window (optionnelle) .................................................60Logiciel serveur X..........................................................................62Modes vido X...............................................................................62 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXIVInstallation relle physique ................................................................... 62Installation des paquetages ................................................................... 64Installer Debian en jouant Tetris ................................................... 64Linux Loader (LILO) et disquette de dmarrage .................................. 64Configuration de LILO................................................................... 64Disque de boot durgence ............................................................... 64Installation termine ! ........................................................................... 65Configurer le serveur pour une base de donnes.................................. 65Points vrifier ..................................................................................... 66Autres versions de Linux .................................................................... 66Exemples de scnarios de base de donnes........................................... 67Rsum.................................................................................................. 68FAQ....................................................................................................... 69CHAPITRE 3INSTALLER ET UTILISER ORACLE SUR LINUX.... 71Concepts ............................................................................................... 73Zone globale systme............................................................................. 74Pool partag................................................................................... 74Cache mmoire de la base de donnes ............................................. 74Cache de journalisation .................................................................. 75Zone globale des programmes............................................................... 75Tablespaces ........................................................................................... 75Fichiers de donnes............................................................................... 75Extents ................................................................................................... 75Segments ................................................................................................ 76Fichiers de contrle............................................................................... 76Journaux ................................................................................................ 76Segments de rollback............................................................................. 76Fichiers de paramtres.......................................................................... 77SID............................................................................................... 77$ORACLE_HOME........................................................................ 77$ORACLE_BASE ......................................................................... 77Identifiants de version ........................................................................... 77PL/SQL .................................................................................................. 78 copyright ditions EyrollesTable des matiresXVSchma ...................................................................................................78Installation ............................................................................................78Pr-installation ......................................................................................79Configurer le systme de fichiers .....................................................80Configurer lespace dchange.........................................................81Paramtres du noyau.......................................................................82Comptes et groupes systme............................................................82Options denvironnement ................................................................83Paquetages Linux............................................................................85Java pour Linux..............................................................................86Se procurer le logiciel Oracle...........................................................87Installer Oracle8 ....................................................................................87Installer les correctifs ......................................................................90Crer les objets de base de donnes ..................................................93Installer Oracle8i ...................................................................................94Installer les correctifs ......................................................................98Construire les scripts de cration de base de donnes.........................99Excuter les scripts de cration de base de donnes .........................104Post-installation ...................................................................................105Comptes SYS et SYSTEM............................................................105Configuration du fichier de paramtres...........................................106Dmarrage et arrt automatiques....................................................106Configuration du rseau ................................................................108Utiliser Oracle8/8i ..............................................................................110Dmarrage et arrt...............................................................................110Processus en arrire-plan....................................................................113Crer un compte...................................................................................114SQL*Plus..............................................................................................116Dictionnaire des donnes.....................................................................119Import/export .......................................................................................120Logiciels tiers ......................................................................................122Orasoft..................................................................................................122SQLWork ....................................................................................123ObjectManager .............................................................................124Orac......................................................................................................124Perl/DBI ...............................................................................................124 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXVIRsum................................................................................................ 125FAQ..................................................................................................... 126CHAPITRE 4INSTALLER INFORMIX SUR LINUX............................... 129Installation.......................................................................................... 135Acquisition et mise en place du logiciel sur le serveur ....................... 135Installation et marquage...................................................................... 138Initialisation du disque et dmarrage du serveur................................ 141Cration des fichiers de donnes pour Informix ................................. 143 propos des disques ........................................................................... 144Disques et rpertoires.......................................................................... 145Besoins despace................................................................................. 145Configuration..................................................................................... 146$INFORMIXDIR/etc/$ONCONFIG.................................................... 147$INFORMIXDIR/etc/sqlhosts.............................................................. 159/etc/services ......................................................................................... 159/opt/data/rootdbs ................................................................................. 160Dmarrer votre moteur avec oninit ..................................................... 160Arrter le moteur ................................................................................. 167Configuration finale .......................................................................... 167Rappel.................................................................................................. 167Physdbs................................................................................................ 168Crer un fichier de physdbs................................................................. 169Logsdbs................................................................................................ 173Crer logsdbs....................................................................................... 174Crer des nouveaux logs logiques ....................................................... 175Tempdbs............................................................................................... 184Dernires options de configuration de $ONCONFIG......................... 187Log physique............................................................................... 187Log logique ................................................................................. 187Utilisation de la mmoire.............................................................. 187Options LRU............................................................................... 188Options DBSPACETEMP ............................................................ 188Redmarrer le moteur.......................................................................... 189 copyright ditions EyrollesTable des matiresXVIIAutres outils........................................................................................191Dbaccess...............................................................................................194Onmonitor ............................................................................................195Ressources...........................................................................................196Support technique Informix..................................................................196Site web Informix..................................................................................197Groupe de news Usenet comp.databases.informix...............................197Groupe international des utilisateurs Informix (IIUG)........................197Presse Informix ....................................................................................197Formation Informix..............................................................................198Rsum ................................................................................................198FAQ.....................................................................................................199CHAPITRE 5INSTALLER ET UTILISER SYBASE SUR LINUX...201Installation ..........................................................................................203Installer SQL Server 11.0.3..................................................................203Configurer la machine de destination..............................................204Installer Sybase ............................................................................206Installer les logiciels clients optionnels ...............................................208SQSH..........................................................................................209Bibliothques de dveloppement....................................................209Configuration......................................................................................210Configurer le serveur de base de donnes Sybase...............................211Configurer le serveur de sauvegarde Sybase.......................................218Configurer les bibliothques client-serveur de Sybase........................219Dmarrer automatiquement le serveur de base de donnes et le serveur de sauvegarde..................................................................220Modifier le mot de passe de ladministrateur systme.........................220Configurer les units de bases de donnes et les bases de donnes.........................................................................221Crer des comptes utilisateur et des autorisations ..............................223Tester la base de donnes...................................................................226Conception dune base de donnes ...................................................231 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXVIIIProblmes .......................................................................................... 233Colonne Identit (auto-incrmente) .................................................. 233Conformit SQL................................................................................ 235Environnement dexcution................................................................. 237Utilisation de la mmoire par Sybase............................................. 237Scripts rc de Sybase ..................................................................... 238Tempdb....................................................................................... 239Rsum................................................................................................ 242FAQ..................................................................................................... 243CHAPITRE 6INSTALLER DB2 VERSION 6.1 SUR LINUX RED HAT............................................................... 245Introduction ....................................................................................... 246Prparer linstallation de DB2 sur une station de travail Red Hat ................................................... 249Prparer Red Hat version 5.2 et version 6.0 une installation de DB2.............................................................. 249Prparer Red Hat version 6.1 une installation de DB2................... 250Installer DB2 ...................................................................................... 251Excuter linstallation ......................................................................... 252Vrifier linstallation........................................................................... 261Configurer le centre de contrle....................................................... 263Installer un client DB2 ...................................................................... 265Configurer un client DB2 pour communiquer avec un serveur DB2.......................................................................... 273Dpannage de la connexion ................................................................ 280Rsum................................................................................................ 281FAQ..................................................................................................... 282CHAPITRE 7INSTALLER MYSQL SUR LINUX...................................... 287Installation.......................................................................................... 289Conventions dappellation................................................................... 291 copyright ditions EyrollesTable des matiresXIXInstallation dune distribution binaire.................................................293Installation dune distribution RPM....................................................294Installation dune distribution source..................................................294Configuration......................................................................................296Scurit.................................................................................................297Privilges..............................................................................................298Contrle daccs ..................................................................................302Installation du systme.........................................................................303Performance.........................................................................................305Problmes............................................................................................308Threads.................................................................................................309Environnement dexcution..................................................................309Dpannage...........................................................................................311Rsum ................................................................................................312FAQ.....................................................................................................314CHAPITRE 8INSTALLER ET GRER PROGRESS SUR LINUX317Installation ..........................................................................................319Installer partir du mdia ...................................................................319Conditions pralables....................................................................319Installer........................................................................................320Paramtres du noyau ...........................................................................324Mmoire partage.........................................................................325Smaphores..................................................................................326Autres paramtres divers ...............................................................327Installation de lenvironnement ...........................................................328Variables denvironnement............................................................329Installation du terminal PROTERMCAP....................................329Installation du mode client-serveur.................................................330Configuration......................................................................................331Structure de rpertoire.........................................................................331Espace disque et dbit dentre/sortie .................................................333Crer une nouvelle base de donnes....................................................335Multivolume.................................................................................335 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXXCalibrage du cache.............................................................................. 337Excuter Progress.............................................................................. 339Grer la base de donnes .................................................................... 339Dmarrer la base de donnes......................................................... 340Dmarrer une session ................................................................... 342Arrter la base de donnes ............................................................ 343Sauvegarder la base...................................................................... 344Surveillance................................................................................. 345Dpannage........................................................................................... 350 Utilisateurs suspendus, emballements et autres psychodrames ........ 350Forces et faiblesses............................................................................. 352Le L4G................................................................................................. 352Orientation OLTP................................................................................ 353Restauration aprs panne lpreuve des balles .......................... 353Cot de proprit................................................................................. 354Indexation des mots ............................................................................. 354Internationalisation ............................................................................. 354Fonctionnement 24 heures sur 24 ....................................................... 355Aucun BLOB........................................................................................ 355Pas de requtes parallles................................................................... 355Aucune gestion de verrouillage distribu............................................ 356Rsum................................................................................................ 359FAQ..................................................................................................... 360CHAPITRE 9INSTALLER ET GRER POSTGRESQL SUR LINUX ........................................................................................ 363PostgreSQL dans le sillage de lInternet ......................................... 365Se procurer PostgreSQL................................................................... 366Installation rapide de PostgreSQL................................................... 367Dtails de linstallation...................................................................... 369Installation de la distribution source ............................................... 374Avant de dmarrer............................................................................... 375Procder tape par tape .................................................................... 375 copyright ditions EyrollesTable des matiresXXIValider linstallation de PostgreSQL...................................................381Les exemples de PostgreSQL.........................................................381Tester linterface Tcl/Tk................................................................381Tester linterface Python PyGreSQL..........................................382Tester linterface Perl....................................................................382Tester les interfaces libpq++ et libpq..............................................383Tester les interfaces Java ...............................................................383Tester linterface ecpg...................................................................384Tester linterface ODBC................................................................384Tester linterface MPSQL Motif-Worksheet ...................................384Tester les exemples SQL, les types dfinis par lutilisateur et les fonctions .............................................................................384Vrifier linstallation de PostgreSQL...............................................385Appliquer les corrections durgence....................................................386Comment sassurer de la fiabilit de PostgreSQL ?............................386Rpertoires du systme.........................................................................387Utiliser Postgres sur UNIX/Linux en environnement runtime ................................................................388Dmarrer postmaster ...........................................................................388Les pg_options .....................................................................................389Options dfinies............................................................................390Scurit................................................................................................392Authentification de lutilisateur ...........................................................392Contrle de lhte.................................................................................393Mthodes dauthentification.................................................................394Authentification Kerberos ....................................................................394Disponibilit.................................................................................395Installation ...................................................................................395Mise en uvre..............................................................................395Crer des utilisateurs ...........................................................................396Crer des groupes ................................................................................396Ajouter et supprimer des utilisateurs ...................................................397Contrle des accs ...............................................................................397Fonctions et rgles ...............................................................................398Mises en garde .....................................................................................398Scuriser les connexions TCP/IP.........................................................398 copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateurXXIIExcuter une passerelle scurise via ssh ....................................... 399Gestion des disques et support des grandes bases de donnes ...... 399Localisation secondaire....................................................................... 400Grer une base de donnes ............................................................... 401Crer une base de donnes.................................................................. 401Accder une base de donnes ........................................................... 402Dtruire une base de donnes ............................................................. 403Sauvegarde et restauration.................................................................. 403Grandes bases de donnes................................................................... 404Utiliser un botier de commutation avec PostgreSQL......................... 405chec au dmarrage de postmaster .................................................... 406Problmes de connexion du client ....................................................... 407Messages de dbogage ........................................................................ 408pg_options ........................................................................................... 408Ressources PostgreSQL sur lInternet ............................................ 410Support technique................................................................................ 410Listes de diffusion................................................................................ 411Comptes e-mail pour PostgreSQL ................................................. 411Listes de diffusion en anglais ........................................................ 411Archives de listes de diffusion....................................................... 412Listes de diffusion en espagnol...................................................... 412Outils graphiques pour PostgreSQL ................................................... 413Pilotes ODBC, JDBC et UDBC........................................................... 414Interfaces Perl et DBI.......................................................................... 415Interface Perl 5 pour PostgreSQL.................................................. 415Perl DBI, de quoi sagit-il ? .......................................................... 416DBD-Pg-0.89, pilote DBI pour PostgreSQL................................... 417Support technique pour DBI ......................................................... 417DBI, Perl et DBperl, de quoi sagit-il ? .......................................... 417Spcifications DBI ....................................................................... 418Guides pour PostgreSQL..................................................................... 418Ressources sur lInternet............................................................... 418Sites de rfrence de PostgreSQL ....................................................... 420Rsum................................................................................................ 420FAQ..................................................................................................... 421 copyright ditions EyrollesTable des matiresXXIIICHAPITRE 10DVELOPPER UNE APPLICATION WEB...................427Plates-formes dapplication web.......................................................428Active Server Pages..............................................................................429Cold Fusion..........................................................................................429Java Server Pages ................................................................................429Zope......................................................................................................429Langages de script ...............................................................................430PHP......................................................................................................430Apache..................................................................................................430Dmarrage...........................................................................................431Enjeux de la conception .......................................................................431Clart...........................................................................................431Extensibilit .................................................................................432Interface conviviale.......................................................................433Conception du schma .........................................................................433Flux de donnes............................................................................433PHP, MySQL et Apache : installer lapplication.................................435Connectivit de PHP : faire la connexion............................................436Lire les donnes de la base ............................................................436Scurit.................................................................................................437Conclusion...........................................................................................438FAQ.....................................................................................................439ANNEXE ASCRIPT PHP DE LAPPLICATIONDE-COMMERCE ...........................................................................441ANNEXE BSCRIPT MYSQL DE LAPPLICATIONDE-COMMERCE ...........................................................................465INDEX ....................................................................................................469 copyright ditions EyrollesIntroductionComment croire que Linux a moins de dix ans ? Dans ce court laps de temps,le systme dexploitation, modeste, crit titre exprimental par un tudiantfinnois, a explos, quil sagisse des fonctions ou de son usage. LexplosiondelInternet,toutfaitcomparableetsimultane,apropulsLinuxsurledevant de la scne.Cestemps-ci,Linuxbnficiedungaindepopularit,entantqueplate-forme serveur oriente entreprise particulirement fiable. Depuis sa premirepublication, Linux sest rvl un systme dexploitation stable et extensible.Mais ce nest que depuis peu que les plus grands diteurs de logiciels sy int-ressent et commencent concevoir des applications portables sur les plates-formes Linux. Lavance la plus remarquable dans ce domaine est venue en1999,quandlesquatreplusgrandsditeursdebasededonnesOracle,Informix, Sybase et IBM ont annonc la prise en charge des plates-formesLinux. Auparavant, Linux disposait dautres bases de donnes, mais la parti-cipationdecesditeursderenomluidonnelecoupdepoucedcisifetlapublicit dont il avait besoin.Les chapitres de cet ouvrage vous guident au fur et mesure de linstallationdediversesbasesdedonnes,etindiquentaussicommenttesteretutilisercertaines caractristiques critiques pour les maintenir. Il appartient au lecteurde dcider quelle base de donnes choisir pour un projet donn ; il trouvera-dans ce livre quelques repres qui laideront dans sa dmarche. copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur2Organisation de louvrageCelivretraitedelinstallationetdelaconfigurationdeplusieursbasesdedonnesparmilesplusgrandes.Danscetteoptique,chaquechapitreestcrit comme un tout et constitue une mini-rfrence pour la base de donnestraite. Chapitre 1 - LesystmedexploitationLinux.CestunrsumdeLinux en gnral. Ce chapitre explore un peu lhistoire ainsi que certainsaspects logistiques de Linux ; cest un bon chapitre de fond pour se fami-liariser avec Linux et la mouvance des logiciels libres ou Open Source. Chapitre 2 - Installation Red Hat Linux de base. Cest une revue, tapepartape,delinstallationdeRedHat,laversionlaplusrpanduedeLinux.Sileserveurdebasededonnesenvisagestdestintreunserveurdeproduction,ilestvivementconseilldinstallerunsystmedexploitation tout neuf, sur un nouveau matriel, afin dobtenir la confi-guration la plus stable possible. Chapitre 3 - Installer et excuter Oracle sur Linux. Oracle est en passede devenir la base de donnes la plus courante et la plus largement recon-nuedumarch.Elleseprtenombredextensionsetestextrmementfiable. Cependant, elle est assez chre et peut ne pas convenir aux applica-tions des PME. Chapitre 4 - Une installation Informix sur Linux. Informix suit Oracledeprsquantlaflexibilitetlafiabilit.Engnral,lechoixentrelesdeux bases de donnes est strictement une question de prfrence person-nelle. Chapitre 5 - InstalleretutiliserSybasesurLinux.Sybaseaunfidlepartisan.QuandonconnatMicrosoftSQLServer,onsaitdentrequeSybaseconstitueunchoixlogiquepourlenvironnementLinux:laconceptiondeSQLServer,deMicrosoft,esttrsprochedecelledeSybase. Chapitre 6 - Installer la base de donnes universelles DB2 version 6.1surLinux.DB2estlaplussous-estimedesgrandesbasesdedonnes.Elle est trs souvent utilise sur les grands systmes, le portage sur Linuxest donc puissant et flexible. Ne pas carter DB2 des alternatives possiblessans lire attentivement ce chapitre. Chapitre 7 - UneinstallationMySQLsurLinux.MySQLestlaplusconnuedesbasesdedonnesfreeware.Elleestfacileinitialiseretconfigurer, et se prte trs bien aux applications web. Cependant, elle estmoins adapte aux trs grandes bases de donnes. copyright ditions EyrollesIntroduction3 Chapitre 8 - InstalleretgrerProgresssurLinux.Progressesthabi-tuellement nglig par la plupart des DBA. Il est souvent inclus dans desapplications tierces, mais cest en soi une trs bonne base de donnes. Chapitre 9 - PostgreSQLsurLinux.PostgreSQLestdisponibledansplusieursdistributionsLinux.CestunlogicielOpenSource,commeMySQL,quiprsentelavantagedtrefaciledmarrerdanslecadredune petite application de base de donnes. Cependant, sa flexibilit estlimite. Chapitre 10 - Dvelopper une application web. On donne ici un exem-ple dapplication des base de donnes au contexte du Web. LesgroupesUsenetenligne,leslivresblancsetlesgroupesdutilisateurssont des ressources intressantes pour changer des ides entre professionnelsde linformatique. Dans ce but, nous avons indiqu, tout au long du livre, descontacts et des ressources accessibles sur le web.Bases de donnes sous LinuxVousavezprobablementdjprisladcisiondimplmenterunebasededonnessousLinux.LastabilitetlafiabilitdusystmedexploitationLinux conviennent bien une base de donnes. En tant que systme dexploi-tationOpenSource,Linuxdisposedunebonneassistanceetfaitlobjetdemises jour en permanence. Lutilisateur doit bien comprendre ds le dbutquelesversionsmajeuresdunoyauetlescorrectionsmineuresdeboguesdoivent tre appliques rgulirement au systme dexploitation. Ilfautaussitreattentifaumatrielquihbergeleserveurdebasededonnes.Letraitementdelaredondanceyestintgr.IlestfortementconseilldedisposerdedisquesmultiplesdansuneconfigurationdetypeRAID (Redundant Array of Independent Disks). Des bases de donnes diff-rentesappellentdesconfigurationsadaptes,diffrentes.Ilvadesoiquelemaximumpossibledemmoireserainstall ;lameilleurebasededonneschouera misrablement si le matriel ne rpond pas.Le systme dexploitation et le serveur tant mis en place, plusieurs questionsse posent : Que doit faire la base de donnes ? Dequelenvironnementdeproductionspcifiquedispose-ton :petit,moyen ou grand ? Est-ce une application critique ? copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur4 Cette application ncessite-t-elle de lassistance ?Lesbasesdedonnestraitesdanscelivreontchacuneleurforceetleurfaiblesse.Siladcisionnestpasdjprise,oummesiellelest,chacunesera prise en considration. Une rflexion supplmentaire ne nuit pas, tant quela solution nest pas implmente.Oracle se situe toujours en tte, dans lesprit de la plupart des gens, du pointde vue de la souplesse et de la fiabilit. Mais Oracle requiert des administra-teurshautementqualifis,ainsiquedescontratsdassistanceaveclasocitdistributrice. Cette combinaison, ainsi que le cot lev des licences commer-cialesdOracle,exclutgnralementlespetitessocitsquiontbesoindepetites bases de donnes. Informix suit le mme modle. Il sagit dune basede donnes hautement fonctionnelle et fiable, mais ses cots dacquisition etdassistance sont souvent, eux aussi, levs.Sybase,enfin,seprsentecommeunboncompromis,unesolutionviable.Mme si elle ne peut prtendre proposer un ensemble de caractristiques aussiriche que celui dOracle ou dInformix, elle na certainement pas de lacunessurlessentiel.Soncotestplusaccessibleet,silonestfamiliarisavecMicrosoftSQLServer,saconfigurationestimmdiate.Sybasesadaptelaplupart des applications et, en mme temps, est stable. On peut dire la mmechose de DB2, peut-tre un peu plus dlicate maintenir, mais tout aussi richeenfonctionsetsusceptibledvoluerquOracle.Lecotdesapplicationscommerciales est, lui aussi, moins lev. Progress entre dans cette catgorie.Les bases de donnes en accs libre (freeware), telles MySQL et PostgreSQL,sont de trs bonnes solutions dentre de gamme. Le cot en est trs attrayant,bien sr elles sont gratuites. Ces bases de donnes sont faciles installer et maintenir. Un utilisateur novice, avec laide de ce livre, peut les installer etles dmarrer en un jour ou deux seulement. Le principal inconvnient de cesbasesdedonnesestleurtaillelimite:ellesontsouventdesproblmesdeperformance au-del dun million denregistrements. Mais il existe une solu-tion parfaitement viable : dmarrer avec une base de donnes freeware, puismigrer vers lune des plus grandes. Exporter les tables en SQL puis importerle SQL dans une autre base de donnes ne pose pas de problme. Passer dutemps ds le dbut sur une solide conception de la base de donnes et sur unbon modle de donnes vite de se mettre martel en tte. Cest vrai, bien sr,pour toutes les implmentations de base de donnes, mais ce lest particuli-rement dans une situation de migration des donnes.Appuyez-vous sur ce livre pour valuer les solutions qui rpondent le mieux vos besoins, sachant quen dernier ressort, vous seul tes mme de prendreune dcision. copyright ditions EyrollesIntroduction5Plus de bases de donnes pour plus de satisfactionLes bases de donnes dhier sont une ple esquisse des applications puissan-tesproduitesaujourdhuiparlesentreprisesdepointe.Lesdcideursetlesadministrateurs se trouvent maintenant face une foule doptions, car la stan-dardisation via SQL rend les donnes trs portables. Lutilisation des BLOB(Binary Large OBjects, grands objets binaires) permet de ranger des images etdes programmes dans des bases de donnes. La technologie XML (eXtensibleMarkup Language), relativement nouvelle, permet de prsenter les donnes,qui taient souvent verrouilles un niveau de deux ou trois couches dappli-cation,instantanmentsurleweb.Dunemaniregnrale,lesbasesdedonnesdontilestquestiondanscelivrepeuventseclasserendeuxcatgories : traditionnelle et Open Source.Bases de donnes traditionnellesLesbasesdedonnestraditionnellessont,enprincipe,programmespardegrands diteurs de logiciel et font lobjet dune assistance. Lavantage le plussensible de ce modle est le support de produit. Pour un certain cot de main-tenance annuelle, lditeur met disposition le dpannage et la mise jour duproduit. Les trs grandes entreprises dont les systmes dinformation reposentsurdegrandesbasesdedonnesserefusentabsolumentmaintenirlescouches sous-jacentes, ou annexes, ce que ce modle de support propose. Linconvnientvidentdumodletraditionnelestlalenteurdelditeurmodifiersesproduitsetluiajouterdenouvellescaractristiques.Ilfautsouvent des mois, voire des annes, de dveloppement pour que les technolo-gieslesplusrcentesparviennentlutilisateurfinal.Autreinconvnientmajeur:cessocits,commenimportequelleentreprise,sontobligesdadopter une tactique commerciale entranant la hausse du cot des licencesindividuelles,quideviennentprohibitivespourbeaucoupdutilisateurs.Lditeuresthabituellementlobjetduneconcurrenceintense,desortequeles produits apparaissent trop tt et que des corrections sont souvent ncessai-res.PrenonslexempledOracle8i:cetteversionlonguementattenduedOracle a t programme pour tre compatible avec lInternet, mais elle estpleinedebogues.CesboguesonttcorrigsdansladeuximeversiondOracle8i,quinefutpubliequunanplustard.Cestlescnarioaveclequel beaucoup dditeurs jonglent en permanence. copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur6Bases de donnes Open SourceLe modle de dveloppement de logiciel le plus rcent est lOpen Source. Il alegrandavantagedereposersurunecommunautdedveloppement.Ilyanormalement un ou des responsables du code en nombre restreint, mais toutlInternetcommequipededveloppementpotentielle.Lelogicielquienrsulte est revu et mis jour souvent. La version la plus rcente dune certainepartiedulogicielhritedescaractristiquesetdelatechnologielesplusrcentes. Cela, bien sr, a pour consquence fcheuse que ces caractristiquespeuventnepasavoirtentirementtestes.Ladministrateursystmedoittre vigilant quant aux nouvelles mises jour et additions, et il faut un utilisa-teur avanc pour maintenir le systme. Les grandes entreprises se heurtent aufait que lon ne dispose pas de lassistance et de la compatibilit traditionnel-les lassistance incombe ladministrateur. En toute honntet, cest exac-tementdecettemanirequecelafonctionnedanslaplupartdessocits.Ladministrateurfaitappelsespropresconnaissancesetsappuiesurlesinformationsobtenuesdanslessiteswebetlesgroupesdenewsrelatifsaulogiciel en question.Utiliser au mieux sa base de donnesAvoirunebasededonnessurunserveurLinuxestunebonnechose,maisque peut-on en faire ? Pour tout un chacun, la rponse est : Dieu reconnatralessiens .Grerlesdonnesdupersonnel,lescontraintesclients,corrlerdes donnes marketing, amliorer la performance dun systme de comman-des, et bon nombre dautres applications seront conues et programmes.Caractristiques de baseTouteslesbasesdedonnesparlentlelangageSQL(StructuredQueryLanguage).Cestandarddebaseassurelacompatibilitdunebasededonnes une autre. Mais il nest pas implment de la mme manire dunebasededonnesuneautre,aussifaut-iltreattentiflorsdunemigration.Par exemple, nessayez pas de migrer une base de donnes Oracle utilisant lesBLOBdansunebasededonnesPostgreSQL,quinegrepascetypedobjets. Toutes les bases de donnes supportent les quatre instructions SQLde base : SELECT, INSERT, UPDATE et DELETE et, de plus, elles supporte-ront toutes les notions de base utilisateur et de schma de table, qui servent crer et grer les tables et les autorisations des utilisateurs. copyright ditions EyrollesIntroduction7Caractristiques avancesLes deux caractristiques avances les plus notables sont les BLOB et XML.Les BLOB (grands objets binaires) permettent de stocker des images dans labase de donnes. Oracle et dautres bases de donnes supportent les BLOB.XMLestunetechnologierelativementnouvelle.SemblablesurcepointHTML, XML est un sous-ensemble de SGML (Standard Generalized MarkupLanguage). Mais, contrairement HTML, qui est un langage balises ddiau formatage de documents, XML contient des balises relatives aux donneset permet dafficher les donnes directement dans une page web. Si le naviga-teur ou le serveur dapplication parlent XML, les donnes sont formatesetaffichesavecunminimumdeprogrammation.Laplupartdesbasesdedonnes disponibles sur le march aujourdhui prennent maintenant en chargeXML dune manire ou dune autre.Les bases de donnes, leur avenirLewebaexplosaucoursdestroisderniresannes.Utiliserdesbasesdedonnes sur le web est dores et dj entr dans les moeurs. Stocker des infor-mations sur les clients et les utilisateurs, accder aux profils personnels, trieret cataloguer des donnes et des informations sur les produits accessibles auxclients est en passe de devenir le nouveau standard le modle qui piloteralee-commerce.Larechercheapprofondiededonnes,lesportailsetlescommandesparcorrespondancesontaucoeurdengociationsencours,concernant lavenir des CEO.Dans le cadre de ce livre, nous avons prsent un scnario dachat la carte(commandesparcorrespondance),pourillustrerlunedesutilisationspossi-bles des bases de donnes. Les serveurs web sont un lment cl de lutilisa-tion desbases dedonnessurleweb, etnous en prsentonsunbrefaperu.Nousespronssurtoutquevoustiendrezcelivrepourunerfrenceutile,susceptibledevousaidermettreenplaceunebasededonnessurLinux,quel quen soit lusage.A qui sadresse cet ouvrage ?Celivreest,entoutpremierlieu,destinauxadministrateursdebasededonnes et aux utilisateurs de Linux soucieux damliorer leurs comptencesetleurcomprhensiondesdiversesbasesdedonnesexistantes.Nousesp-ronsquevousfermerezcelivresurunemeilleurecomprhensiondela copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur8conceptiondesbasesdedonnesetdeleurimplmentationengnral.Unstrictensembledinstructions,excuterdemanirequasimcanique,pourinstaller et configurer une base de donnes a, certes, son intrt, mais ce livretente daller au-del : vous faire mieux comprendre le systme dexploitationLinux, quand il est utilis comme serveur de base de donnes. copyright ditions EyrollesI1Le systme dexploitation LinuxDans ce chapitre Brve histoire de Linux Le noyau Linux La diffrence entre Linux et les autres systmes dexploitation Pourquoi choisir Linux ? Distributions de Linux Rflchir avant la mise jour ou la migration Comment commencer le processus copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur10Brve histoire de LinuxLesystmedexploitationLinuxnacessdesedvelopperdepuissacra-tion, en 1991 : Linus Torvalds commena alors crire un systme dexploi-tation, fond sur UNIX, destin fonctionner dans lenvironnement PC Intel. DiplmdeluniversitdeHelsinki,enFinlande,LinusvitlintrtqueprsentaitunPCdebase,entantquesystmedebureau,parrapportauxterminaux passifs. En ce temps-l, le cot du logiciel de bureau et du systmedexploitationassociinterdisaientltudiantoulutilisateurmoyendedisposer dunPCquip des produits (logiciels)ncessaires.Dans lebutdersoudreceproblme,etdaugmenterlesressourcesdelcoleoiltravaillait, Linus se mit au travail et dcida de redvelopper le code Minix (unclonedUnixmicrokernel)pourcrerquelquesutilitairessimples,pourlui-mme. Il sentit que cela en valait la peine, mme si, dans un premier temps,cela ne servait qu permettre lcole dutiliser quelques anciens PC commeterminaux passifs pour se connecter des serveurs (principaux) matres.Linus, la recherche dides de dveloppement et de ressources, souvrit deson projet la communaut Internet. Dbut 1992, seulement une centaine depersonnes avaient utilis Linux. Le noyau Linux originel tait trs compact etneproposaitquelesfonctionnalitsdebase.LacommunautInternetsestvite mobilise et a soutenu sans dfaillance le dmarrage du projet. Trs vite,des centaines, puis des milliers de programmeurs ont spontanment proposleurcollaboration,ainsiquedesenrichissementssousformededveloppe-mentspersonnels.Celaapermisundveloppementtrsrapide,quiamisprofit beaucoup de bonnes volonts pour dboguer et tester le code de Linux.En peu de temps, Linus a remplac tout le code Minix par son propre code,enrichi des contributions des autres volontaires. En sappuyant sur la commu-naut ppen-source,quitaitencoredanssaprimejeunesse,LinusalivrLinux au monde entier.En termes de dveloppement dutilitaires, il ny avait pas, et il ny a toujourspas, de meilleure conception dun utilitaire. Nimporte qui peut dvelop-per ce quil estime tre un utilitaire rellement utile. Il est vident que, dansles faits, on trouve pour la mme fonction de base, plusieurs utilitaires ; beau-coup sont conus de sorte que, si vous tes dj familiaris avec un utilitaire,Linux vous en fournira un compltement quivalent du point de vue fonction-nel. Par exemple, il existe au moins une douzaine dditeurs de fichiers dispo-nibles, tant en version X Window quen version texte.Prsdunedcennieplustard,Linuxcommencetrouversaplacedanslacommunaut professionnelle en tant que moyen viable, et souvent suprieur,deremplacerbeaucoupdautressystmesdexploitationdebureauetdeserveurs.Linuxaprisdassautdansundomainenouveauceluides copyright ditions EyrollesLe systme dexploitation LinuxCHAPITRE I11serveurs de bases de donnes ainsi que le prouvent les nombreuses allian-ces entre les divers diteurs de Linux et certains des grands diteurs de basesdedonnes,telsOracleouIBM.Cetouvrageseproposedeprsenterlesforces de Linux en tant que plate-forme serveur de base de donnes, dexami-nerplusieurssolutionsdebasededonnes,etdedcrirequelquesexemplesdapplications relles.Le noyau Linux Au dpart, Linux fut dvelopp pour un usage rcratif et il tait destin tredistribugratuitement.LenoyauLinuxetsoncodesourcesontdisponiblespourtousetcontinueronttregratuitstantqueLinusmaintiendralecopyrightsurlecodesourcedunoyau.LinuxestunemarquecommercialedposeparLinusTorvaldsetestcritcollectivement,auxtermesdelalicencegnralepublique(GPL,GeneralPublicLicense),parlescentainesdauteursquicontribuentsapublication.LaGPLautorisenimportequidistribuer librement le code source dans son intgralit, en faire des copies,et le vendre ou le distribuer ( quelques exceptions prs) par tous moyens.LaGPLestinclusedanslenoyauLinux(rpertoireusr/src/linux/COPYING/ sur le CD-ROM Linux), ou peut tre tlcharge, ou consulte,sur de nombreux sites Internet. Important. UnlogicielsousGPLalemritedoffrirunetotalesouplesseauxutilisa-teurs du logiciel, et de leur pargner lachat dune licence chre ou des poursuites.Le noyau Linux nest quune petite partie de ce que lon connat sous le nomde Linux. Le noyau, comme son nom lindique, est la pice centrale, au coeurdusystmedexploitation.Vouspouvezpenseraunoyaucommeaumoteurde votre PC : ce qui fait tout marcher . Le noyau gre les entres/sorties, secharge de la gestion de la mmoire... cest, la base, le cerveau du systmedexploitation.Lenoyau,bienquecompact,estlunedesraisonsmajeuresqui font que Linux est un systme dexploitation puissant et efficace.En plus de cette partie centrale, il faut encore beaucoup dautres composantspour btir un systme dexploitation complet et utilisable. La puissance dunsystme dexploitation ne peut tre compltement teste sans utilitaires pouraccomplir des travaux tels que la cration de documents, le partage de fichiersetlinstallation,laffichageetlimpressiondefichiersetdedocuments.Cesutilitaires sont disponibles librement sur lInternet, de mme que le noyau deLinux.Letableau1.1prsenteunexemplerestreintdesutilitairesfournisavec Linux. copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur12Ces utilitaires, ainsi que des centaines dautres, sont disponibles librement surlInternet.Onpeutlestlchargeretlesinstallerindividuellement,outl-chargerlenoyauettouslesutilitairesncessairesdansunfichierunique(quoique de bonne taille). la place du tlchargement, beaucoup dditeursde logiciels offrent leurs versions de Linux sur CD-ROM, que lon peut ache-ter dans nimporte quel magasin. Ces versions commerciales comprennent unensembledeprogrammesetdutilitaires,ainsiquequelquesutilitairesmaison : cest ce que lon appelle une version ou distribution de Linux.Lavenir du dveloppement de LinuxLecodesourceestpublic :mmesiLinusdcidedarrterdetravailler,quelquundautrepeutfacilementprendrelecodesourceetpoursuivreledveloppement.Etlenoyaunestquunepetite,quoiquetrsimportante,partie de Linux. La plupart des centaines dutilitaires ont t raliss dans lecadre du projet GNU ou manent de lopen-source.Linus nest pas lunique dveloppeur du noyau au monde. Beaucoup de gensonttmiscontributioncejour,etdautresleserontencore.AlanCox,notamment, a contribu au dveloppement du noyau dans des domaines telsque la gestion des nouveaux matriels ou la prise en compte des contraintesdes nouveaux processeurs. titre dexemple de communaut dintrt, AMDfournit tous les dtails du processeur Athlon Alan Cox. Les noyaux ralissdans un avenir trs proche doivent atteindre des vitesses record, si lon veutles optimiser pour fonctionner sur une machine Athlon.Tableau 11Utilitaires UNIX de base fournis avec chaque distribution LinuxOpration Ligne de commande ou fichierManipulation de fichier cp, mv, rm, ln, touch, ls, cat, more, >, >>, 2>, FDISK /MBR copyright ditions EyrollesLe systme dexploitation LinuxCHAPITRE I33linstallation automatiquement, tandis que dautres doivent tre dmarresmanuellement. Mme dans ce cas, ce nest pas trop difficile. Voir le chapi-tre 2, qui couvre linstallation de Red Hat 6.1 en dtail. Q. Est-ce que je dois my connatre en UNIX pour utiliser Linux ?R. Oui,jenaibienpeur.Bienquelemondegraphiquedesfentressoitagrable, ce nest quune des mthodes de gestion. Et cest la gestion quifait la diffrence entre les versions de systmes dexploitation. Il faut avoiruneideclairedelamaniredontUNIX/Linuxfonctionnentsurdestchesprcisesavantdesecolleterunproblme.Unefoisquevousconnaissezlesbases,vouspouvezvousmettreenchassedesproblmesles plus coriaces. copyright ditions EyrollesII2Installation de base de Red Hat Linux Dans ce chapitre Introduction Prliminaires Installer Red Hat Installation personnalise Autres versions de Linux copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur36IntroductionCe chapitre aborde les concepts de base quil faut connatre pour installer unedistributionLinux,etprsentedesexemplesspcifiquesduneinstallationRed Hat. Les distributions Linux fournissent toujours une plthore dutilitai-res et de produits, parmi lesquels il faudra faire un choix. Beaucoup compren-nent un exemple, ou une version libre dun serveur de base de donnes. Linux est aussi un serveur de nombreux services de rseau et de production ;cest pourquoi il faudra prendre des options, en pralable toute installation.Techniquement,onpeutexcutertouteslescombinaisonsdeservicessuivants :protocoledadressageIPdynamique(DHCP),serveurdenomdedomaine(DNS),ftp,unproduitdebasededonnescommeOracle(nonfournidanslaplupartdesdistributions),ouleserveurPostgreSQL(versionlibre fournie avec certaines versions de Linux). On fait appel tous ces servi-cesdepuisuneseulemachinephysique,oubienpartirdetoutessortesdecombinaisons de machines.Important. Les copies dcran utilises dans ce chapitre ont t obtenues lors duneinstallationdeLinuxsurunemachinehteNT4.0fonctionnantavecVMWare.Ellessont donnes titre dillustration ; les barres de titre, telles que celles des figures 2.2,2.3 et suivantes, napparaissent pas pendant linstallation.Machine physique spareEvidemment,il esthautement recommand de ddier un serveurspar lagestion de la base de donnes. Cela procure un certain confort en matire deractivit,descuritetdefiabilit.Lesapplicationslespluscourantesfondes sur les bases de donnes sont de conception complexe et consommentbeaucoupderessources,tantprocesseursquedisques.Ilnefaudraittoutdemme pas que votre serveur de base de donnes se retrouve en concurrence,pourlescyclesCPUoulesaccsdisque,avecdautresservices(web,ftp,fichierouimpression,parexemple) !Celarduiraitgrandementlaperfor-mance de tous les services en gnral.En traitant part la gestion des bases de donnes, vous protgez aussi mieuxlesystmedesintrusions,etmaintenezlesdonnes,ainsiqueleursauve-garde, totalement spares, labri des autres processus. Les principaux typesdattaquescontrelesystmetrouventlaplupartdutempsunevoiedanslesservicesstandarddurseau.Sivousmaintenezcesservicessuruneautremachine, les intrus ne seront pas en mesure de sattaquer votre serveur debase de donnes. Mme les mots de passe de ladministrateur seront diffrentsentre ces systmes pour plus de scurit contre les pirates qui feraient irrup-tion sur dautres serveurs de votre rseau. copyright ditions EyrollesInstallation de base de Red Hat LinuxCHAPITRE II37Choisir une distribution LinuxIl faut ensuite prendre en considration la version de distribution de Linux. Ilyabeaucoupdechoix ;toutessupportent,sansdoute,unebasededonnescertifie sur Linux, jusqu un certain point ; mais les versions commercialeslespluscourantesaurontprobablementdjunservicedesupportoudesaccords avec lditeur du logiciel de base de donnes. Red Hat a un supportpour beaucoup de logiciels de base de donnes, tel Oracle, et dautres produitsissusdeconstructeurscommeDell,CompaqouIBM,pournenciterquequelques-uns.Dcisions prliminaires linstallationUn projet doit tre conu tape par tape. Dans cette section, nous abordonscertainssujetsdebasequilfautprvoirdetraiteravantdecommencerlinstallation.Celacomprendlesniveauxdeperformancesouhaits,mainte-nant et lavenir, et influe sur les dcisions en matire de matriel et de logi-ciel, avant toute installation.La partie la plus critique de lapproche du serveur concerne les divers aspectsmatriels, esquisss dans les prochaines sections. Cela reste vrai quel que soitle systme dexploitation choisi.MatrielBien que cela puisse sembler bizarre en cette priode dordinateurs domesti-quesbasprix,lesditeursdeserveurderenomsontditsgrandsjustementparcequeleursserveurshautdegammesontconuspourfonctionnerenpermanence, avec des rattrapages de panne, une maintenance et un accs auxservices aiss. Cest l quil faut prendre son temps pour trouver une machinequipuissegrerdelonguespriodesdefortdbitdI/O,excuterplusieursprocessus simultanment, transfrer beaucoup de donnes entre les disques etla mmoire, et de la mmoire au processeurs, conserver en mmoire la plupartdesprocessusetdisposer,sousuneformeouuneautre,depossibilitsderattrapage matriel - RAID - en cas derreur ou de panne. Assurez-vous quevotrenouveausystmepeutadmettrefacilementdesextensionsdansleszones de contrleurs de disque, les baies de lecteurs de disque et la RAM. copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur38Architecture multiprocesseursLes serveurs de base de donnes consomment beaucoup de ressources CPU.Lesprocesseursbonmarchpeuventfonctionnerenparalllepourfournirundbittonnantetdesniveauxdechargemaximale.Bienquelonnobtiennepas100 %damliorationchaqueadditiondeprocesseurs,lebnfice obtenu, en gardant tout en mmoire locale, lemporte sur le cot quirsulte dun serveur multiprocesseurs.RAMLe facteur le plus critique, aprs le choix du processeur (ou des processeur),est la taille de la RAM: il en faut beaucoup. Faites une analyse prliminairedes besoins de la base de donnes envisage, et ajoutez une marge raisonna-ble. La taille minimale raisonnable de RAM pour dmarrer est approximative-ment de 256 Mo pour les bases de donnes les plus courantes.DisquesLe sous-systme disque vient immdiatement aprs, dans lordre des caract-ristiques importantes. Les contrleurs multiples fournissent un meilleur dbitet un systme RAID (Redondant Array of Independent Disk) de niveau 5, unebonnegestiondesagrgatsdepartitionsavecparit,etdonnentmmedemeilleures performances dans la plupart des situations - mais pas toutes. Danscertains cas, spcialement avec les bases de donnes, il vaut mieux opter pourun systme RAID de niveau 0, avec des agrgats de partitions sans parit, oubien de niveau 1, avec mise en miroir de disques. Gardons lesprit le cotassocichaqueniveauRAID,quenousverronsmieuxdanslaprochainesection consacre au RAID.Danslabsolu,onnapasbesoindeRAID :desdisquesultra-rapidesdebonne qualit, dots dun bon nombre de caches, feront laffaire. Si vous avezunesauvegardeetqueletempsdarrtncessairelarestaurationnevouscote pas trop, utilisez ce que vous voulez. Souvenez-vous seulement que, sivotre systme de saisie de commandes se situe sur le serveur et quil tombe enpanne, tout un chacun devra patienter jusqu ce quil fonctionne nouveau chacun,cest--direvotrequipeetvosclients.Avez-vousvraimentlesmoyens dassumer ? A comparer le faible cot du matriel et les pertes poten-tielles de revenu, on a tendance opter pour lun des formats de RAID facile-ment rcuprable, mme sil nassure pas une disponibilit 24 heures sur 24. copyright ditions EyrollesInstallation de base de Red Hat LinuxCHAPITRE II39RAIDLe niveau RAID 1, avec mise en miroir, est une bonne option pour les disquessystme, o rside le systme dexploitation. Les fichiers de base de donnesdoiventtresurdesdisquesentirementsparsdusystmedexploitation :un matriel RAID 5 donnera les meilleurs rsultats, en matire de dbit et defiabilit.Cot des systmes RAIDLe niveau RAID 1 est le plus cher. Dans ce cas, si lon utilise deux disques dela mme taille, on ne dispose que de lespace de lun deux pour le systme ;lautreestuneduplication,etlonutilise50 %desdeuxdisques.Silonutilise trois disques pour la mise en miroir, le taux effectif est de 33 % car unseul disque est rellement disponible en substance, les deux autres ne sontque la duplication du premier.Avec le niveau RAID 0, on utilise 100 % des disques et lon obtient habituel-lementuneamliorationdelavitessedelectureetdcriture:toutlespacedisqueestdisponible,enrevancheilnyaaucunerestauration.Silundesdisques subit une panne, ils sont tous perdus : il faut alors tous les reconstruireet restaurer toutes les donnes de tous les disques. Cela nest pas recommandpour les donnes critiques, mais peut tre utilis pour des donnes provisoiresoudesrsultatsintermdiaires.Ilexisteunealternativeacceptable:unensembledeservicesRAIDmatrielsquigre,labase,lesdisquesmulti-ples. On peut alors utiliser le logiciel RAID 0 pour les combiner en un granddisque unique, ce qui facilite les accs serveur.Le niveau RAID 5 se sert en ralit de lespace de lun des disques (en effec-tuant une permutation de tous les disques du groupe RAID) pour produire unblocdeparit,utilispourregnrerlesdonnesmanquantesaprslapertedun disque entier. Comme il ne peut y avoir quun seul disque en panne uninstant donn, il faut sefforcer de le rcuprer avant quun autre ne tombe enpanne ;mais,bienentendu,ilyadesexceptions.Leminimumestdetroisdisques, le maximum de trente-deux, selon le systme dexploitation utilis.Avectroisdisques,onnutilisequedeuxdisquessurtrois,etlonauntauxdutilisation de 67 % ; avec quatre disques, trois sur quatre pour 75 % ; quatresur cinq pour 80 %, et ainsi de suite. La meilleure utilisation est de 31 sur 32pouruntauxdutilisationdenviron96 %avecrcuprationautomatique.Cest la solution recommande pour les donnes particulirement critiques.RAID matriel ou logicielLinux fonctionne pour les niveaux RAID 1 et 5, en version logicielle. Cestuneexcellenteoption,silonneretientpaslasolutionmatrielle.Elleest copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur40implmente avec un minimum de deux ou trois disques, respectivement, etavec le service du dmon mdrecoverd. On a le choix entre des disques entiers,ou simplement des partitions de mme taille, pour implmenter les ensemblesRAID. Linstallation est clairement dcrite dans la documentation HOWTO-RAID.Interface(s) rseauIl y aura un autre goulot dtranglement dans votre systme. Plus le canal estgros (dbit des donnes), mieux il fonctionne. La partie la plus lente de toutsystmeestlesystmededisques.Ilfonctionneenmillisecondesdetempsdaccs moyen, la mmoire du systme en nanosecondes, et le rseau se situeau milieu, en gnral en micro-secondes. Prenez des cartes de 100 Megabitset un commutateur (switch) la place dun noeud, ou bien deux cartes dinter-facerseau(NIC)avecdeuxnoeudsspars,sipossible,etrpartissezlacharge. Aprs le systme de disque, cest le second goulot dtranglement quigne le flux de donnes entre votre serveur et vos clients.Mesures de sauvegardeLe plus grand lecteur de bande devient plus grand tous les mois. Une bonnesauvegarde, parfaitement efficace, mais nanmoins monobande, peut conser-ver un maximum denviron 80 Go. Choisir au moins 2 Go, pour tenir comptedelaredondanceetdelavitesse.Ilyabeaucoupdautresoptionsquelesbandes ; par exemple, les disques Iomega Jaz, les CD-ROM, les CD rinscrip-tibles, les DVD-ROM, qui peuvent offrir une meilleure disponibilit que lesbandes, un cot peine plus lev. On peut aussi opter pour les systmes degestiondedisqueslesplusrcents,quiproposentlamigrationdesdonnesdepuis les disques RAM high-need, vers des lecteurs de disque medium-need,desdisquesJazoudesCD-ROMlow-need,ousurbandepourdesarchivesrarement utilises ; tous ces moyens constituent un seul grand systme, consi-dr par votre machine comme un seul grand disque. Cest vraiment un excel-lent produit de mise disposition de vos donnes sur le serveur. Les bandessont le moyen traditionnel, mais on peut acheter deux disques Jaz, ou un autrelecteur de disque de 610 Go (capacit qui ne cesse daugmenter), qui aurontuntempsderestaurationbeaucoupplusrapide.Installercesdisquessurunautre serveur et les utiliser comme mdia de sauvegarde rapide sauvegar-der,rapidercuprer,etmoinscher.Silautreserveuresthorssite,celasignifie que vous avez intgr une restauration dsastreuse, compte tenu de ladistance. Vrifiez toutes vos options avant de vous lancer, en ayant lespritque le temps de restauration est un lment majeur de votre choix. copyright ditions EyrollesInstallation de base de Red Hat LinuxCHAPITRE II41AssistanceTouslesgrandsconstructeurs,ainsiquebeaucoupdditeursdeLinux,ontfait des services dassistance leur cheval de bataille, visant des clients tels quevotre socit. Vous payez un bonus pour un produit en prime, sachant que, laplupart du temps, vous tes gagnant.Remarque. Les services dassistance varient selon les versions de Linux : Si vous avez achet les produits Deluxe ou Professional officiels, Red Hat offre 180jours de support ftp libre, 90 jours de support sur le web, et 30 jours de support tl-phonique linstallation. Debian GNU/Linux fournit un accs non limit ses sites de support ftp et web. Les acheteurs de TurboLinux obtiennent 60 jours de support technique.Prliminaires linstallationPourunemachinededveloppement,ilsuffitdajouterquelquesdisquesunemachineexistante,puisdinstallerLinuxsurcesdisques,deplacerlesystmeendoubleamorce,etderedmarrerlOSdesonchoix.Cestunscnariocourantpourbeaucoupdadministrateursquiveulentlessayerdabord, le vrifier avec un chargement simul, puis le dployer sur le terrain.Pour un serveur rel, plein temps, ddi des tches critiques, il faut ddierla machine au service de la base de donnes, et rien dautre de prfrence.Installer Red HatLinuxRedHatestladistributionlapluscomplte;elleestunique.Cepen-dant,quelquesautresdistributionsimportantesendrivent,desdegrsdivers. Red Hat a t lune des premires versions commerciales de la distri-butionLinuxoffrirdelassistanceetajouterdescaractristiquesconviviales : cest pourquoi nous le prsentons ici.Un parcours dinstallation rapideInsrer le CD-ROM marqu #1 dans un lecteur de CD-ROM bootable etredmarrer la machine. Le systme va lancer sa squence normale de dmar-ragequicomprendlidentificationdespriphriquesmatriels,letestdelammoire, et la vrification de base des systmes. ce point, la disquette, ou copyright ditions EyrollesBases de donnes sous Linux Guide de ladministrateur42le CD-ROM, commencera le processus de boot. Si le systme ne dtecte pasleCD-ROMetdmarreautrement,ilfautmodifierlesparamtresduBIOSpourajouterleCD-ROMaudbutdelasquencedeboot ;surcertainesmachines anciennes, il faudra utiliser une disquette de boot pour dmarrer leprocessus.Aprs que les fichiers initiaux ont t chargs en mmoire, saffiche un crandaccueil de Red Hat contenant quatre options (non figures ici). Appuyer surlatoucheENTERpourcontinuerlinstallation.OnpeutaussitaperTEXTpour slectionner une installation en mode texte, mais elle nest pas traite icispcifiquement ;bienquelesquestionsposessoientidentiques,linterfaceestdiffrente.Lafigure2.1montrelasortietypedudmarrageinitialdunnoyau Linux. Linstallation teste la compatibilit du matriel avec X Window, puis dmarreune installation en mode graphique interactif de type X. Linstallation graphi-que affiche dabord le nom et le logo de Red Hat avant de se poursuivre. Lapremiretapedelinstallationestlaslectiondelalangue(figure2.2).Remarquer que Linux peut tre install dans de nombreuses langues. NotonsaussiqueleCD-ROMfourniauxtats-UnisnecontientpasdautrelangueFigure 21Dmarrage typique de Linux (aprs lcran de dmarrage prliminaire) copyright ditions EyrollesInstallation de base de Red Hat LinuxCHAPITRE II43dinstallation ;tlchargerlesfichierssurlesiteweb/ftpdeRedHat,oucommanderlaversionCD-ROMspcifiquedelalangue.Lcransuivantcombineenunseulcrancequiapparatentroiscranssparsenmodetexte,etpermetdechoisirlesoptionsrelativesauclavieretlasouris.RemarquezqueLinuxadjdtectlematrieldeba