ksk2410 发表于 2014-11-4 17:21:28

数据库访问存储是否有超时时间

数据库访问数据文件的存储整个断开的话 数据库多久会报错重启,这时间能调吗?
例如一套10.2.0.3 rac数据库使用asm管理,如果这是整个asm所在的存储断电断开,数据库多久会报错重启,是否有像心跳一样的超时时间进行设置?

Maclean Liu(刘相兵 发表于 2014-11-4 20:06:28

如果这是整个asm所在的存储断电断开,数据库多久会报错重启,是否有像心跳一样的超时时间进行设置?

==> 如果是整个存储断开,那么很快 在几秒钟内asm和db就会挂掉

如果是仅仅个别IO超时 或hang ,还可以通过参数调整。 但如果整个存储断开,那么有太多的IO检测机制要发挥作用了。

ksk2410 发表于 2014-11-6 16:43:18

恩,确实很快就会挂掉,sr给了回复:

针对存储断开的情况,如果OS得到了存储故障的信息,那么它会传递给数据库或者ASM。
这个时候数据库会立刻宕机,或者在3秒以内宕机。
这主要取决于当时是否有磁盘读写的操作,如果当时正在读写,那么存储断开的话会立刻被DBWR等后台进程发现,然后数据库会立刻宕机。
即使当时没有任何读写操作,数据库也会做checkpoint等动作,这个时候会连接到数据文件,控制文件,如果发现连接不上,那也会宕机。
这个不像心跳一样,没有设定的时间,也不能调整。


如果存储断开,但是OS没有得到存储故障的信息,这个时候如果数据库有读写并且发现了存储故障就会立刻宕机。
如果数据库后台进程也没有发现存储断开,这个时候数据库应表现为hang。
针对ASM normal或者high冗余度的磁盘会等待15秒,然后将无响应磁盘所在的磁盘组dismount。
要想修改默认的15秒等待时间需要调整_asm_hbeatiowait

If you can not keep the disk unresponsiveness to below 15 seconds, then the below parameter can be set in the ASM instance ( on all the Nodes of RAC ):

_asm_hbeatiowait

As per internal bug 17274537 , based on internal testing the value should be increased to 120 secs, the same will be fixed in 12.2



Run below in asm instance to set desired value for _asm_hbeatiowait

alter system set "_asm_hbeatiowait"=<value> scope=spfile sid='*';

And then restart asm instance / crs, to take new parameter value in effect.  
页: [1]
查看完整版本: 数据库访问存储是否有超时时间