1. Télécharger les fichiers d'installation de la version oracle et les dézipper avec unzip
2. Exécuter la commande :
yum install oracle-rdbms-server-11gR2-preinstall
et suivre les instructions pour installer les packages nécessaires
3. editer le fichier /etc/selinux/config
Modifier la ligne comme suit :
SELINUX=disabled
4. Exécuter les commandes :
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
passwd oracle
rentrer le mot de passe
5. Exécuter la commande :
xhost +<machine-name>
6. Toujours sur le user oracle lancer l'installation :
En étant loggé sur le user oracle via l'interface graphique
Se rendre dans le répertoire ou les fichiers d'installs sont décompressés et taper:
./runInstaller (en cas de problème de permissions, taper chmod -R 777 database)
7. ajouter au fichier /home/oracle/.bash_profile les lignes suivantes :
sans oublier de modifier ORACLE_HOSTNAME avec le nom du poste actuel en configuration (ex: nomdemonserveur.mondomaine.org)
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=nomduposte.domaine; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
8.Se logguer en tant que root et éxécuter :
/u01/app/oraInventory/orainstRoot.sh
/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
9 Editer le fichier
/etc/oratab
Remplacer le N par Y sur l'instance créée
10. Editer dbstart and dbshut scripts based in /u01/app/oracle/product/11.2.0/dbhome_1/bin/ and change first entry from
ORACLE_HOME_LISTNER=$1
to
ORACLE_HOME_LISTNER=${1:-$ORACLE_HOME}
to avoid error "ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener" on the init or start!
11. Dans le listener.oracd et le tnsnames.ora il faut enlever le suffixe du domaine (mondomaine.org)
Le listener.ora doit contenir :
SID_LIST_LISTENER =
(SID_LIST =
(GLOBAL_DBNAME = [Nom du SID de la base par exemple :ORCL])
(ORACLE_HOME = [Chemin en dur du $ORACLE_HOME par exemple /u01/app/oracle/product/11.2.0/dbhome_1])
(SID_NAME = [Nom du SID de la base par exemple : ORCL])
Exemple de listener fonctionnel:
# listener.ora Network Configuration File: u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = nomdemonserveur)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /u01/app/oracle
12.Création d'un script de démarrage automatique de la base et de l'instance:
loggé en tant que root:
#cd /etc/init.d
#touch dbora
#vim dbora
Coller ce texte dedans:
#!/bin/sh
# chkconfig: 345 99 10
# description: Oracle auto start-stop script.
# Set ORA_HOME to be equivalent to the $ORACLE_HOME
# from which you wish to execute dbstart and dbshut;
#
# Set ORA_OWNER to the user id of the owner of the
# Oracle database in ORA_HOME.
ORA_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORA_OWNER=oracle
ORACLE_UNQNAME=orcl
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo "Oracle startup: cannot start"
exit
fi
case "$1" in
'start')
# Start the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"
su - $ORA_OWNER -c "$ORA_HOME/bin/sqlplus /nolog"<<!
connect SYS/motdepasse AS SYSDBA
startup
exit
!
;;
'stop')
# Stop the Oracle databases:
# The following command assumes that the oracle login
# will not prompt the user for any values
su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"
;;
esac
quitter par :wq!
rendre le sript exécutable et en auto démarrage:
#chmod u+x /etc/init.d/dbora
#chmod 750 /etc/init.d/dbora
#chgrp dba /etc/init.d/dbora
#chkconfig --add dbora
#chkconfig –-level 2345 dbora on
Vérifier si le script est bon :
./dbora start
emca -config dbcontrol db
Quelques aides:
Pour démarrer le moteur de la base :
$ORACLE_HOME/bin/dbstart
Démarrer la console web
$ORACLE_HOME/bin/emctl start dbconsole
Vérifier que le listener fonctionne
$ORACLE_HOME/bin/lsnrctl
LSNRCTL> stop
LSNRCTL> start (On doit voir affiché l’instance)
LSNRCTL> exit
Montage de la base
$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect SYS/[Mot de passe] AS SYSDBA
SQL> startup open
SQL> connect SYS/[Mot de passe]@[SID de la base] AS SYSDBA
si le prompt répond ‘Connected’ c’est que tout est OK !
SQL> exit
Différentes commandes utiles
1. Arrêter une instance :
$ORACLE_HOME/bin/sqlplus /nolog
connect SYS/Mot_De_Passe@SID_de_la_base as SYSDBA
shutdown IMMEDIATE;
2. Vérifier une variable d'environnement
echo NOM_DE_LA_VARIABLE
3. modifier une variable d'environnement temporairement
NOM_DE_LA_VARIABLE=valeur
4. Voir l'ensemble des variables d'environnement :
env
5. Se connecter avec un client ORACLE distant (windows ou linux)
Editer le fichier tnsnames.ora et rajouter les lignes
nom_du_SID=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=nom_de_la_machine_sans_extention_du_domaine)
(PORT=port_ecoute_instance)
)
(CONNECT_DATA=
(SERVICE_NAME=SID_sur_le_serveur)
)
)