1

I want to shutdown one node in RAC. I did the following steps:

  1. Shutdown database instance

    export ORACLE_SID=mydb1
    sqlplus / as sysdba
    shutdown immediate;

  2. shutdown ASM instance

    . oraenv
    +ASM1
    sqlplus / as sysasm
    shutdown immediate;

But shows the following error: ORA-15097: cannot SHUTDOWN ASM instance with connected client

Please, tell me what steps should I do to shutdown all services and instances on the server which is the part of the RAC?

2

DISCLAIMER : Not an Oracle DBA

Use srvctl, the grid control program that allows you to manipulate parts of the RAC Cluster

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

Examples

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

Please get an expert to perform these, especially since you want to do something with ASM. If I recall, ASM is a proprietary Oracle file system. Using srvctl would be better than trying to handle it yourself.

Here is more help on 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

I found the solution.

--------------------------------------To shutdown

----------shutdown database instance first

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

---------stopping Oracle Clusterware, It will shutdown ASM instance itself

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

--------------------------------------To start

$ 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;

Note that after rebooting server, ASM instance may(should) automatically be started.

1

This is a bug which is fixed in 11.2.0.3. Have a look at bug# 9897335. If you have a support contract, you can request a backport if it is feasible. In addition the error tell you which client it is waiting on. Further information can be retrieved from v$asm_client.

  • Not that I doubt you, but can you provide a reference for this? Also, even if it was fixed, is there a workaround for his current version? – Derek Downey Jul 19 '12 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.