I. Introduction

II. Pré-requis

Vérifiez la mémoire (1Go nécessaire)
[oracle@dsiege103829 oracle]$ grep MemTotal /proc/meminfo
MemTotal: 1024364 kB
Déterminez la taille du Swap
grep SwapTotal /proc/meminfo
[oracle@dsiege103829 oracle]$ grep SwapTotal /proc/meminfo
SwapTotal: 1048568 kB
Déterminez la mémoire partagé
[oracle@dsiege103829 oracle]$ df -k /dev/shm/
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 512180 0 512180 0% /dev/shm
Déterminez l'espace disponible du TMP ( il faut environ 150Mo à 200Mo)
[oracle@dsiege103829 oracle]$ df -m /tmp
Filesystem 1M-blocks Used Available Use% Mounted on
/dev/mapper/VGsys-tmpLV
992 36 906 4% /tmp

Vérifiez les packages d'installer

rpm -qa | grep package_name



Liste des packages nécessaires

compat-libstdc++-33.2.3-47.3
elfutils-libelf-0.97-5
elfutils-libelf-devel-0.97-5
glibc-2.3.9.4-2.19
glibc-common-2.3.9.4-2.19
glibc-devel-2.3.9.4-2.19
gcc-3.4.5-2
gcc-c++-3.4.5-2
libaio-devel-0.3.105-2
libaio-0.3.105-2
libgcc-3.4.5
libstdc++-3.4.5-2
libstdc++-devel-3.4.5-2
make-3.80-5
sysstat-5.0.5
unixODBC-2.2.11
unixODBC-devel-2.2.11

III. Installation

[oracle@dsiege103829 database]$ unzip linux_11gR1_database.zip
(..)
[oracle@dsiege103829 database]$cd database
[oracle@dsiege103829 database]$ export DISPLAY=dsiege104855
[oracle@dsiege103829 database]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 80 MB. Actual 1392 MB Passed
Checking swap space: must be greater than 150 MB. Actual 1023 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2007-08-14_02-14-05PM. Please wait ..



Ecran de lancement :
Nous allons renseigné l'ORACLE_HOME, l'ORACLE_BASE (qui servirat pour la variable diagnostic_dest le type d'installation et le groupe de l'utilisateur qui va installer le moteur).
On remarquera au passage qu'Oracle laisse tomber la couleur rouge dominante dans ces écrans pour un bleu plus discret


écran de lancement
Premier écran de lancement :
premier écran de lancement

Problème de création Orainventory

Il est possible de rencontrer une erreur de création de l'OraInventory:

Erreur OraInventory



En appuyant sur Ok on peut spécifier un autre emplacement pour l'OraInventory

Emplecement OraInventory
Vérification des pré-requis Systéme:
Vérification des pré requis systémes

Aujourd'hui la 11G n'est disponible que pour Linux, cela n'incluant que certaines versions, malheuresement la version sur laquelle
nous effectuons l'installation n'est pas certifiée. Cependant il est possible d'effectuer une installation sur toutes les version de Linux x86.

Il est possible de visualiser la matrice de certification avant de commencer l'installation:


Il est donc logique que la vérification échoue :

Echec des vérifications
Summary:
Summary
Installation:
Premier écran d'installation
Link des sources :
Link des binaires
Setting-Up :
Setting-up
Script à lancer sous le User Root :
Scripts Root

Exécution du premier script :

Ici nous allons définir les droits sur l'installation

 
Sélectionnez

[oracle@dsiege103829 database]$ [root@dsiege103829 product]# ./orainstRoot.sh
Changing permissions of /opt/oracle/product/ to 770.
Changing groupname of /opt/oracle/product/ to dba.
The execution of the script is complete



Exécution du second script :

Ce script sert à définir les variables d'environnement et le fichier /etc/oratab

 
Sélectionnez

[root@dsiege103829 111]# ./root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/oracle/product/111

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.





Fin de l'installation :

Fin de l'installation
Vérification des produits installés :
Produits installés

IV. Erreur Linux



Il peut vous demander lors de la première connexion la librairie suivante :
$ORACLE_HOME/lib/stubs/libaio.so.1
Sur un système SELinux (Security Enhanced Linux) il faut ouvrir certaines permissions :

 
Sélectionnez

