电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

讲解Racle缓沖块(Data block)状态类型


发布日期:2019/9/8
 

oracle的缓沖块的管理机制一直没有正式的发布过因此许多有经验的oracle工程师都是通过经验或者一下oracle文档中的注释来推断oracle的缓沖块的管理机制的

事实上oralce使用v$bh视图来记录与数据缓沖(data buffer)相关的信息它详细记录了数据缓沖中每一个数据块(data block)的状态信息

在v$bh视图中的status字段记录了数据块的状态在非OPS非RAC这样的集群环境中数据块的状态会是下列几种之一xcurcrreadfree用户可以通过如下命令得到数据库的状态信息

SQL> select unique status from v$bh;

其状态的意义分别是

xcur(exclusive current)的意思表示该数据块处于排外模式;

cr表示该数据块是一个克隆(clone)的数据库可以执行共享的只读操作;

free表示这是一个限制的数据块oracle现在没有使用它;

read表示该数据块正在从磁盘读取数据;

write表示数据库正在往磁盘写入数据;

在数据库恢复过程中该字段还有另外两个描述mrec和irec

mrec(media recovery)表示数据块处于介质恢复模式;

irec(instance recovery)表示数据块处于实例恢复模式;

在RAC环境中数据块还有另外一种模式

scur (shared current)表示该数据库正在和其他实例共享数据

上一篇:调用存储过程时注意要使用output做修饰符

下一篇:存储过程编写经验和优化措施[2]