Modifying the PST Heartbeat Parameter of Disks Managed by the ASM Instance of an Oracle Database

Procedure

Case for Systems Other Than Windows

  1. Log in to the host as user root and run the ps -ef |grep pmon command. In the command output, check keyword asm_pmon_*. The line header of the keyword is the ASM instance administrator, and the line tail is the ASM instance name (ORACLE_SID). Record the system process ID. (User grid is used as an example of the ASM instance administrator.)

  2. Obtain the value of ORACLE_HOME for the ASM instance.

    Run the ps -ef | grep ocssd.bin command and record information of the following columns in the command output:

    Characters in the first column, that is, the ASM instance management user.

    Path information before /bin/ocssd.bin in the last column, that is, the value of ORACLE_HOME for the ASM instance.

  3. Switch to user grid, set environment variables ORACLE_HOME and ORACLE_SID, and log in to the ASM instance by running sqlplus / as sysasm to modify the ASM heartbeat parameter.

  4. Run the alter system set "_asm_hbeatiowait"=120 scope=spfile sid='*' command to modify the _asm_hbeatiowait parameter.

  5. Go to the $ORACLE_HOME/bin directory of grid as user root and run the crsctl stop crs command to stop the cluster service for an RAC cluster (or run the crsctl stop has command to stop the service on an Oracle node).

  6. Go to the $ORACLE_HOME/bin directory of grid as user root and run the crsctl start crs command to start the CRS service for an RAC cluster (or run the crsctl start has command to start the service on an Oracle node).

  7. Wait for 5 minutes and check whether the database is started successfully.

  8. Log in to the ASM instance as user grid by running sqlplus / as sysasm and check whether the modification of the _asm_hbeatiowait parameter takes effect.

    select a.ksppinm name,b.ksppstvl value,a.ksppdesc describe from x$ksppi a,x$ksppcv b where a.inst_id = userenv('instance') and b.inst_id = userenv('instance') and a.indx = b.indx and a.ksppinm like '\_asm_hbeatio%' escape '\';

    Repeat the preceding operations on other Oracle nodes for an RAC cluster (Services on the nodes that are not operated will not be affected).

Case for Windows

  1. Log in to the host as a host administrator and check whether Oracle ASM instances exist on the Services page. (User grid is used as an example of the ASM instance administrator.)

  2. Query the Oracle database installation directory.

    Right-click and select Properties from the shortcut menu. Record the ORACLE_HOME path of user grid.

    If the ORACLE_HOME directory of user grid cannot be found, contact Oracle maintenance engineers.

  3. In the CMD window, set environment variables ORACLE_HOME and ORACLE_SID as the host administrator, and log in to the ASM instance by running sqlplus / as sysasm to modify the ASM heartbeat parameter.

  4. Run the alter system set "_asm_hbeatiowait"=120 scope=spfile sid='*' command to modify the _asm_hbeatiowait parameter.

  5. (Optional) Switch to the database administrator. Log in to the database as an Oracle DBA user (entering sqlplus / as sysdba) and stop the database instance.

  6. Go to the CMD window as the host administrator. Run the crsctl stop crs command to stop the cluster service for an RAC cluster (or run the crsctl stop has command to stop the service on an Oracle node). The following describes how to stop the service on an Oracle node.

  7. Go to the CMD window as the host administrator. Run the crsctl start crs command to start the CRS service for an RAC cluster (or run the crsctl start has command to start the service on an Oracle node). The following describes how to start the service on an Oracle node.

  8. (Mandatory if step 5 has been performed) Go to the CMD window as the host administrator. Wait for 5 minutes and start the database instance.

  9. Check whether the database is successfully started.

  10. Go to the CMD window as the host administrator. Run the sqlplus / as sysasm command to log in to the ASM instance, and run the following command to check whether the modification of the _asm_hbeatiowait parameter takes effect:

    select a.ksppinm name,b.ksppstvl value,a.ksppdesc describe from x$ksppi a,x$ksppcv b where a.inst_id = userenv('instance') and b.inst_id = userenv('instance') and a.indx = b.indx and a.ksppinm like '\_asm_hbeatio%' escape '\';

    Repeat the preceding operations on other Oracle nodes for an RAC cluster (Services on the nodes that are not operated will not be affected).


Copyright © Huawei Technologies Co., Ltd.