Chapitre 4. Services de base de données

Ce chapitre contient des instructions pour la configuration de Red Hat Enterprise Linux afin de rendre les services de base de données hautement disponibles.

NoteRemarque
 

Les descriptions suivantes donnent des instructions pour la configuration d'un exemple de base de données. Veuillez noter que des différences peuvent exister dans les nouvelles versions de chaque produit de base de données. Ainsi, ces informations ne seront peut-être pas directement applicables.

4.1. Installation d'un service Oracle

Un service de base de données peut servir des données haute disponibilité à une application de base de données. L'application peut alors offrir l'accès réseau à des systèmes clients de base de données, tels que les serveurs Web. Dans le cas d'une opération de failover, l'application accède aux informations de la base de données partagée grâce au nouveau système de cluster. Un service de base de données accessible par le Web est généralement doté d'une adresse IP qui en cas de failover, bascule avec le service, afin d'assurer un accès transparent pour les clients.

Cette section donne un exemple d'installation d'un service de cluster pour une base de données Oracle. Bien que les variables utilisées dans les scripts du service dépendent de la configuration spécifique d'Oracle, cet exemple peut aider à installer un service pour des environnements individuels. Reportez-vous à la Section 4.2 pour des informations sur l'amélioration des performances d'un service.

Dans l'exemple qui suit :

Créez une configuration utilisateur/groupe consistante qui peut accéder proprement au service Oracle pour chaque membre du cluster. Par exemple :

mkdir /users
groupadd -g 900 dba
groupadd -g 901 oinstall
useradd -u 901 -g 901 -d /users/oracle -m oracle
usermod -G 900 oracle

L'exemple du service Oracle utilise trois scripts qui doivent être placés dans /users/oracle et doivent être la propriété du compte d'administration Oracle. Le script oracle est utilisé pour démarrer et arrêter le service Oracle. Spécifiez ce script lorsque vous ajoutez le service. Ce script appelle les autres scripts d'exemples Oracle. Les scripts startdb et stopdb démarrent et arrêtent la base de données. Notez que le dialogue entre une application et une base de données Oracle peut se faire sous plusieurs formes.

Ci-dessous se trouve un exemple de script oracle, utilisé pour démarrer, arrêter et vérifier le statut du service Oracle.

#!/bin/sh
#
# Cluster service script to start, stop, and check status of oracle
#

cd /users/oracle

case $1 in
start)
    su - oracle -c ./startdb
    ;;
stop)
    su - oracle -c ./stopdb
    ;;
status)
    status oracle
    ;; 
esac

Ci-dessous se trouve un exemple de script startdb, utilisé pour démarrer l'instance Oracle Database Server :

#!/bin/sh
#

#
# Script to start the Oracle Database Server instance.
#
########################################################################
#
# ORACLE_RELEASE
#
# Specifies the Oracle product release.
#
########################################################################

ORACLE_RELEASE=9.2.0

########################################################################
#
# ORACLE_SID
#
# Specifies the Oracle system identifier or "sid", which is the name of
# the Oracle Server instance.
#
########################################################################

export ORACLE_SID=TEST

########################################################################
#
# ORACLE_BASE
#
# Specifies the directory at the top of the Oracle software product and
# administrative file structure.
#
########################################################################

export ORACLE_BASE=/u01/app/oracle

########################################################################
#
# ORACLE_HOME
#
# Specifies the directory containing the software for a given release.
# The Oracle recommended value is $ORACLE_BASE/product/<release>
#
########################################################################

export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE}

########################################################################
#
# LD_LIBRARY_PATH
#
# Required when using Oracle products that use shared libraries.
#
########################################################################

export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH

########################################################################
#
# PATH
#
# Verify that the users search path includes $ORACLE_HOME/bin 
#
########################################################################

export PATH=$PATH:${ORACLE_HOME}/bin

########################################################################
#
# This does the actual work.
#
# Start the Oracle Server instance based on the initSID.ora
# initialization parameters file specified.
# 
########################################################################

/u01/app/oracle/product/9.2.0/bin/sqlplus << EOF
sys as sysdba
spool /home/oracle/startdb.log
startup pfile = /u01/app/oracle/product/9.2.0/admin/test/scripts/init.ora open;
spool off
quit;
EOF

exit

Ci-dessous se trouve un exemple de script stopdb, utilisé pour arrêter l'instance Oracle Database Server :

#!/bin/sh
#
#
# Script to STOP the Oracle Database Server instance.
#
######################################################################
#
# ORACLE_RELEASE
#
# Specifies the Oracle product release.
#
######################################################################

ORACLE_RELEASE=9.2.0

######################################################################
#
# ORACLE_SID
#
# Specifies the Oracle system identifier or "sid", which is the name 
# of the Oracle Server instance.
#
######################################################################

export ORACLE_SID=TEST

