磁盘心跳超时参数收集方案及修改说明

操作步骤

windows场景规避方案

  1. root用户登录主机后,执行ps -ef |grep pmon命令,在回显中查看asm_pmon_*关键字行,关键字行头为ASM实例管理用户、关键字行尾为ASM实例名(该字符为ORACLE_SID),并记录系统进程ID;(ASM实例管理用户以grid为示例)。

  2. 获取ASM实例ORACLE_HOME值:

    执行命令ps -ef | grep ocssd.bin,记录回显中关键字ocssd.bin行以下各列信息:

    记录第一列字符,即为ASM实例管理用户

    记录最后一列/bin/ocssd.bin之前的路径字符,即为ASM实例ORACLE_HOME值

  3. 切换用户至ASM管理员用户下,设置ORACLE_HOME、ORACLE_SID环境变量,然后以sqlplus / as sysasm登录ASM实例,开始ASM心跳参数修改;

  4. 修改_asm_hbeatiowait参数,命令:alter system set "_asm_hbeatiowait"=120 scope=spfile sid='*';

  5. root用户进入grid的$ORACLE_HOME/bin目录,RAC集群执行命令crsctl stop crs停止节点集群服务,Oracle单机使用crsctl stop has命令停止服务。

  6. root用户进入ASM管理员grid的$ORACLE_HOME/bin目录,RAC集群执行命令crsctl start crs启动CRS服务,Oracle单机使用crsctl start has命令启动服务。

  7. 等待5分钟后,查询数据库是否启动成功

  8. ASM管理员使用sqlplus / as sysasm登录ASM实例,查看_asm_hbeatiowait参数已修改生效,查看命令:

    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 '\';

    RAC集群需要在其他oracle节点上重复执行以上操作(未执行操作的节点业务不受影响)

Windows场景规避方案

  1. 主机管理员用户登录主机后,在Sercices界面上查看是否有Oracle的ASM实例(ASM实例管理用户以grid为示例)

  2. 查询Oracle数据库的安装目录打开右键菜单“属性”界面,记录ASM管理员grid的ORACLE_HOME路径

    如果无法找到ASM管理员的ORACLE_HOME路径,需要咨询Oracle维护人员。

  3. 主机管理员在CMD界面上,设置ORACLE_HOME、ORACLE_SID环境变量,然后以sqlplus / as sysasm登录ASM实例,开始ASM心跳参数修改;

  4. 修改_asm_hbeatiowait参数,命令:alter system set "_asm_hbeatiowait"=120 scope=spfile sid='*';

  5. (可选)切换至数据库管理用户下,以Oracle DBA用户登录(sqlplus / as sysdba)并停止数据库实例。

  6. 主机管理员在CMD界面上,RAC集群执行命令crsctl stop crs停止节点集群服务,Oracle单机使用crsctl stop has命令停止服务。以单机为例

  7. 主机管理员在CMD界面上,RAC集群执行命令crsctl start crs启动CRS服务,Oracle单机使用crsctl start has命令启动服务。以单机为例

  8. (执行了步骤5,需要执行此步骤)主机管理员在CMD界面上,等待5分钟后,启动数据库实例

  9. 查询数据库启动成功。

  10. 主机管理员在CMD界面上,执行命令sqlplus / as sysasm登录ASM实例,查看_asm_hbeatiowait参数已修改生效,查看命令:

    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 '\';

    RAC集群需要在其他oracle节点上重复执行以上操作(未执行操作的节点业务不受影响)


版权所有 © 华为技术有限公司