Guide du service de données Oracle® Solaris Cluster pour Oracle Database

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Enregistrement et configuration de HA pour Oracle Database sans Oracle Grid Infrastructure (CLI)

Cette procédure contient la forme longue des commandes de maintenance d'Oracle Solaris Cluster. La plupart des commandes possèdent également des formes brèves. A l'exception de la forme du nom, ces commandes sont identiques.

Avant de commencer

Assurez-vous que les conditions suivantes sont remplies :

  • Le fichier /etc/netmasks dispose d'un sous-réseau d'adresse IP et d'entrées de masque de réseau pour tous les noms d'hôtes logiques. Si nécessaire, modifiez le fichier /etc/netmasks pour ajouter les entrées manquantes.

  • Le gestionnaire de volume du cluster est configuré pour fournir des volumes sur le stockage partagé, accessibles depuis n'importe quel noeud Oracle Solaris Cluster où le logiciel Oracle Solaris Cluster peut être potentiellement exécuté.

  • Les périphériques bruts et les systèmes de fichiers requis pour le logiciel Oracle Database ont été créés sur les volumes de stockage.

  • Le logiciel Oracle Database est installé et accessible depuis tous les noeuds de cluster sur lesquels Oracle Database peut être exécuté.

  • Les variables de noyau du système d'exploitation UNIX sont configurées pour Oracle Database.

  • Le logiciel Oracle Database est configuré pour tous les noeuds de cluster sur lesquels il est possible d'exécuter Oracle Database.

  • Les packages de services de données sont installés.

    Assurez-vous que vous disposez des informations suivantes :

  • Les noms des noeuds de cluster qui commandent le service de données.

  • Le nom d'hôte logique que les clients utilisent pour accéder au service de données. En règle générale, vous paramétrez cette adresse IP lors de l'installation du cluster. Reportez-vous au manuel Oracle Solaris Cluster Concepts Guide pour plus d'informations sur les ressources réseau.

  • Le chemin vers les fichiers binaires d'application Oracle Database pour les ressources que vous prévoyez de configurer.

  • Le type de base de données.

  1. Sur un membre du cluster, connectez-vous en tant que superutilisateur ou prenez un rôle octroyant des autorisations RBAC solaris.cluster.modify et solaris.cluster.admin.
  2. Enregistrez les types de ressource pour le service de données.

    Pour HA pour Oracle Database, enregistrez deux types de ressources, SUNW.oracle_server et SUNW.oracle_listener, comme indiqué ci-après.


    Remarque -  Si vous utilisez un listener Oracle Grid Infrastructure pour clusters Single Client Access Name (SCAN), omettez l'enregistrement du type de ressource SUNW.oracle_listener.
    # clresourcetype register SUNW.oracle_server
    # clresourcetype register SUNW.oracle_listener
  3. Créez un groupe de ressources de basculement destiné à contenir les ressources du réseau et des applications.

    Cette étape n'est pas requise si vous utilisez le système de fichiers Oracle Solaris ZFS, car le groupe de ressources a été créé lorsque le système de fichiers ZFS local hautement disponible a été configuré dans la section Préparation des noeuds Oracle Solaris Cluster. Les ressources créées au cours d'autres étapes de cette procédure seront ajoutées à ce groupe de ressources.

    Si vous le souhaitez, vous pouvez sélectionner l'ensemble de noeuds de cluster sur lesquels le service de données peut être exécuté à l'aide de l'option –n, comme suit.

    # clresourcegroup create [-n node-zone-list] resource-group
    resource-group

    Spécifie le nom du groupe de ressources. Vous pouvez choisir ce nom mais il doit être unique pour tous les groupes de ressources du cluster.

  4. Vérifiez que toutes les ressources réseau que vous utilisez ont bien été ajoutées à la base de données de service de noms.

    Cette vérification doit être effectuée lors de l'installation d'Oracle Solaris Cluster.


    Remarque -  Assurez-vous que l'ensemble des ressources réseau sont présentes dans le fichier du serveur et du client /etc/inet/hosts afin d'éviter toute panne liée à la recherche du service de noms.
  5. Ajoutez une ressource de nom d'hôte logique au groupe de ressources de basculement.
    # clreslogicalhostname create -g resource-group [-h logical-hostname] logical-hostname-rs
    logical-hostname

    Spécifie un nom d'hôte logique. Celui-ci doit obligatoirement se trouver dans votre base de données de service de noms. Si logical-hostname et logical-hostname-rs sont identiques, logical-hostname est facultatif.

    logical-hostname-rs

    Spécifie le nom que vous affectez à la ressource de nom d'hôte logique que vous créez.

  6. Enregistrez le type de ressource SUNW.HAStoragePlus avec le cluster.
    # clresourcetype register SUNW.HAStoragePlus
  7. Ajoutez une ressource de type SUNW.HAStoragePlus au groupe de ressources de basculement.

    Remarque -  Si vous utilisez le système de fichiers Oracle Solaris ZFS pour les fichiers Oracle, n'effectuez pas cette étape. La ressource HAStoragePlus a été créée lorsque le système de fichiers ZFS local hautement disponible a été configuré. Pour plus d'information, reportez-vous à la section Préparation des noeuds Oracle Solaris Cluster.

    Caution

    Mise en garde  -  Les périphériques bruts des groupes de périphériques Oracle Solaris Cluster ne sont pas pris en charge dans les zones non globales.


    # clresource create -g resource-group -t SUNW.HAStoragePlus \
    -p GlobalDevicePaths=device-path \
    -p FilesystemMountPoints=mount-point-list \
    -p AffinityOn=TRUE hastp-rs

    Vous devez définir la propriété d'extension GlobalDevicePaths ou FilesystemMountPoints :

    • Si votre base de données se trouve sur un périphérique brut, définissez la propriété d'extension GlobalDevicePaths sur le chemin d'accès du périphérique global.

    • Si votre base de données se trouve sur le système de fichiers du cluster, spécifiez les points de montage du système de fichiers du cluster et du système de fichiers local.


    Remarque -  AffinityOn doit être défini sur TRUE et le système de fichiers local doit se trouver sur les groupes de disques globaux à basculer.

    La ressource est créée avec l'état activé.

  8. Mettez en ligne le groupe de ressources de basculement en mode de gestion sur un noeud du cluster.
    # clresourcegroup online -M resource-group
    –M

    Place le groupe de ressources mis en ligne en mode de gestion.

  9. Créez des ressources d'application Oracle Database dans le groupe de ressources de basculement.
    • Ressource de serveur Oracle Database :

      # clresource create -g resourcegroup \
      -t SUNW.oracle_server \
      -p Alert_log_file=path-to-log \
      -p Connect_string=user/passwd \
      -p Oracle_sid=instance \
      -p Oracle_home=Oracle_home \
      -p Restart_type=entity-to-restart \
      [-p Dataguard_role=role] \
      [-p Standby_mode=mode] \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    • Ressource de listener Oracle Database :

      # clresource create -g resource-group \
      -t SUNW.oracle_listener \
      -p Listener_name=listener \
      -p Oracle_home=Oracle_home \
      -p Resource_dependencies_offline_restart=storageplus-resource \
      resource
    –g resource-group

    Spécifie le nom du groupe de ressources dans lequel les ressources seront placées.

    –t

    Spécifie le type de ressource à ajouter.

    –p Alert_log_file =path-to-log

    Définit le chemin d'accès sous $ORACLE_HOME du journal des messages du serveur.

    –p Connect_string =user/passwd

    Indique l'utilisateur et le mot de passe que le détecteur de pannes utilise pour se connecter à la base de données. Ces paramètres doivent être compatibles avec les autorisations que vous définissez dans Définition des droits d'accès Oracle Database Si vous utilisez une autorisation Solaris, saisissez une barre oblique (/) au lieu du nom d'utilisateur et du mot de passe.

    –p Oracle_sid=instance

    Définit l'identificateur système Oracle Database.

    –p Oracle_home=Oracle_home

    Définit le chemin d'accès au répertoire d'accueil Oracle Database.

    –p Listener_name=listener

    Définit le nom de l'instance du listener Oracle Database. Ce nom doit être identique à l'entrée correspondante dans le fichier listener.ora.

    –p Restart_type=entity-to-restart

    Indique l'entité qui sera redémarrée par le détecteur de pannes du serveur lorsqu'un échec entraîne un redémarrage. Définissez entity-to-restart comme suit :

    • Pour spécifier que seule cette ressource est redémarrée, définissez entity-to-restart sur RESOURCE_RESTART. Par défaut, seule cette ressource est redémarrée.

    • Pour indiquer que toutes les ressources du groupe de ressources contenant cette ressource doivent être redémarrées, définissez entity-to-restart sur RESOURCE_GROUP_RESTART.

      Si vous définissez entity-to-restart sur RESOURCE_GROUP_RESTART, toutes les autres ressources (telles que Apache ou DNS) du groupe de ressources sont redémarrées, même si elles fonctionnent bien. Par conséquent, n'incluez dans le groupe de ressources que les ressources dont vous souhaitez le redémarrage lors du redémarrage de la ressource de serveur Oracle Database.

    –p Dataguard_role=Rôle

    Spécifie le rôle de l'instance de base de données. Modifiez le role de la manière suivante :

    • Pour créer une ressource pour une instance de base de données principale qui n'a aucune instance de secours configurée, changez role en NONE. Il s'agit de la valeur par défaut.

    • Pour créer une ressource pour une instance de base de données principale qui a des instances de bases de données de secours configurées, changez role en PRIMARY.

    • Pour créer une ressource pour une instance de base de données de secours, remplacez role par STANDBY.

    –p Standby_mode=mode

    Spécifie le mode pour l'instance de base de données de secours. Si vous définissez Dataguard_role sur NONE ou PRIMARY, la valeur de Standby_mode est ignorée.

    • Pour spécifier une base de données de secours logique, changez mode en LOGICAL. Il s'agit de la valeur par défaut.

    • Pour spécifier une base de données de secours physique, changez mode en PHYSICAL.

    • Pour spécifier une base de données de secours d'instantané, changez mode en SNAPSHOT.

    resource

    Indique le nom de la ressource à créer.


    Remarque -  Vous pouvez éventuellement définir les propriétés d'extension supplémentaires qui appartiennent au service de données Oracle Database afin d'écraser leurs valeurs par défaut. Reportez-vous à la section Définition des propriétés d'extension de HA pour Oracle Database pour obtenir une liste des propriétés d'extension.

    Les ressources sont créées avec l'état activé.