module oracle 1.0.0;
require {
        type unconfined_t;
        type file_t;
        class file { read getattr execmod };
}<br/>
<br/>
#============= unconfined_t ==============
allow unconfined_t file_t:file {read getattr execmod };

2. Compiler, packager et installer ce module

 
Sélectionnez

 checkmodule -M -m -o oracle.mod oracle.te
semodule_package -o oracle.pp -m oracle.mod
semodule -i oracle.pp

V. Créer une base de données

Création du FS pour accueuillir la base de données :


 
Sélectionnez

 [root@dsiege103829 product]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree
  VGsys   1   8   0 wz--n- 113.38G 86.88G
 [root@dsiege103829 product]# lvcreate -L 40G -n oradataLV VGsys
  Logical volume "oradataLV" created
[root@dsiege103829 product]# vgs
  VG    #PV #LV #SN Attr   VSize   VFree
  VGsys   1   9   0 wz--n- 113.38G 46.88G
 [root@dsiege103829 product]# pvs
  PV         VG    Fmt  Attr PSize   PFree
  /dev/hda2  VGsys lvm2 a-   113.38G 46.88G
[root@dsiege103829 product]# mkfs -t ext3 /dev/VGsys/oradataLV
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
5242880 inodes, 10485760 blocks
524288 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
320 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@dsiege103829 product]# mkdir -p /oracle/data/
[root@dsiege103829 product]# vi /etc/fstab
[root@dsiege103829 product]# mount /oracle/data
[root@dsiege103829 product]# chown -R oracle:dba /oracle/data

[root@dsiege103829 product]# df -h /oracle/data
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGsys-oradataLV
                       40G  177M   38G   1% /oracle/data
[root@dsiege103829 product]#



Création de l'instance :

 
Sélectionnez

SQL> startup nomount pfile=/oracle/admin/orcl/initorcl.ora
ORA-32006: BACKGROUND_DUMP_DEST initialization parameter has been deprecated
ORA-32006: USER_DUMP_DEST initialization parameter has been deprecated
ORACLE instance started.



' Comme nous pouvons le remarquer, Oracle dans sa nouvelle version de base de données, c'est basé sur la gestion de l'arborescence
de la Flash recovery aréa pour supprimer les répertoires d'administration et laissé à Oracle le soin d'organiser cette structure.
Cela se fait automatiquement. En effet la variable chargée de déterminer le répertoire racine de cette installation est fixé par
DIAGNOSTIC_DEST qui prend par défault la valeur de l'ORACLE_BASE.

En règle générale elle est initialisé à $ORACLE_BASE/ diag/rdbms/DATABASE_NAME/$ORACLE_SID/trace

 
Sélectionnez

SQL> show parameter diagnostic
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /opt/oracle/product

Cependant ce paramètre peut être modifié soit en le renseignant lors de la création de l'instance via le pfile soit après la création de cette instance de manière dynamique :

 
Sélectionnez

SQL> alter system set diagnostic_dest='/oracle/admin/orcl' scope=both ;

System altered.

SQL> show parameter diag

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
diagnostic_dest                      string      /oracle/admin/orcl

Il va créer l'arborescence dans le répertoire spécifié :

 
Sélectionnez

[oracle@dsiege103829 orcl]$ pwd
/oracle/admin/orcl
[oracle@dsiege103829 orcl]$ ll
total 16
-rw-r--r-- 1 oracle oradba 1354 Aug 14 10:27 initorcl.ora
drwxr-sr-x 3 oracle dba    4096 Aug 14 11:12 diag

