Outils pour utilisateurs

Outils du site


installation_oracle_10g_64_bits_sur_centos_5.7

Ceci est une ancienne révision du document !


Introduction

Ce document concerne la mise en place d'une base Oracle 10g version 10.2.0.5 sur Centos 5.7 64bits

Il est supposé que CentOS 5.7 64bits a été installé dans sa configuration la plus légère, c'est à dire uniquement le meta-package CORE. http://www.silverlake.fr/wiki/doku.php?id=installation_oracle_11g#centos

Il faut disposer d'un compte My Oracle Support pour charger les patches suivants :

  • p8202632_10205_Linux-x86-64.zip
  • 8350262, ce patche gère les certificats du database control au delà du 31/12/2010.

Le serveur se nomme adi100.concarnux.fr et dispose de l'IP 192.168.1.100/24

La RAM du serveur est de 4Go

Son processeur est un i3-2105( Intel ) à 3.10GHz

Le disque dur de l'exemple est un SATA de 250Go partitionné ainsi

Point de montageFormatTaille
Primaire
/bootext2 100Mo
swap 4Go
/ext3 2Go
Logique
/usrext3 5Go
/usr/localext3 5Go
/optext3 10Go
/varext3 2Go
/tmpext3 1Go
/homeext3 50Go
/u01ext3 50Go
/u02ext3 50Go
/u03ext3 50Go
/u04ext3 Le reste

Préparation de CentOS

Après l'installation de base de CentOS, installer unzip

yum -y install unzip
cd /home
gunzip 10201_database_linux_x86_64.cpio.gz
cpio -idmv < 10201_database_linux_x86_64.cpio
unzip p8202632_10205_Linux-x86-64.zip

Les binaires d'installation de base est sous /home/database. Le patch 10.2.0.5 est sous /home/Disk1

Packages

Installer les packages suivants

yum -y install compat-libstdc++-296 compat-libstdc++-33 make pdksh elfutils-libelf-devel \
glibc-devel glibc-headers gcc gcc-c++ libaio-devel sysstat unixODBC unixODBC-devel \
xorg-x11-deprecated-libs xorg-x11-utils libgcj-4.1.2-51.el5

Le package xorg-x11-utils et libgcj-4.1.2-51.el5 sont impératifs avec CentOS 5.7 sinon les databases control ne se configuront pas. Erreur sur /usr/lib/libXt.so.6.

Utilisateur et groupes

Création des groupes et utilisateur Oracle

groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba -s /bin/bash oracle
passwd oracle

Pour l'exemple le mot de passe de oracle sera manager10

Noyau Linux

Configurer certains paramètres du noyau en ajoutant les lignes suivantes au fichier /etc/sysctl.conf

echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs.file-max = 65536" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
echo "net.core.rmem_default = 4194304" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 262144" >> /etc/sysctl.conf

Relire la configuration

sysctl -p

Limites

Modifier les limites en ajoutant les lignes suivantes au fichier /etc/security/limits.conf

echo "oracle soft nproc  2047" >> /etc/security/limits.conf
echo "oracle hard nproc  16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf

Fichier /etc/profile

Ajouter les lignes suivantes au fichier /etc/profile

echo "if [ $USER = "oracle" ]; then" >> /etc/profile
echo "  if [ $SHELL = "/bin/ksh" ]; then" >> /etc/profile
echo "    ulimit -p 16384" >> /etc/profile
echo "    ulimit -n 65536" >> /etc/profile
echo "  else" >> /etc/profile
echo "    ulimit -u 16384 -n 65536" >> /etc/profile
echo "  fi" >> /etc/profile
echo "fi" >> /etc/profile

Version Redhat

Simuler une RedHat release 3

echo "RedHat Enterprise Linux ES release 3 (Taroon Update 4)" > /etc/redhat-release

Répertoires

Créer les répertoires pour Oracle

mkdir -p /u01/app/oracle /u02/app/oracle /u03/app/oracle
chown -R oracle:oinstall /u01/app /u02/app /u03/app
chmod -R 775 /u01/app /u02/app /u03/app

Oracle 10g

Dans un premier temps installer la version 10.2.0.1 de Oracle

Pour celà se connecter avec le user oracle dans une seconde fenêtre, afin de conserver un accès au root.

Il sera supposé que les fichiers d'installation sont sous /home/database pour le version 10.20.0.1

Configuration de l'instalation silencieuse

Créer le fichier /home/db.rsp en y mettant les lignes suivantes :

RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME=oinstall
FROM_LOCATION="../stage/products.xml"
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE_HOME_NAME=OraDbHome1
TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}
DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}
ORACLE_HOSTNAME=adi100.concarnux.fr
COMPONENT_LANGUAGES={"en","fr"}
INSTALL_TYPE="EE"
s_nameForDBAGrp=dba
s_nameForOPERGrp=oper
n_configurationOption=3

Lancer l'installation ainsi

/home/database/runInstaller -silent -responseFile /home/db.rsp

En fin d'installation et sous le compte root exécuter les deux scripts suivants

/home/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh

Ne pas hésiter à consulter le fichier de log généré pendant l'installation sous /home/oracle/oraInventory/logs/silentInstall2011-10-14_11-03-34AM.log ( le nom sera bien sur différent )

Fichier .bash_profile

Il faut rajouter certaines variables d'environnement au user oracle dans sont fichier .bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=FRENCH_FRANCE.UTF8

Sourcer le fichier .bash_profile

. .bash_profile

Installation du patch 10.2.0.5

Créer le fichier /home/patch.rsp en y mettant les lignes suivantes :

RESPONSEFILE_VERSION=2.2.1.0.0
UNIX_GROUP_NAME="oinstall"
FROM_LOCATION="../stage/products.xml"
ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORACLE_HOME_NAME=OraDbHome1
TOPLEVEL_COMPONENT={"oracle.patchset.db","10.2.0.5.0"}
OUI_HOSTNAME=adi100.concarnux.fr
COMPONENT_LANGUAGES={"en","fr"}
MYORACLESUPPORT_USERNAME=votre.nom@votre.mail.com
MYORACLESUPPORT_PASSWORD=votre_mot_de_passe

Lancer l'installation du patche

/home/Disk1/runInstaller -silent -responseFile /home/patch.rsp -ignoreSysPreReqs

En fin d'instalation, sous le compte root, relancer le script root.sh en validant les réponses.

/u01/app/oracle/product/10.2.0/db_1/root.sh

Vérifier l'installation correcte du patch

sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 - Production on Ven. Oct. 14 11:44:52 2011
Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.
SQL> 

Installation du patch 8350262

En version 10.2.0.4 et 10.2.0.5 les database control sont sécurisés, or les certificats ne sont plus valables après le 31/12/2010 !

Il faut donc installer le patch 8350262 disponible sur My Oracle Support. Attention le patch est différent pour 10.2.0.4 et 10.2.0.5 !

Un fois le .zip téléchargé, le décompresser

unzip p8350262_10205_Generic.zip

Se positionner dans le répertoire créé et appliquer le patch

cd 8350262
$ORACLE_HOME/OPatch/opatch apply

Création de la base de données

Dans cet exemple, nous allons créer une base de données appelée YODA. Toutes les manipulations se font sous la compte Oracle

Répertoires

Créer les répertoires suivants :

mkdir -p /u01/app/oracle/admin/YODA/bdump
mkdir -p /u01/app/oracle/admin/YODA/udump
mkdir -p /u01/app/oracle/admin/YODA/pfile
mkdir -p /u01/app/oracle/oradata/YODA
mkdir -p /u02/app/oracle/oradata/YODA
mkdir -p /u03/app/oracle/oradata/YODA

Fichier de paramètres

Créer le fichier /u01/app/oracle/admin/YODA/pfile/initYODA.ora

db_name = YODA
db_block_size = 8192
background_dump_dest = /u01/app/oracle/admin/YODA/bdump
user_dump_dest = /u01/app/oracle/admin/YODA/udump
control_files = /u01/app/oracle/oradata/YODA/control01.ctl,/u02/app/oracle/oradata/YODA/control02.ctl,/u03/app/oracle/oradata/YODA/control03.ctl
undo_management=auto
sga_target = 640M
pga_aggregate_target = 160M

Créer un lien symbolique vers $ORACLE_HOME/dbs

cd $ORACLE_HOME/dbs
ln -s /u01/app/oracle/admin/YODA/pfile/initYODA.ora initYODA.ora

Fichier de mot de passe

Créer le fichier de mot de passe

cd $ORACLE_HOME/dbs
orapwd file=orapwYODA password=manager10

Création de la base de données

