I. 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ée
[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 |
II. Installation ▲
Dé zipper les fichiers et lancer l'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 renseigner l'ORACLE_HOME, l'ORACLE_BASE (qui servira 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
Premier écran de lancement :
Problème de création Orainventory
Il est possible de rencontrer une erreur de création de l'OraInventory:
En appuyant sur Ok on peut spécifier un autre emplacement pour l'OraInventory
Vérification des prérequis Systéme:
Aujourd'hui la 11G n'est disponible que pour Linux, cela n'incluant que certaines versions, malheureusement la version sur laquelle
nous effectuons l'installation n'est pas certifiée. Cependant il est possible d'effectuer une installation sur toutes les versions 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 :
Summary:
Installation:
Link des sources :
Setting-Up :
Script à lancer sous le User Root :
Exécution du premier script :
Ici nous allons définir les droits sur l'installation
[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
[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 :
Vérification des produits installés :
III. 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 :
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
checkmodule -M -m -o oracle.mod oracle.te
semodule_package -o oracle.pp -m oracle.mod
semodule -i oracle.pp
IV. Créer une base de données▲
Création du FS pour accueillir la base de données :
[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 :
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éfaut la valeur de l'ORACLE_BASE.
En règle générale elle est initialisée à $ORACLE_BASE/ diag/rdbms/DATABASE_NAME/$ORACLE_SID/trace
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 :
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é :
[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 :
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 :
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éés 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é :
Vérification de l'état de la base de données :
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 :
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 :
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:
[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 introduit de nouveaux backgrounds process avec cette version de la 11 G :
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 :
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 :
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é.
V. Remerciements▲
Je tiens à particulièrement remercier Hubert Quarantel- Colombani pour son expertise sur les systèmes ouverts et notamment Linux.