Création de la base de données :

 
Sélectionnez

	create database orcl	
		user sys identified by *****
		user system identified by *****
		controlfile reuse
		maxdatafiles 32
		maxinstances 1
		character set WE8ISO8859p15
		national character set al16utf16
		logfile
			group 1 '/oracle/redo/orcl/log1.log' size 50M,
			group 2 '/oracle/redo/orcl/log2.log' size 50M,
			group 3 '/oracle/redo/orcl/log3.log' size 50M
		maxlogfiles 8
		maxlogmembers 2
		noarchivelog
		extent management local
		datafile '/oracle/data/orcl/system_01.dbf' size 1 G reuse autoextend on maxsize 2 G
		sysaux datafile '/oracle/data/orcl/sysaux_01.dbf' size 256 M reuse autoextend on maxsize 512 M
		default tablespace USERS
			datafile '/oracle/data/orcl/users_01.dbf'
			size 256 M reuse autoextend on maxsize 1 G
			extent management local autoallocate
		default temporary tablespace TEMP
			tempfile '/oracle/data/orcl/temp_01.dbf'
			size 256 M reuse autoextend on maxsize 1 G
		undo tablespace UNDOTBS
			datafile '/oracle/data/orcl/undotbs_01.dbf'
			size 256 M reuse autoextend on maxsize 1 G ;

Lors de la création de la base si nous observons le fichier de trace de la base, nous nous apercevons qu'Oracle exécute certains scripts :

 
Sélectionnez

processing ?/rdbms/admin/dfmap.bsq
processing ?/rdbms/admin/denv.bsq
processing ?/rdbms/admin/drac.bsq
processing ?/rdbms/admin/dsec.bsq
processing ?/rdbms/admin/doptim.bsq
processing ?/rdbms/admin/dobj.bsq
processing ?/rdbms/admin/djava.bsq
processing ?/rdbms/admin/dpart.bsq
processing ?/rdbms/admin/drep.bsq
processing ?/rdbms/admin/daw.bsq
processing ?/rdbms/admin/dsummgt.bsq
processing ?/rdbms/admin/dtools.bsq
processing ?/rdbms/admin/dexttab.bsq
processing ?/rdbms/admin/ddm.bsq
processing ?/rdbms/admin/dlmnr.bsq

Les packages crées lors du lancement des scripts :

  • @?/rdbms/admin/catalog
  • @?/rdbms/admin/catproc
  • @?/rdbms/admin/catblock
  • @?/rdbms/admin/utlxplan
  • @?/sqlplus/admin/pupbld
  • @?/xdk/admin/initxml
  • @?/xdk/admin/xmlja
  • @?/javavm/install/initjvm
  • @?/rdbms/admin/catjava
  • @?/rdbms/admin/catoctk

Certaines procédures ont wrappés :

Procédures Wrappés
Vérification de l'état de la base de données :
 
Sélectionnez

SQL> set linesize 250
SQL> col comp_name format a40
SQL> r
  1* select comp_name , version, status from dba_registry

COMP_NAME                                VERSION                        STATUS
---------------------------------------- ------------------------------ -----------
Oracle Database Catalog Views            11.1.0.6.0                     VALID
Oracle Database Packages and Types       11.1.0.6.0                     VALID
Oracle XDK                               11.1.0.6.0                     VALID
JServer JAVA Virtual Machine             11.1.0.6.0                     VALID

4 rows selected.
Création du Spfile :
 
Sélectionnez

SQL> create spfile from pfile='/oracle/admin/orcl/initorcl.ora'
  2  ;

File created.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area  368263168 bytes
Fixed Size                  1299988 bytes
Variable Size             318769644 bytes
Database Buffers           29360128 bytes
Redo Buffers               18833408 bytes
Database mounted.
Database opened.
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /opt/oracle/product/111/dbs/sp
                                                 fileorcl.ora
Création et démarrage du listener :
 
Sélectionnez

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dsiege103829)(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
    )
)

Démarrage du LISTENER:

 
Sélectionnez

[oracle@dsiege103829 admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 14-AUG-2007 11:19:32

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Starting /opt/oracle/product/111/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.1.0.6.0 - Production
System parameter file is /opt/oracle/product/111/network/admin/listener.ora
Log messages written to /opt/oracle/product/diag/tnslsnr/dsiege103829/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dsiege103829.brinks.fr)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dsiege103829)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.1.0.6.0 - Production
Start Date                14-AUG-2007 11:19:33
Uptime                    0 days 0 hr. 0 min. 1 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/111/network/admin/listener.ora
Listener Log File         /opt/oracle/product/diag/tnslsnr/dsiege103829/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dsiege103829.brinks.fr)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
 [oracle@dsiege103829 admin]$ ps -eaf | grep tns