export ORACLE_SID=YODA
sqlplus /nolog
SQL> connect /  as sysdba
SQL> startup nomount;
SQL> create spfile from pfile;
SQL> create database YODA
character set UTF8
national character set UTF8
logfile
group 1 ('/u01/app/oracle/oradata/YODA/redo01a.log','/u02/app/oracle/oradata/YODA/redo01b.log') size 50M,
group 2 ('/u01/app/oracle/oradata/YODA/redo02a.log','/u02/app/oracle/oradata/YODA/redo02b.log') size 50M,
group 3 ('/u01/app/oracle/oradata/YODA/redo03a.log','/u02/app/oracle/oradata/YODA/redo03b.log') size 50M
datafile '/u01/app/oracle/oradata/YODA/system01.dbf' size 500M
autoextend on next 100M
maxsize 2G extent management local
sysaux datafile '/u01/app/oracle/oradata/YODA/sysaux01.dbf' size 500M
autoextend on next 100M maxsize 2G
undo tablespace UNDO_TBS
datafile '/u02/app/oracle/oradata/YODA/undo_tbs01.dbf' size 25M
default temporary tablespace TEMP
tempfile '/u03/app/oracle/oradata/YODA/temp01.dbf' size 50M;

Création des tables du dictionnaire

Toujours sous SQL*Plus en sysdba lancer deux scripts

SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql

User sys et system

Affecter les mots de passe pour sys et system

SQL> alter user sys identified by manager10;
SQL> alter user system identified by manager10;

Se reconnecter en system/manager10 et lancer le script pupbld.sql

SQL> @?/sqlplus/admin/pupbld.sql

Tablespace par défaut

Créer un tablespace par défaut à la taille minimale.

SQL> create tablespace users datafile '/u02/app/oracle/oradata/YODA/users_01.dbf' size 100K;
SQL> alter database default tablespace users;

Activer le spfile

Arrêter et redémarrer la base

sqlplus /nolog
SQL> connect  / as sysdba
SQL> shutdown
SQL> startup

Flash recovery area

Créer la Flash recovery Area sur disque

mkdir -p /u03/app/oracle/flash_recovery_area

Affecter la Flash recovery Area à la base YODA

sqlplus system/manager10
SQL> alter system set db_recovery_file_dest_size=5G scope=both;
SQL> alter system set db_recovery_file_dest='/u03/app/oracle/flash_recovery_area' scope=both;

Configuration réseau

Listener

Créer le fichier $ORACLE_HOME/network/admin/listener.ora

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
     (ADDRESS=(PROTOCOL = TCP)(HOST = adi100.concarnux.fr )(PORT = 1521))
    )
  )
SID_LIST_LISTENER =
(SID_DESC =
   (GLOBAL_DBNAME = YODA)
   (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
   (SID_NAME = YODA)
)

Lancer le listener

lsnrctl start

Oracle*Net

Créer le fichier $ORACLE_HOME/network/admin/sqlnet.ora

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

Créer le fichier $ORACLE_HOME/network/admin/tnsnames.ora

YODA =
  (DESCRIPTION =
    (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = adi100.concarnux.fr)(PORT = 1521))
    )
    (CONNECT_DATA =
       (SERVICE_NAME = YODA)
    ) 
)

Tester la résolution

tnsping YODA

TNS Ping Utility for Linux: Version 10.2.0.5.0 - Production on 14-OCT. -2011 13:20:56
Copyright (c) 1997,  2010, Oracle.  All rights reserved.
Fichiers de paramètres utilisés :
/u01/app/oracle/product/10.2.0/db_1/network/admin/sqlnet.ora
Adaptateur TNSNAMES utilisé pour la résolution de l'alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = adi100.concarnux.fr)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = YODA)))
OK (0 msec)

Database Control

Configurer correctement la job_queue

sqlplus system/manager10@YODA
SQL> alter system set job_queue_processes=1 scope=both;

Lancer la création du référentiel

emca -repos create

Répondre aux 5 questions

  • SID → YODA
  • Port d'écoute → 1521
  • Mot de passe SYS → manager10
  • Mot de passe SYSMAN → manager10 ( cet utilisateur va être créé )
  • Répondre Y pour lancer le traitement.

Lancer la création du serveur Web

emca -config dbcontrol db

Répondre aux 7 questions

  • SID → YODA
  • Processus d'écoute → 1521
  • Mot de passe de SYS → manager10
  • Mot de passe de DBSNMP → manager10 ( cet utilisateur va être créé )
  • Mot de passe de SYSMAN: → manager10
  • Adresse électronique pour les notifications (facultatif): Laisser vide
  • Serveur de messagerie sortant (SMTP) pour les notifications (facultatif): Laisser vide
  • Répondre Y pour lancer le traitement

La connexion se fait via un navigateur sur https://192.168.1.100:1158/em

installation_oracle_10g_64_bits_sur_centos_5.7.1319012137.txt.gz · Dernière modification: 2011/10/19 10:15 par admin