Affichage des articles dont le libellé est Oracle Linux. Afficher tous les articles
Affichage des articles dont le libellé est Oracle Linux. Afficher tous les articles

vendredi 16 mai 2014

Installer ORACLE 11G sur un serveur Linux Noyau REDHAT (exemple un Linux Oracle)


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)
    )
  )



vendredi 4 janvier 2013

LINUX ORACLE - Configuration des interfaces ISCSI


Installer le package iscsi

# yum install iscsi-initiator-utils


Démarrer le service iscsi

/etc/init.d/iscsi start


Découverte de la cible ISCSI (le SAN par exemple)

iscsiadm -m discovery -t sendtargets -p <adresse ip du SAN>


Redémarrer le service ISCSI

/etc/init.d/iscsi restart


Rechercher l'unité iscsi connecté

fdisk -l



Créer ensuite le ou les volumes, formatez, puis montez les partitions




Pour ensuite démarrer et monter automatiquement les interfaces ISCSI au démarrage du serveur :


chkconfig iscsi on


éditer le fichier /etc/fstab et rajouter autant de lignes que de volumes selon l'exemple de configuration :

/dev/sdd1 /media/SAN_HDD1 ext3 _netdev 0 0
sur cet exemple le volume est /dev/sdd1 a été formaté en ext3, monté sur /media/SAN_HDD1

Vérifier la connexion des SANs (liste des sessions ISCSI actives)

iscsiadm -m session


Désactiver une cible ISCSI

# iscsiadm --m mode -T [iqn complet de la cible] --portal [Ip du portail]:[Port du portail] -u

exemple : # iscsiadm --m node -T iqn.1984-05.com.dell:powervault.md3000i.60024e800064633d000000004a66ba44 --portal 192.168.130.100:3260 -u

Supprimer une cible ISCSI (bien sûr il faut au préalable la désactiver...)

# iscsiadm -m node -o delete -T [iqn complet de la cible] --portal [Ip du portail]:[Port du portail]