######################################################################
#
# ORACLE_BASE
#
# Specifies the directory at the top of the Oracle software product
# and administrative file structure.
#
######################################################################

export ORACLE_BASE=/u01/app/oracle

######################################################################
#
# ORACLE_HOME
#
# Specifies the directory containing the software for a given release.
# The Oracle recommended value is $ORACLE_BASE/product/<release>
#
######################################################################

export ORACLE_HOME=/u01/app/oracle/product/${ORACLE_RELEASE}

######################################################################
#
# LD_LIBRARY_PATH
#
# Required when using Oracle products that use shared libraries.
#
######################################################################

export LD_LIBRARY_PATH=${ORACLE_HOME}/lib:$LD_LIBRARY_PATH

######################################################################
#
# PATH
#
# Verify that the users search path includes $ORACLE_HOME/bin 
#
######################################################################

export PATH=$PATH:${ORACLE_HOME}/bin

######################################################################
#
# This does the actual work.
#
# STOP the Oracle Server instance in a tidy fashion.
# 
######################################################################

/u01/app/oracle/product/9.2.0/bin/sqlplus << EOF
sys as sysdba
spool /home/oracle/stopdb.log
shutdown abort;
spool off
quit;
EOF

exit

4.1.1. Oracle et l'Outil de configuration du cluster

Pour un ajouter un service Oracle à l'aide de l'Outil de configuration du cluster, effectuez les opérations suivantes :

  1. Lancez l'Outil de configuration du cluster en choisissant Menu principal => Paramètres de système => Paramètres de serveur => Cluster ou en tapant redhat-config-cluster à l'invite d'un shell. L'Outil de statut du cluster apparaît par défaut.

  2. Lancez l'Outil de configuration du cluster en sélectionnant Cluster => Configurer des menus de l'Outil de statut du cluster.

  3. Cliquez sur l'onglet Services.

  4. Ajout d'un service Oracle.

    • Cliquez sur Nouveau. La boîte de dialogue Service apparaîtra.

      Figure 4-1. Ajout d'un service Oracle.

    • Saisissez un nom de service dans le champ Service Name pour le service Oracle.

    • Sélectionnez un domaine de failover dans le champ Failover Domain ou gardez la valeur None (aucun).

    • Saisissez une quantité (en secondes) pour vérifier la santé du service Oracle grâce à la fonction status du script d'initialisation.

    • Saisissez un script utilisateur User Script, tel que /home/oracle/oracle.

    • Cliquez sur Valider

  5. Ajout d'une adresse IP pour le service Oracle.

    • Sélectionnez le service Oracle et cliquez sur Add Child (ajouter un enfant).

    • Sélectionnez Add Service IP Address (ajouter l'adresse IP du service), puis cliquez sur Valider. La boîte de dialogue Service IP Address (adresse IP du service) apparaîtra.

    • Saisissez une adresse IP dans le champ IP Address.

    • Saisissez un masque réseau dans le champ Netmask ou gardez la valeur None (aucun).

    • Saisissez une adresse de diffusion dans le champ Broadcast Address ou gardez la valeur None (aucune).

    • Cliquez sur Valider.

  6. Ajout d'un périphérique pour le service Oracle et les fichiers administratifs.

    • Sélectionnez le service Oracle et cliquez sur Add Child (ajouter un enfant).

    • Sélectionnez Add Device (ajouter un périphérique), puis cliquez sur Valider. La boîte de dialogue Device (périphérique) apparaîtra.

    • Saisissez le fichier spécial de périphérique dans le champ Device Special File (par exemple, /dev/sdb5).

    • Dans le champ Mount Point (point de montage), saisissez /u01.

    • Sélectionnez le type de système de fichiers dans FS Type (type FS) ou laissez le vierge.

    • Saisissez les Options de points de montage, y compris rw (lecture-écriture).

    • Sélectionnez ou désélectionnez l'option Force Unmount (démontage forcé).

    • Cliquez sur Valider.

  7. Ajout d'un périphérique pour les fichiers de base de données Oracle.

    • Sélectionnez le service Oracle et cliquez sur Add Child (ajouter un enfant).

    • Sélectionnez Add Device (ajouter un périphérique), puis cliquez sur Valider. La boîte de dialogue Device (périphérique) apparaîtra.

    • Saisissez le fichier spécial de périphérique dans le champ Device Special File (par exemple, /dev/sdb6).

    • Dans le champ Mount Point (point de montage), saisissez /u02.

    • Sélectionnez le type de système de fichiers dans FS Type (type FS) ou laissez le vierge.

    • Saisissez les Options de points de montage, y compris rw (lecture-écriture).

    • Sélectionnez ou désélectionnez l'option Force Unmount (démontage forcé).

    • Cliquez sur Valider.

  8. Choisissez Fichier => Enregistrer pour enregistrer le service Oracle.