oracle   16919     1  0 11:19 ?        00:00:00 /opt/oracle/product/111/bin/tnslsnr LISTENER -inherit
oracle   16927 16106  0 11:19 pts/3    00:00:00 grep tns
[oracle@dsiege103829 admin]$

On s'aperçoit que le fichier Log, en XML se sert également de l'ORACLE_BASE

Les background processes :

Oracle a intrdoduit de nouveaux backgrounds process avec cette version de la 11 G :

 
Sélectionnez

oracle   16756     1  0 11:07 ?        00:00:00 ora_pmon_orcl
oracle   16758     1  0 11:07 ?        00:00:00 ora_vktm_orcl
oracle   16762     1  0 11:07 ?        00:00:00 ora_diag_orcl
oracle   16764     1  0 11:07 ?        00:00:00 ora_dbrm_orcl
oracle   16766     1  0 11:07 ?        00:00:00 ora_psp0_orcl
oracle   16770     1  0 11:07 ?        00:00:00 ora_dia0_orcl
oracle   16772     1  0 11:07 ?        00:00:00 ora_mman_orcl
oracle   16774     1  0 11:07 ?        00:00:00 ora_dbw0_orcl
oracle   16776     1  0 11:07 ?        00:00:00 ora_dbw1_orcl
oracle   16778     1  0 11:07 ?        00:00:00 ora_dbw2_orcl
oracle   16780     1  0 11:07 ?        00:00:00 ora_dbw3_orcl
oracle   16782     1  0 11:07 ?        00:00:00 ora_lgwr_orcl
oracle   16784     1  0 11:07 ?        00:00:00 ora_ckpt_orcl
oracle   16786     1  0 11:07 ?        00:00:00 ora_smon_orcl
oracle   16788     1  0 11:07 ?        00:00:00 ora_reco_orcl
oracle   16790     1  0 11:07 ?        00:00:00 ora_mmon_orcl
oracle   16792     1  0 11:07 ?        00:00:00 ora_mmnl_orcl
oracle   16794     1  0 11:08 ?        00:00:00 ora_p000_orcl
oracle   16796     1  0 11:08 ?        00:00:00 ora_p001_orcl
oracle   16798     1  0 11:08 ?        00:00:00 ora_p002_orcl
oracle   16800     1  0 11:08 ?        00:00:00 ora_p003_orcl
oracle   16808     1  0 11:08 ?        00:00:00 ora_fbda_orcl
oracle   16810     1  0 11:08 ?        00:00:00 ora_smco_orcl
oracle   16812     1  0 11:08 ?        00:00:00 ora_qmnc_orcl
oracle   16820     1  0 11:08 ?        00:00:00 ora_w000_orcl
oracle   16834     1  0 11:08 ?        00:00:00 ora_q000_orcl
oracle   16836     1  0 11:08 ?        00:00:00 ora_q001_orcl

La définition des processus dans la 11G est très bien détaillée dans la documentation Oracle :

 
Sélectionnez

DIA0	- Hang and dead lock resolution

DIAG	- Diagnostic dumps

DBRM	- Resource manager process

EMNC	- event monitor co-ordinator

VKTM	- Virtual time keeper

FBDA	- Flashback archive

GMON	- Disk membership in ASM

ACMS	- for RAC

KATE	- I/O to an ASM when disk offline

GTX0j	- Xa Global transaction in a RAC

PSP0	- Spawn a process

RMSn	- RAC management process

RMSN	- manage slave process in RAC

SMC0/
Wnnn	- Space management coordination process
Mot de passe Case - sensitive :
 
Sélectionnez

SQL> create user dvp identified by DVP ; 

Utilisateur créé.

SQL> grant dba to dvp ; 

Autorisation de privilèges (GRANT) acceptée.

SQL> conn dvp/dvp@orcl
ERROR:
ORA-01017: invalid username/password; logon denied


Attention : vous n'êtes plus connecté à ORACLE.
SQL> conn dvp/DVP@orcl
Connecté.

VI. Remerciements

Je tiens à particuliérement remercier Hubert Quarantel- Colombani pour son expertise sur les systémes ouverts et notamment Linux