Exemple 1-1  Enregistrement de HA pour Oracle Database afin qu'il s'exécute dans la zone globale

Cet exemple indique comment enregistrer HA pour Oracle Database sur un cluster à deux noeuds. Voici les exemples de noms utilisés dans les commandes :

Noms de noeuds

phys-schost-1, phys-schost-2

Nom d'hôte logique

schost-1

Groupe de ressources

resource-group-1 (groupe de ressources de basculement)

ressource HAStoragePlus

hastp-rs

Ressources Oracle

oracle-server-1, oracle-listener-1

Instances Oracle

ora-lsnr (listener), ora-srvr (serveur)

Create the failover resource group to contain all of the resources.
# clresourcegroup create resource-group-1
 
Add the logical hostname resource to the resource group.
# clreslogicalhostname create -g resource-group-1 schost-1
 
Register the SUNW.HAStoragePlus resource type.
# clresourcetype register SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs
Bring the resource group online in a managed state
# clresourcegroup online -M resource-group-1

Register the Oracle Database resource types.
# clresourcetype register SUNW.oracle_server
# clresourcetype register SUNW.oracle_listener
 
Add the Oracle Database application resources to the resource group.
# clresource create -g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
-p Resource_dependencies_offline_restart=hastp-rs \
oracle-server-1
 
