缓冲块(data block)状态类型


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

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

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

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),表示该数据库正在和其他实例共享数据

本文作者:

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

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

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

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),表示该数据库正在和其他实例共享数据

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3