web-dev-qa-db-fra.com

Shutdown un noeud au RAC

Je veux arrêter un nœud dans le Rac. J'ai fait les étapes suivantes:

  1. Instance de base de données d'arrêt

    export Oracle_SID=mydb1
    sqlplus / as sysdba
    shutdown immediate;

  2. arrêter l'instance ASM

    . oraenv
    +ASM1
    sqlplus / as sysasm
    shutdown immediate;

Mais montre l'erreur suivante: ORA-15097: cannot SHUTDOWN ASM instance with connected client

S'il vous plaît, dites-moi quelles mesures dois-je faire pour arrêter tous les services et instances sur le serveur qui fait partie du RAC?

1
kupa

J'ai trouvé la solution.

--------------------------------------Éteindre

---------- Information de la base de données d'arrêt d'abord

$. oraenv
>mydb1
>/u01/app/Oracle/product/11.2.0/db_1
$sqlplus / as sysdba
SQL> shutdown immediate;

---------- ARRÊTER Oracle Clusterware, il va arrêter l'instance ASM elle-même

$ su -
# cd /u01/app/11.2.0/grid/bin/
# ./crsctl stop crs

--------------------------------------Commencer

$ su -
# cd /u01/app/11.2.0/grid/bin/
# ./crsctl start crs

. oraenv
>mydb1
>/u01/app/Oracle/product/11.2.0/db_1
$sqlplus / as sysdba
SQL> startup;

Notez qu'après le redémarrage du serveur, l'instance ASM peut (devrait) être démarrée automatiquement.

2
kupa

Disclaimer: pas un dba oracle

Utilisez srvctl, le programme de contrôle de la grille qui vous permet de manipuler des parties du cluster RAC

Usage: srvctl <command> <object> [<options>]
    commands: enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config
    objects: database|instance|service|nodeapps|vip|asm|diskgroup|listener|srvpool|server|scan|scan_listener|oc4j|home|filesystem|gns
For detailed help on each command and object and its options use:
  srvctl <command> -h or
  srvctl <command> <object> -h

Exemples

srvctl stop database -d mydb 
srvctl stop instance -i mydb1

Veuillez vous procurer un expert pour les exécuter, surtout que vous voulez faire quelque chose avec ASM. Si je me souviens, ASM est un système de fichiers Oracle exclusif. Utiliser srvctl serait mieux que d'essayer de le gérer vous-même.

Voici plus d'aide sur srvctl

$ srvctl stop database -h

Stops the database.

Usage: srvctl stop database -d <db_unique_name> [-o <stop_options>] [-f]
    -d <db_unique_name>      Unique name for the database
    -o <stop_options>        Options to shutdown command (e.g. normal, transactional, immediate, or abort)
    -f                       Force stop
    -h                       Print usage
$ srvctl stop instance -h

Stops the database instance.

Usage: srvctl stop instance -d <db_unique_name> {-n <node_name> | -i <inst_name_list>}  [-o <stop_options>] [-f]
    -d <db_unique_name>      Unique name for the database
    -n <node_name>           Node name
    -i "<inst,...>"          Comma separated instance names
    -o <stop_options>        Options to shutdown command (e.g. normal, transactional, immediate, or abort)
    -f                       Force stop
    -h                       Print usage
$ srvctl stop asm -h

Stops ASM instance.

Usage: srvctl stop asm [-n <node_name>] [-o <stop_options>] [-f]
    -n <node_name>           Node name
    -o <stop_options>        Options to shutdown command (e.g. normal, transactional, immediate, or abort)
    -f                       Force stop
    -h                       Print usage
$
2
RolandoMySQLDBA

Ceci est un bogue qui est fixé en 11.2.0.3. Jetez un coup d'œil au bogue # 9897335. Si vous avez un contrat de support, vous pouvez demander une backort si elle est réalisable. De plus, l'erreur vous dit quel client il attend. De plus amples informations peuvent être récupérées de V $ ASM_CLIENT.

1
steve