# clresource create -g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1
Exemple 1-2  Enregistrement de HA pour Oracle Database afin qu'il s'exécute dans un cluster de zones

Cet exemple indique comment enregistrer HA pour Oracle Database dans un cluster de zones. Voici la liste des exemples de noms utilisés dans les commandes, qui sont émises à partir du cluster global :

Noms de noeuds

phys-schost-1, phys-schost-2

Noms de clusters de zones

zonecluster1, zonecluster2

Nom d'hôte logique

zchost-1

Groupe de ressources

resource-group-1 (groupe de ressources de basculement)

ressource HAStoragePlus

hastp-rs

Ressources Oracle

oracle-server-1, oracle-listener-1

Instances Oracle

ora-lsnr (listener), ora-srvr (serveur)

Create the failover resource group to contain all of the resources.)
# clresourcegroup create -Z zonecluster1 resource-group-1
 
Add the logical hostname resource to the resource group.)
# clreslogicalhostname create -Z zonecluster1 -g resource-group-1 zchost-1
 
Register the SUNW.HAStoragePlus resource type.)
# clresourcetype register -Z zonecluster1 SUNW.HAStoragePlus

Add a resource of type SUNW.HAStoragePlus to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.HAStoragePlus \
-p FileSystemMountPoints=/global/oracle,/global/ora-data/logs,/local/ora-data \
-p AffinityOn=TRUE \
hastp-rs

Bring the resource group online in a managed state
# clresourcegroup online -Z zonecluster1 -M resource-group-1

Register the Oracle Database resource types.)
# clresourcetype register -Z zonecluster1 SUNW.oracle_server
# clresourcetype register -Z zonecluster1 SUNW.oracle_listener
 
Add the Oracle Database application resources to the resource group.)
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_server \
-p Alert_log_file=/global/oracle/message-log \
-p Connect_string=scott/tiger \
-p Oracle_home=/global/oracle \
-p Oracle_sid=ora-srvr \
-p Dataguard_role=STANDBY \
-p Standby_mode=PHYSICAL \
oracle-server-1
 
# clresource create -Z zonecluster1 \
-g resource-group-1 \
-t SUNW.oracle_listener \
-p Oracle_home=/global/oracle \
-p Listener_name=ora-lsnr \
oracle-listener-1