Cette procédure explique les étapes à suivre pour l'enregistrement et la configuration de HA pour Oracle Database avec une instance Oracle ASM en cluster à l'aide des commandes de maintenance d'Oracle Solaris Cluster.
Vous avez la possibilité d'utiliser un gestionnaire de volumes tiers pour fournir des disques candidats à des groupes de disques Oracle ASM en cluster. Pour ce type de configuration, cette procédure permet de créer manuellement une ressource Oracle Grid Infrastructure servant de proxy à la ressource Oracle Solaris Cluster SUNW.ScalDeviceGroup. Dans cette procédure, la ressource Oracle Grid Infrastructure est nommée sun. resource. Vous configurez sun.resource pour vous assurer que le groupe de disques Oracle ASM correspondant n'est pas monté avant que la ressource sun.resource ne soit en ligne. La ressource sun.resource passe uniquement en ligne si la ressource SUNW.ScalDeviceGroup correspondante est en ligne. De même, la ressource SUNW.ScalDeviceGroup passe uniquement en ligne si le groupe de disques du gestionnaire de volumes réel ou l'ensemble de disques est en ligne.
Afin de vous assurer que le groupe de disques Oracle ASM bénéficie de cette chaîne de dépendance, une fois que vous avez défini sun.resource , modifiez la ressource de groupe de disques Oracle ASM appropriée de sorte que la dépendance dont le type de démarrage est complet inclut la ressource sun. resource. La modification de la dépendance au type de démarrage complet de la ressource de groupe de disques Oracle ASM ne peut être effectuée que par la ressource SUNW.scalable_asm_diskgroup_proxy en utilisant la méthode VALIDATE. Par conséquent, vous devez définir une dépendance de redémarrage hors ligne entre les ressources SUNW.scalable_asm_diskgroup_proxy et SUNW.ScalDeviceGroup .
Avant de commencer
Assurez-vous que 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.
Si vous utilisez Solaris Volume Manager pour Sun Cluster pour la gestion de volume, configurez un ensemble de disques multipropriétaire qui sera utilisé par une instance Oracle ASM en cluster. Suivez les procédures de la section Création d’un ensemble de disques multipropriétaire dans Solaris Volume Manager pour Sun Cluster pour la base de données Oracle RAC du manuel Guide du service de données Oracle Solaris Cluster pour Oracle Real Application Clusters .
Assurez-vous que le logiciel Oracle Grid Infrastructure est installé.
Si vous envisagez d'utiliser un listener SCAN Oracle Grid Infrastructure, vérifiez que l'adresse IP du nom d'hôte logique à utiliser appartient au même sous-réseau que l'adresse IP du listener SCAN. Sinon, la ressource Oracle Database ne basculera pas en cas de défaillance du réseau public.
Assurez-vous que la ressource Oracle Clusterware pour l'instance Oracle ASM et l'instance de base de données sont configurées.
Assurez-vous que le système de fichiers que vous utiliserez pour Oracle_Home est configuré. Voir la section Préparation des noeuds et disques Oracle Solaris Cluster pour obtenir des instructions.
Les disques candidats Oracle ASM peuvent être issus de n'importe lequel des éléments suivants :
Ensembles de disques Solaris Volume Manager
Périphériques de stockage RAID matériels, par exemple, /dev/did/rdsk/dNsX
# /Grid_home/bin/crsctl add type sun.storage_proxy.type -basetype local_resource
# /Grid_home/bin/crsctl add res sun.scal-svmdg-rs \ -type sun.storage_proxy.type \ -attr "ACTION_SCRIPT='/opt/SUNWscor/dsconfig/bin/scproxy_crs_action' \ ACL='owner:root:rwx,pgrp:oinstall:rwx,other::r--' SCRIPT_TIMEOUT='20' RESTART_ATTEMPTS='60'"
Nom de la ressource SUNW.ScalDeviceGroup.
Spécifie le type de ressource sun.storage_proxy.type.
Spécifie le script d'action /opt/SUNWscor/dsconfig/bin/scproxy_crs_action.
Définit le propriétaire sur root et le groupe sur l'entrée du groupe ACL correspondant au groupe de disques Oracle ASM. La commande suivante affiche l'entrée de groupe ACL :
# /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep ACL= ACL=owner:oragrid:rwx,pgrp:oinstall:rwx,other::r--
Cet exemple de sortie indique que oinstall est l'entrée de groupe.
Défini sur 20.
Défini sur 60.
Vous obtenez une sortie similaire à ce qui suit.
# /Grid_home/bin/crsctl stat res sun.scal-svmdg-rs -p NAME=sun.scal-svmdg-rs TYPE=sun.storage_proxy.type ACL=owner:root:rwx,pgrp:oinstall:rwx,other::r-- ACTIONS= ACTION_FAILURE_TEMPLATE= ACTION_SCRIPT=/opt/SUNWscor/dsconfig/bin/scproxy_crs_action ACTION_TIMEOUT=60 AGENT_FILENAME=%CRS_HOME%/bin/scriptagent ALERT_TEMPLATE= ALIAS_NAME= AUTO_START=restore CHECK_INTERVAL=60 CHECK_TIMEOUT=0 CLEAN_TIMEOUT=60 DEBUG=1 DEFAULT_TEMPLATE= DEGREE=1 DELETE_TIMEOUT=60 DESCRIPTION= ENABLED=1 INSTANCE_FAILOVER=1 INTERMEDIATE_TIMEOUT=- LOAD=1 LOGGING_LEVEL=1 MODIFY_TIMEOUT=60 NOT_RESTARTING_TEMPLATE= OFFLINE_CHECK_INTERVAL=0 PROFILE_CHANGE_TEMPLATE= RESTART_ATTEMPTS=60 SCRIPT_TIMEOUT=20 SERVER_CATEGORY= START_CONCURRENCY=0 START_DEPENDENCIES= START_TIMEOUT=0 STATE_CHANGE_TEMPLATE= STOP_CONCURRENCEY=0 STOP_DEPENDENCIES= STOP_TIMEOUT=0 UPTIME_THRESHOLD=1h USER_WORKLOAD=no #
# /Grid_home/bin/crsctl stat res ora.DATA1.dg -p | grep START_DEPENDENCIES START_DEPENDENCIES=pullup:always(ora.asm) hard(ora.asm,sun.svmdg-rs)
# clresourcetype register SUNW.crs_framework
# clresource create -g rac-fmwk-rg \ -t SUNW.crs_framework \ -p Resource_dependencies_offline_restart=rac-fmwk-rs \ -d crs-fmwk-rs
# clresourcetype register SUNW.scalable_asm_instance_proxy
# clresourcetype register SUNW.scalable_asm_diskgroup_proxy
# clresourcegroup create -S asm-inst-rg asm-dg-rg
# clresourcegroup set -p Rg_affinities=++rac-fmwk-rg asm-inst-rg
# clresourcegroup set -p Rg_affinities=++asm-inst-rg asm-dg-rg
# clresource create -g asm-inst-rg \ -t SUNW.scalable_asm_instance_proxy \ -p Oracle_home=Oracle_home \ -p CRS_HOME=Grid_home \ -p "oracle_sid{node1}"=instance \ -p "oracle_sid{node2}"=instance \ -p Resource_dependencies_offline_restart=crs-fmwk-rs \ -d asm-inst-rs
Spécifie les noms des groupes de ressources dans lequel les ressources seront placées.
Spécifie le type de ressource à ajouter.
Définit le chemin d'accès au répertoire d'accueil Oracle Database.
Définit le chemin d'accès à Oracle Grid Infrastructure pour un répertoire d'accueil de cluster.
Définit l'identificateur système Oracle Database.
Indique le nom de la ressource à créer.
Utilisez le type de ressource SUNW.scalable_asm_diskgroup_proxy.
# clresource create -g asm-dg-rg \ -t SUNW.scalable_asm_diskgroup_proxy \ -p Asm_diskgroups=dg[,dg…] \ -p Resource_dependencies_offline_restart=asm-inst-rs,scal-svmdg-rs \ -d asm-dg-rs
# clresourcegroup online -eM asm-inst-rg
# clresourcegroup online -eM asm-dg-rg
# clresource status +
# clresourcegroup create ora-db-rg
Vous enregistrez deux types de ressources, SUNW.oracle_server et SUNW.oracle_listener.
# clresourcetype register SUNW.oracle_server # clresourcetype register SUNW.oracle_listener
# clreslogicalhostname create -g ora-db-rg [-h logical-hostname] logical-hostname-rs
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.
Spécifie le nom que vous affectez à la ressource de nom d'hôte logique que vous créez.
# clresourcegroup online -eM ora-db-rg
# clresource create -g ora-db-rg \ -t SUNW.oracle_server \ -p Db_unique_name=db-unique-name \ -p Resource_dependencies_offline_restart=asm-dg-rs \ -p Oracle_home=Oracle_home \ -p Oracle_sid=instance \ -d ora-db-rs
Spécifie le nom du groupe de ressources dans lequel les ressources seront placées.
Spécifie le type de ressource à ajouter.
Définit le chemin d'accès au répertoire d'accueil Oracle Database.
Définit l'identificateur système Oracle Database.
Définit le nom unique d'Oracle Database.
Indique le nom de la ressource à créer.
# clresource enable ora-db-rs
Etapes suivantes
Après avoir enregistré et configuré HA pour Oracle Database, passez à la section Vérification de l'installation de HA pour Oracle Database.