  Oracle Database HOWTO
  Paul Haigh, paul@nailed.demon.co.uk
  Adaptation franaise par Stphane Lee Chip Hing, slee@ile-
  maurice.com
  v1.2, 04 aot 1998

  Un guide pour installer et configurer le Serveur de Base de Donnes
  Oracle sur un systme Linux.
  ______________________________________________________________________

  Table des matires























































  1. Introduction

     1.1 Historique des Versions
     1.2 Copyright
     1.3 Mise en garde
     1.4 But de ce HOWTO
     1.5 Pr-Requis
     1.6 Nouvelles d'Oracle Corporation

  2. Installation du logiciel Oracle

     2.1 Prparation du Serveur
        2.1.1 Cration d'un Utilisateur Oracle
     2.2 Installation depuis le CDROM
     2.3 Tches de Post Installation
        2.3.1 Tches pour Root
        2.3.2 Tches pour Oracle
        2.3.3 Ceux que vous pouvez enlever

  3. Cration d'une base de donnes

     3.1 Crer le fichier d'Initialisation
     3.2 Cration du script pour l'installation de la base de donnes
     3.3 Excuter le script pour l'installation de la base de donnes
     3.4 Dmarrer la base de donnes
     3.5 Arrter la base de donnes
     3.6 Crer un Utilisateur par dfaut

  4. Configurer SQL*Net sur le Serveur

     4.1 (TT
     4.2 (TT
     4.3 (TT
     4.4 Lancer et Arrter les Ecouteurs.

  5. Configuration du Client

     5.1 Clients Windows
     5.2 Clients Unix

  6. Lancement et Arrt Automatique

     6.1 (TT
     6.2 (TT

  7. Autres trucs

     7.1 Agent Intelligent

  8. Dpannage

     8.1 Je ne peux pas crer une base de donnes en utilisant Oracle 7.2.x.
     8.2 J'obtiens les dfauts de segmentation dans le

  9. Crdits



  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn

  11..11..  HHiissttoorriiqquuee ddeess VVeerrssiioonnss



    v0.1 - 21 fv. 1998 - Paul Haigh - Version Originale

    v0.2 - 01 mars 1998 - Paul Haigh - Adjonction des Commentaires des
     Relecteurs

    v1.0 - 10 mars 1998 - Paul Haigh - Publi sous LDP

    v1.1 - 20 juin 1998 - Paul Haigh - Section Dpannage ajoute et
     rangement gnral

    v1.2 - 04 aot 1998 - Paul Haigh - Nouvelles d'Oracle Corp ajoute
     et section sur les Amloirations Futures supprime.


  11..22..  CCooppyyrriigghhtt

  Le HOWTO Oracle Database est copyright (c) 1998, Paul Haigh.

  Comme tous les documents HOWTO Linux, celui-ci peut tre reproduit et
  distribu en entier ou en extrait, sur n'importe quel support,
  physique ou lectronique, tant que ce copyright est maintenu sur
  toutes les copies.


  La redistribution commerciale est autorise et encourage. Cependant,
  l'auteur aimerait tre avis de telles distributions. Vous pouvez
  traduire ce HOWTO dans n'importe quelle langue tant que vous incluez
  une notice prcisant celui ou celle qui a traduit ce document.


  11..33..  MMiissee eenn ggaarrddee

  Bien que j'ai essay d'inclure les informations les plus correctes et
  les plus rcentes a ma disposition, je ne peux garantir que leur
  utilisation ne va pas occasionner des pertes de donnes ou de
  matriel.  Je ne fournis AUCUNE GARANTIE sur les informations dans ce
  HOWTO et je ne suis responsable d'aucune consquence rsultant de
  l'utilisation des informations de ce document.


  11..44..  BBuutt ddee ccee HHOOWWTTOO

  Dans ce HOWTO, je vais essayer de couvrir l'installation et
  l'administration basique d'une base de donnes Oracle tournant sur une
  machine Linux. Je vais couvrir particulirement l'installation du
  serveur Oracle, la configuration de SQL*Net et du client.


  Ce document n'est pas un tutoriel complet sur l'utilisation et
  l'administration d'une base de donnes Oracle. Si c'est cela que vous
  recherchez, il y a de bons livres sur ces sujets publis par O'Reilly
  et autres.


  Je ne vais pas non plus couvrir le dveloppement des programmes Oracle
  sous UNIX. Si cela vous est absolument ncessaire, je vous
  recommanderais d'acheter le systme de dveloppement de SCO (avec
  OpenServer 5.x) , dont on m'a dit qu'il pouvait tre obtenu pour un
  prix trs raisonnable US $19,  SCO <http://www.sco.com>

  11..55..  PPrr--RReeqquuiiss

  Je suppose acquises un certain nombre de notions pour comprendre la
  suite du HOWTO.


    LLee CCDD SSeerrvveeuurr OOrraaccllee ppoouurr SSCCOO OOppeennSSeerrvveerr ((VVeerrssiioonn 77..33..33..00..00..))

        Ceci  ddooiitt tre une copie lgale.  N'oubliez pas qu'Oracle est
        une socit commerciale et vend ses produits. Si vous voulez une
        base de donnes compatible SQL gratuite, utilisez PostgreSQL ou
        quelque chose de similaire.

        Il est aussi possible d'installer Oracle, avec une licence
        d'valuation de 60 jours,  partir d'un fichier tar
        tlchargeable sur le site web d'Oracle. Je ne l'ai pas
        personnellement essay et ce n'est pas vrifi.



    UUnn SSeerrvveeuurr LLiinnuuxx


        Vous n'auriez pas lu ceci sans un... N'est-ce pas?



    NNooyyaauu 22..00..3300++


        Je ne peux garantir que les instructions seront fiables pour les
        autres noyaux. (ni pour le 2.0.30, d'ailleurs...)



    iiBBCCSS


        Il est trs important que ceci soit install et tourne avec la
        version la plus rcente possible pour votre plate-forme.
        (J'utilise iBCS-2.0-10.i386.rpm de RedHat Linux).



    BBeeaauuccoouupp dd''eessppaaccee ddiissqquuee


        600 Mb+ est une quantit raisonnable. Il est possible
        d'installer avec moins de place mais vous devez faire des
        sacrifices, et je ne commence jamais avec a. Nanmoins, je vais
        essayer de souligner les endroits o l'on peut librer de
        l'espace.



    3322MMbb++ RRaamm


        Je sais que ceci peut sembler important, surtout en ce qui
        concerne Linux, mais n'oubliez pas que Oracle est un logiciel
        complexe. Vous n'auriez pas ces rserves sur SCO!

        Je ne dis pas que Oracle ne marchera pas avec moins, mais que
        c'est le minimum recommand par Oracle, ce que je n'aurais pas
        conseill.


    LLiicceenncceess ddee OOrraaccllee


        Je sais que je l'ai deja mentionn ceci mais je voudrais tre
        clair sur son importance. Utilisez les logiciels d'Oracle sans
        licence est illgal.




  11..66..  NNoouuvveelllleess dd''OOrraaccllee CCoorrppoorraattiioonn

  Oracle a cd sous la pression de la communaut Linux. Oracle
  Corporation a dcid de supporter ooffffiicciieelllleemmeenntt Oracle 8 sur la
  plate-forme Linux (i386). Elle doit tre lanc en dcembre 1998, selon
  le site web d'Oracle.

  Mieux encore, Oracle va aussi porter Oracle Applications sur Linux. Il
  doit tre disponible dans le premier semestre 1999, selon le site web
  d'Oracle.

  Rfrences:

    http://www.oracle.com/html/linux.html

    http://www.news.com/News/Item/0,4,24436,00.html

    http://www.zdnet.com/pcweek/news/0720/20morac.html


  22..  IInnssttaallllaattiioonn dduu llooggiicciieell OOrraaccllee

  22..11..  PPrrppaarraattiioonn dduu SSeerrvveeuurr

  22..11..11..  CCrraattiioonn dd''uunn UUttiilliissaatteeuurr OOrraaccllee

  Nous avons videmment besoin d'un utilisateur pour maintenir la base
  de donnes Oracle. Comme nous n'avons l'intention de relier le noyau
  Oracle (plus sur ceci plus tard), nous devons accepter les noms
  d'utilisateur et de groupe par dfaut d'Oracle. Il inclut
  l'utilisateur ORACLE et le groupe DBA.


  1. Se connecter comme root


  2. Crer l'utilisateur oracle et le groupe dba.


       ______________________________________________________________________
       $ groupadd dba
       $ useradd  oracle
       ______________________________________________________________________




  3. S'assurer que le rpertoire personnel est cr pour l'utilisateur
     oracle.


       ______________________________________________________________________
       $ mkdir /home/oracle
       $ mkdir /home/oracle/7.3.3.0.0 (Version of Oracle)
       $ chown -R oracle.dba /home/oracle
       ______________________________________________________________________





  22..22..  IInnssttaallllaattiioonn ddeeppuuiiss llee CCDDRROOMM

  Malheureusement, l'Installateur Oracle sur le CD SCO ne marchera pas.
  Beaucoup de problmes peut tre rencontrs, des core dumps aux
  blocages. On doit donc copier les fichiers du CDROM manuellement et
  les dcompresser:

  (S'assurer que le CDROM est mont sur le systme).

  1. Se connecter comme utilisateur Oracle

  2. Changer de rpertoire pour /home/oracle/7.3.3.0.0.

  3. Copier les fichiers d'installation du CDROM


       ______________________________________________________________________
       $ cp -a /mnt/cdrom/* .
       ______________________________________________________________________




  4. Dcompresser les fichiers Oracle du CDROM.


       ______________________________________________________________________
       $ find . -name *_ -exec ~/7.3.3.0.0/orainst/oiuncomp {} \;
       ______________________________________________________________________





  22..33..  TTcchheess ddee PPoosstt IInnssttaallllaattiioonn

  22..33..11..  TTcchheess ppoouurr RRoooott

  Ajouter les lignes suivantes dans /etc/profile ou  dans  .profile pour
  chaque utilisateur d'Oracle.


       ______________________________________________________________________
       # Oracle Specific
       ORACLE_HOME=/home/oracle/7.3.3.0.0
       ORACLE_SID=orcl
       ORACLE_TERM=vt100
       export ORACLE_HOME ORACLE_SID ORACLE_TERM

       # Changer le chemin pour Oracle
       PATH="$PATH:$ORACLE_HOME/bin"
       ______________________________________________________________________





  Nous devons aussi changer le propritaire et les permissions de
  l'utilitaire Oracle d'augmentation de ulimit.


       ______________________________________________________________________
       $ chown root.root $ORACLE_HOME/bin/osh
       $ chmod u+s $ORACLE_HOME/bin/osh
       ______________________________________________________________________

  22..33..22..  TTcchheess ppoouurr OOrraaccllee

  Changer les permissions pour les fichiers Oracle pour s'assurer de
  leur bonne excution.


       ______________________________________________________________________
       $ chmod +x $ORACLE_HOME/bin/*
       $ chmod u+s $ORACLE_HOME/bin/oracle
       ______________________________________________________________________





  Les outils Oracle demandent que les messages soient dans le rpertoire
  $ORACLE_HOME/tool_name/mesg.  Donc, dplacez les fichiers  msb  des
  rpertoires  msg_ship aux rpertoires mesg.


       ______________________________________________________________________
       $ mv $ORACLE_HOME/plsql/mesg/mesg_ship/* $ORACLE_HOME/plsql/mesg/.
       $ mv $ORACLE_HOME/rdbms/mesg/mesg_ship/* $ORACLE_HOME/rdbms/mesg/.
       $ mv $ORACLE_HOME/svrmgr/mesg/mesg_ship/* $ORACLE_HOME/svrmgr/mesg/.
       ______________________________________________________________________




  Crer les rpertoires suivants, s'ils n'existent pas:


       ______________________________________________________________________
       $ mkdir $ORACLE_HOME/rdbms/log
       $ mkdir $ORACLE_HOME/rdbms/audit
       $ mkdir $ORACLE_HOME/network/log
       ______________________________________________________________________




  22..33..33..  CCeeuuxx qquuee vvoouuss ppoouuvveezz eennlleevveerr

  Les rpertoires suivants peuvent tre enlevs sans problme:

    $ORACLE_HOME/guicommon2/

    $ORACLE_HOME/ctx/

    $ORACLE_HOME/md/

    $ORACLE_HOME/mlx/

    $RACLE_HOME/precomp/

    $ORACLE_HOME/slax/

  33..  CCrraattiioonn dd''uunnee bbaassee ddee ddoonnnneess

  Maintenant que le serveur Oracle est install, nous devons crer une
  base de donnes pour tester l'installation.  Si vous utilisez Oracle
  7.2.x ou une version anterieure, veuillez lire la section Dpannage
  ci-dessous.



  33..11..  CCrreerr llee ffiicchhiieerr dd''IInniittiiaalliissaattiioonn

  Copiez $ORACLE_HOME/dbs/init.ora vers $ORACLE_HOME/dbs/initorcl.ora:


       ______________________________________________________________________
       $ cd $ORACLE_HOME/dbs
       $ cp init.ora initorcl.ora
       ______________________________________________________________________




  Le modifier en ajoutant les lignes suivantes:


       ______________________________________________________________________
       db_name = orcl
       COMPATIBLE=7.3.3.0.0
       ______________________________________________________________________






  33..22..  CCrraattiioonn dduu ssccrriipptt ppoouurr ll''iinnssttaallllaattiioonn ddee llaa bbaassee ddee ddoonnnneess

  Crer un fichier script nomm makedb.sql dans le rpertoire
  $ORACLE_HOME/dbs:


       ______________________________________________________________________
       connect internal
       startup nomount
       set echo on
       spool makedb.log
       create database orcl
               maxinstances 1
               maxlogfiles  8
               datafile '$ORACLE_HOME/dbs/orcl_syst_01.dbf' size 40M reuse
               logfile
                       '$ORACLE_HOME/dbs/orcl_redo_01.dbf' size 1M reuse,
                       '$ORACLE_HOME/dbs/orcl_redo_02.dbf' size 1M reuse,
                       '$ORACLE_HOME/dbs/orcl_redo_03.dbf' size 1M reuse;
       @$ORACLE_HOME/rdbms/admin/catalog.sql
       create tablespace rollback
               datafile '$ORACLE_HOME/dbs/orcl_roll_01.dbf' size 8.5M reuse;
       create tablespace temp
               datafile '$ORACLE_HOME/dbs/orcl_temp_01.dbf' size 5M reuse
               temporary;
       create tablespace users
               datafile '$ORACLE_HOME/dbs/orcl_user_01.dbf' size 10M reuse;
       create rollback segment r1 tablespace rollback
               storage ( optimal 5M );
       alter rollback segment r1 online;
       connect system/manager
       @$ORACLE_HOME/rdbms/admin/catdbsyn.sql
       connect internal
       @$ORACLE_HOME/rdbms/admin/catproc.sql
       connect system/manager
       @$ORACLE_HOME/sqlplus/admin/pupbld.sql
       spool off
       exit
       ______________________________________________________________________

  33..33..  EExxccuutteerr llee ssccrriipptt ppoouurr ll''iinnssttaallllaattiioonn ddee llaa bbaassee ddee ddoonnnneess

  Dmarrer svrmgrl et excuter le script:


       ______________________________________________________________________
       $ cd $ORACLE_HOME/dbs
       $ svrmgrl

       Oracle Server Manager Release 2.3.3.0.0 - Production

       Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

       Oracle7 Server Release 7.3.3.0.0 - Production Release
       PL/SQL Release 2.3.3.0.0 - Production

       SVRMGR> connect internal
       Connected.
       SVRMGR> startup nomount
       ORACLE instance started.
       Total System Global Area       4313312 bytes
       Fixed Size                       41876 bytes
       Variable Size                  4140364 bytes
       Database Buffers                122880 bytes
       Redo Buffers                      8192 bytes
       SVRMGR> @makedb
       <beaucoup de messages>
       SVRMGR> exit
       Server Manager complete.
       ______________________________________________________________________




  33..44..  DDmmaarrrreerr llaa bbaassee ddee ddoonnnneess

  Premirement, nous devons lancer la base de donnes manuellement (nous
  l'automatiserons plus tard). Pour dmarrer une base de donnes Oracle,
  nous devons mettre la commande startup en tant connect localement:


       ______________________________________________________________________
       $ svrmgrl

       Oracle Server Manager Release 2.3.3.0.0 - Production

       Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

       Oracle7 Server Release 7.3.3.0.0 - Production Release
       PL/SQL Release 2.3.3.0.0 - Production

       SVRMGR> connect internal
       Connected.
       SVRMGR> startup
       ORACLE instance started.
       Total System Global Area       4313316 bytes
       Fixed Size                       41876 bytes
       Variable Size                  4140368 bytes
       Database Buffers                122880 bytes
       Redo Buffers                      8192 bytes
       Database mounted.
       Database opened.
       SVRMGR> exit
       Server Manager complete.
       ______________________________________________________________________

  33..55..  AArrrrtteerr llaa bbaassee ddee ddoonnnneess

  Il est important de mentionner ici que redmarrer un serveur Linux
  sans fermer auparavant la base de donnes Oracle risque fort de
  corrompre la base de donnes.

  Donc, avant d'mettre la commande Linux shutdown, il est sage de
  fermer le base de donnes:


       ______________________________________________________________________
       $ svrmgrl

       Oracle Server Manager Release 2.3.3.0.0 - Production

       Copyright (c) Oracle Corporation 1994, 1995. All rights reserved.

       Oracle7 Server Release 7.3.3.0.0 - Production Release
       PL/SQL Release 2.3.3.0.0 - Production

       SVRMGR> connect internal
       Connected.
       SVRMGR> shutdown
       Database closed.
       Database dismounted.
       ORACLE instance shut down.
       SVRMGR> exit
       Server Manager complete.
       ______________________________________________________________________




  33..66..  CCrreerr uunn UUttiilliissaatteeuurr ppaarr ddffaauutt

  La base de donnes, telle qu'elle a t cre, a deux utilisateurs
  spciaux qui sont crs automatiquement. Ce sont;


       ______________________________________________________________________
       Username                Password

       SYSTEM                  MANAGER
       SYS                     change_on_install
       ______________________________________________________________________





  Ces utilisateurs sont typiquement utiliss pour maintenir les
  informations sur le dictionnaire standard de donnes pour la base de
  donnes. C'est une bonne ide de changer les mots de passe par dfaut
  aussitt que possible.


  Ceci peut tre fait par:









  ______________________________________________________________________
  sqlplus system/manager

  SQL*Plus: Release 3.3.3.0.0 - Production on Sat Feb 21 12:43:33 1998

  Copyright (c) Oracle Corporation 1979, 1996.  All rights reserved.


  Connected to:
  Oracle7 Server Release 7.3.3.0.0 - Production Release

  SQL> alter user system identified by <newpassword>;

  User altered.

  SQL> alter user sys identified by <newpassword>;

  User altered.

  SQL> exit;
  Disconnected from Oracle7 Server Release 7.3.3.0.0 - Production Release
  PL/SQL Release 2.3.3.0.0 - Production
  ______________________________________________________________________





  Comme l'utilisateur system/manager est similaire  l'utilisateur root
  sur une machine UNIX, nous devons crer un utilisateur avec moins de
  pouvoir  causer des dgats possibles (rappelez-vous de lancer la base
  de donnes avant d'essayer de crer un utilisateur).

  Se connecter  SQL*Plus et crer un utilisateur:


       ______________________________________________________________________
       $ sqlplus system/manager

       SQL*Plus: Release 3.3.3.0.0 - Production on Sat Feb 21 12:43:33 1998

       Copyright (c) Oracle Corporation 1979, 1996.  All rights reserved.


       Connected to:
       Oracle7 Server Release 7.3.3.0.0 - Production Release
       PL/SQL Release 2.3.3.0.0 - Production

       SQL> create user <user> identified by <psw>
         2  default tablespace users
         3  temporary tablespace temp;

       User created.

       SQL> grant connect, resource to <user>

       Grant succeeded.

       SQL> exit
       Disconnected from Oracle7 Server Release 7.3.3.0.0 - Production Release
       PL/SQL Release 2.3.3.0.0 - Production
       ______________________________________________________________________




  Maintenant que vous avez un nouvel utilisateur sur le systme, vous
  pouvez jouer avec. Pour se connecter sur la base de donnes Oracle:


       ______________________________________________________________________
       $ sqlplus <user>/<password>
       ______________________________________________________________________




  Si ceci s'excute sans messages d'erreur, vous avez donc une base de
  donnes Oracle qui marche. Si vous ne voulez vous connecter qu'
  partir de ce serveur, votre travail est donc termin. Amusez-vous!

  Si, cependant, comme la plupart des gens, vous voulez configurer la
  partie rseau du logiciel pour que vous puissiez vous connecter depuis
  d'autres machine, continuez votre lecture.



  44..  CCoonnffiigguurreerr SSQQLL**NNeett ssuurr llee SSeerrvveeuurr

  Tous ces fichiers configurent la partie rseau d'Oracle (SQL*Net ou
  Net8 pour Oracle8). Ces fichiers doivent tre crs sur le serveur
  dans le rpertoire $ORACLE_HOME/network/admin.

  44..11..  ttnnssnnaammeess..oorraa

  Le fichier TNSNAMES.ORA identifie les services disponibles depuis la
  machine. Dans notre cas, nous dcrirons toutes les bases de donnes
  que le serveur a mont. Pour chaque base de donnes sur votre serveur,
  ajouter une section comme ci-dessous:



       ______________________________________________________________________
       orcl.world =
         (DESCRIPTION =
           (ADDRESS_LIST =
               (ADDRESS =
                 (COMMUNITY = tcp.world)
                 (PROTOCOL = TCP)
                 (Host = <INSERER LE NOM LOGIQUE DU SERVEUR ICI> )
                 (Port = 1521)
               )
               (ADDRESS =
                 (COMMUNITY = tcp.world)
                 (PROTOCOL = TCP)
                 (Host = <INSERER LE NOM LOGIQUE DU SERVEUR ICI> )
                 (Port = 1526)
               )
           )
           (CONNECT_DATA = (SID = ORCL)
           )
         )
       ______________________________________________________________________




  44..22..  lliisstteenneerr..oorraa

  Le fichier listener.ora contient la description des services auxquels
  d'autres machines sont autorises  se connecter et toutes les
  configurations ncessaires pour l'couteur du serveur.
  Il contient les sections pour le nom de l'couteur, son adresse, les
  bases de donnes desservies par l'couteur et les paramtres de
  configuration.


  Voici un exemple:


       ______________________________________________________________________
       # Nom de l'couteur et les adresses a couter
       LISTENER =
               ( ADDRESS_LIST =
                       (ADDRESS =
                               (PROTOCOL=tcp)
                               (HOST=<INSERT HOST>)
                               (PORT=1521)
                               (COMMUNITY=UK_SUP_TCPIP)
                       )
                       (ADDRESS =
                               (PROTOCOL=ipc)
                               (KEY=700)
                               (COMMUNITY=UK_SUP_TCPIP)
                       )
               )

       # Liste des services dsservis par l'couteur
       SID_LIST_LISTENER=
               (SID_LIST=
                       (SID_DESC=
                               (SID_NAME=orcl)
                               (ORACLE_HOME=/home/oracle/7.3.3.0.0)
                       )
               )

       # Dbut des paramtres de configuration
       TRACE_LEVEL_LISTENER=OFF
       TRACE_FILE_LISTENER = "listener"
       LOG_FILE_LISTENER = "listener"
       CONNECT_TIMEOUT_LISTENER = 10
       STOP_LISTENER = YES
       DBA_GROUP = dba
       ______________________________________________________________________




  44..33..  ssqqllnneett..oorraa

  Le fichier sqlnet.ora contient la configuration pour le noeud du
  rseau. Ceci est indpendant du nombre de bases de donnes ou du
  nombre d'couteurs. La chose la plus importante dans ce fichier est la
  variable de configuration Timeout des Connexions Mortes.


  Le timeout des connexions mortes vrifie chaque processus entrant  la
  base de donnes et assure que le ct client rpond toujours. Si le
  client (de tout type) ne rpond pas, le processus en tche de fond du
  serveur Oracle sera tu.

  Ceci est trs utile si vous avez plusieurs clients qui accdent  la
  base de donnes, surtout pendant la phase de dveloppement o ces
  clients ne russiront certainement pas  sortir proprement de la base
  de donnes Oracle.



  Voici une copie de mon fichier sqlnet.ora pour vous servir d'exemple:


       ______________________________________________________________________
       TRACE_LEVEL_CLIENT = OFF
       sqlnet.expire_time = 30         # le nombre de secondes entre les vrifications des clients.
       names.default_domain = world
       name.default_zone = world
       ______________________________________________________________________





  44..44..  LLaanncceerr eett AArrrrtteerr lleess EEccoouutteeuurrss..

  Maintenant que la configuration des couteurs et de SQL*Net est finie,
  nous pouvons essayer de connecter la base de donnes en utilisant la
  partie rseau. (Avant nous utilisions l'accs direct  la base de
  donnes, alors qu'ici nous simulons une connexion depuis une machine
  cliente distante).


  Pour lancer l'couteur en utilisant la configuration ci-dessus:


       ______________________________________________________________________
       $ lsnrctl

       LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:38:25

       Copyright (c) Oracle Corporation 1994.  All rights reserved.

       Welcome to LSNRCTL, type "help" for information.

       LSNRCTL> start
       Starting /home/oracle/7.3.3.0.0/bin/tnslsnr: please wait...

       TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
       System parameter file is /home/oracle/7.3.3.0.0/network/admin/listener.ora
       Log messages written to /home/oracle/7.3.3.0.0/network/log/listener.log
       Listening on: (ADDRESS=(PROTOCOL=tcp)(DEV=6)(HOST=192.168.1.1)(PORT=1521))
       Listening on: (ADDRESS=(PROTOCOL=ipc)(DEV=10)(KEY=700))

       Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
       STATUS of the LISTENER
       ------------------------
       Alias                     LISTENER
       Version                   TNSLSNR for SCO System V/386: Version 2.3.3.0.0 - Production
       Start Date                23-FEB-98 20:38:50
       Uptime                    0 days 0 hr. 0 min. 0 sec
       Trace Level               off
       Security                  OFF
       SNMP                      ON
       Listener Parameter File   /home/oracle/7.3.3.0.0/network/admin/listener.ora
       Listener Log File         /home/oracle/7.3.3.0.0/network/log/listener.log
       Services Summary...
         orcl          has 1 service handler(s)
       The command completed successfully
       LSNRCTL> exit
       ______________________________________________________________________





  Pour arrter les couteurs:


       ______________________________________________________________________
       $ lsnrctl

       LSNRCTL for SCO System V/386: Version 2.3.3.0.0 - Production on 23-FEB-98 20:43:20

       Copyright (c) Oracle Corporation 1994.  All rights reserved.

       Welcome to LSNRCTL, type "help" for information.

       LSNRCTL> stop
       Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=magic.com)(PORT=1521)(COMMUNITY=UK_SUP_TCPIP))
       The command completed successfully
       LSNRCTL> exit
       ______________________________________________________________________




  Si vous avez une configuration DNS qui ne retourne pas l'adresse IP
  pour le nom logique specifi, le lancement et l'arrt de l'couteur
  prendront donc in certain temps. (2-3 mins. dpendant de la variable
  timeout du DNS). Si c'est le cas , ne vous inquitez pas. Soyez
  patient.



  55..  CCoonnffiigguurraattiioonn dduu CClliieenntt

  55..11..  CClliieennttss WWiinnddoowwss

  La configuration SQL*Net sur un PC avec les versions rcentes du
  logiciel Client Oracle est trs facile. La meilleure faon (et la plus
  facile) pour russir l'installation d'un client qui marche
  entirement, est d'utiliser l'outil SQL*Net Easy Configuration fourni
  par Oracle.

  Cet outil a une interface qui vous guidera dans l'installation des
  fichiers tnsnames.ora et sqlnet.ora.

  Slectionnez "Add Database Alias" et entrez le nom pour l'alias
  demand.  Cet alias est le nom par lequel vous allez vous rfrer 
  l'instance de la base de donnes, et doit donc tre le mme que celui
  de l'instance (orcl dans ce cas).

  Slectionnez TCP/IP comme protocole, le nom logique de la machine
  hbergeant la base de donnes et le nom de l'instance de la base de
  donnes.

  C'est tout.

  Cependant, si vous n'avez pas l'outil SQL*Net Easy Configuration Tool,
  ne vous inquietez pas. Vous pouvez simplement crer les fichiers
  tnsnames.ora et sqlnet.ora dans le rpertoire
  $ORACLE_HOME/network/admin sur le client, exactement comme sur le
  serveur.  Il fournira comme alias le mme que sur le serveur (toujours
  une bonne ide de toute faon).

  55..22..  CClliieennttss UUnniixx

  Les clients UNIX ne sont pas trs diffrents des clients Windows. Si
  vous avez Network Manager d'Oracle, alors utilisez-le de la mme faon
  que ci-dessus, sinon vous pouvez utiliser juste les mmes fichiers de
  configuration que sur le serveur dans le rpertoire
  $ORACLE_HOME/network/admin.

  66..  LLaanncceemmeenntt eett AArrrrtt AAuuttoommaattiiqquuee

  66..11..  ddbbssttaarrtt  eett ddbbssttoopp

  Le dmarrage et l'arrt automatique de la base de donnes Oracle
  peuvent tre effectus (avec la version 7.3.3.0.0) avec les fichiers
  dbstart et dbshut, tous deux fournis par Oracle. Ces fichiers
  dpendent sur l'existence du fichier /etc/oratab pour fonctionner
  (bien qu'en modifiant les fichiers dbshut et dbstart il puissent tre
  dplacs).

  Le format du fichier /etc/oratab est le suivant:


       ______________________________________________________________________
       SID:ORACLE_HOME:AUTO
       ______________________________________________________________________




  Un  exemple:


       ______________________________________________________________________
       orcl:/home/oracle/7.3.3.0.0:Y
       leaveup:/home/oracle/7.3.2.1.0:N
       ______________________________________________________________________




  66..22..  iinniitt..dd  eett rrcc..dd

  Pour dmarrer et arrter la base de donnes quand la machine se lance
  ou s'teint, il faut modifier les routines de dmarrage pour la
  machine Linux. Ceci est trs facile, bien que je devrais souligner que
  cela peut changer suivant la distribution Linux (Slackware, Debian,
  RedHat, etc).  Je vais montrer quelques exemples qui marchent avec
  RedHat Linux 5.0. Pour modifier ceux-ci pour votre propre distribution
  Linux, veuillez voir votre documentation Linux. (bien que ceci doit
  tre valable pour n'importe quel UNIX de type Sys V)


  Premirement, nous devons crer le script qui excutera  dbshut et
  dbstart dans le rpertoire  /etc/rc.d/init.d . Crez le fichier
  suivant comme /etc/rc.d/init.d/oracle:

















  ______________________________________________________________________
  #!/bin/sh
  #
  # /etc/rc.d/init.d/oracle
  # Description: Starts and stops the Oracle database and listeners
  # See how we were called.
  case "$1" in
    start)
          echo -n "Starting Oracle Databases: "
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          su - oracle -c dbstart >> /var/log/oracle
          echo "Done."
          echo -n "Starting Oracle Listeners: "
          su - oracle -c "lsnrctl start" >> /var/log/oracle
          echo "Done."
          echo ""
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Finished." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          touch /var/lock/subsys/oracle
          ;;
    stop)
          echo -n "Shutting Down Oracle Listeners: "
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          su - oracle -c "lsnrctl stop" >> /var/log/oracle
          echo "Done."
          rm -f /var/lock/subsys/oracle
          echo -n "Shutting Down Oracle Databases: "
          su - oracle -c dbshut >> /var/log/oracle
          echo "Done."
          echo ""
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Finished." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          ;;
    restart)
          echo -n "Restarting Oracle Databases: "
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          su - oracle -c dbstop >> /var/log/oracle
          su - oracle -c dbstart >> /var/log/oracle
          echo "Done."
          echo -n "Restarting Oracle Listeners: "
          su - oracle -c "lsnrctl stop" >> /var/log/oracle
          su - oracle -c "lsnrctl start" >> /var/log/oracle
          echo "Done."
          echo ""
          echo "----------------------------------------------------" >> /var/log/oracle
          date +"! %T %a %D : Finished." >> /var/log/oracle
          echo "----------------------------------------------------" >> /var/log/oracle
          touch /var/lock/subsys/oracle
          ;;
    *)
          echo "Usage: oracle {start|stop|restart}"
          exit 1
  esac
  ______________________________________________________________________




  Il vaut la peine de vrifier si le fichier arrte et dmarre vraiment
  correctement les bases de donnes pour le systme.  Vrifiez le
  fichier de log, /var/log/oracle, pour les messages d'erreur.

  Une fois que le script marche, nous devons crer les liens symboliques
  de start et kill dans les rpertoires appropris de niveau d'excution
  (runlevel) /etc/rc.d/rcX.d.

  Les commandes suivantes assureront que les bases de donnes vont
  dmarrer dans les niveaux d'excution 2,3 et 4:


       ______________________________________________________________________
       $ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle
       $ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle
       $ ln -s ../init.d/oracle /etc/rc.d/rc4.d/S99oracle
       ______________________________________________________________________




  Pour arrter les bases de donnes avant un ramorage ou arrt, nous
  avons besoin des liens suivants:


       ______________________________________________________________________
       $ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle          # Halting
       $ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle          # Rebooting
       ______________________________________________________________________




  77..  AAuuttrreess ttrruuccss

  77..11..  AAggeenntt IInntteelllliiggeenntt

  Si vous avez besoin d'un Agent Intelligent Oracle, vous pouvez
  l'excuter sans changement de la configuration.

  Pour dmarrer le AI, essayez:


       ______________________________________________________________________
       $ lsnrctl dbsnmp_start
       ______________________________________________________________________




  Pour arrter l'AI, essayez:


       ______________________________________________________________________
       $ lsnrctl dbsnmp_stop
       ______________________________________________________________________




  Il ne semble pas y avoir de message indiquant le lancement avec succs
  ou non de l'agent intelligent.  Cependant, l'AI rpond au gestionnaire
  _E_n_t_e_r_p_r_i_s_e sur le ct client. Donc, je ne peux que supposer qu'il
  marche.


  88..  DDppaannnnaaggee

  Voir ci-dessous les diffrents conseils de dpannage.

  88..11..  JJee nnee ppeeuuxx ppaass ccrreerr uunnee bbaassee ddee ddoonnnneess eenn uuttiilliissaanntt OOrraaccllee
  77..22..xx..

  Les fichiers expdis par Oracle dans les versions 7.2.x sont
  incorrects en supposant que vous voulez installer une configuration
  parallle de serveur. Le fichier init.ora contient la ligne suivante:


       ______________________________________________________________________
       # define parallel server (multi-instance) parameters
       ifile = ora_system:initps.ora
       ______________________________________________________________________




  Pour fixer le problme, mettez la en commentaire:


       ______________________________________________________________________
       # define parallel server (multi-instance) parameters
       #ifile = ora_system:initps.ora
       ______________________________________________________________________




  88..22..  JJ''oobbttiieennss lleess ddffaauuttss ddee sseeggmmeennttaattiioonn ddaannss llee  ssvvrrmmggrrll  ddee llaa
  vveerrssiioonn 77..33..44..xx..

  Ce problme m'a t signal par un certain nombre de personnes.
  Gerald Weber gerald_weber@master.co.at l'a rsolu:






























  ______________________________________________________________________
  Bonjour Paul,

  D'abord merci pour votre aide, mais aucun des problmes possubles que vous pensez n'tait responsable de mon problme.
  Le problme esy l'mulateur iBCS lui-mme.
  Il semble que Oracle excute les appels sysconf qui ne sont pas supports dans la version en cours d'iBCS.
  Regardez la trace:

  <7>[22]615 sysconf(34)
  <7>iBCS2 unsupported sysconf call 34
  <7>[22]615 sysconf error return linux=-22 -> ibcs=22 <Invalid argument>
  <7>[24]615 sysconf(34)
  <7>iBCS2 unsupported sysconf call 34
  <7>[24]615 sysconf error return linux=-22 -> ibcs=22 <Invalid argument>

  Solution:  patcher iBCS-source.apply avec le diff-patch suivant:


  --- sysconf.c   Sun Apr 19 19:19:15 1998
  +++ sysconf.c.ori       Sun Apr 19 19:28:45 1998
  @@ -60,7 +60,6 @@
   #define _SC_JOB_CONTROL        5
   #define _SC_SAVED_IDS  6
   #define _SC_VERSION    7
  -#define _SC_HACK_FOR_ORACLE 34

   #define _SC_PAGESIZE   11

  @@ -97,11 +96,6 @@
                  case _SC_SAVED_IDS: {
                          return (1);
                  }
  -
  -               case _SC_HACK_FOR_ORACLE: {
  -                 return (1);
  -               }
  -

                  case _SC_PAGESIZE: {
                    return PAGE_SIZE;
  ______________________________________________________________________





  99..  CCrrddiittss

  Ce document est bas sur un document crit par Bob Withers. Des
  informations supplmentaires sont extraites des documents crits par
  Georg Rehfeld et David Mansfield.

  Relectures supplmentaires faites par Bob Withers, Mark Watling, Peter
  Sodhi et Greg Hankins.

  Mes remerciements vont au support immense de la part des gens
  impliqus dans ce document et aux recherches qu'ils ont effectues.
  Remerciements particuliers  Bob Withers et Mark Watling pour leurs
  commentaires additionnels et l'aide qu'ils m'ont apporte.







