WEB开发网
开发学院数据库Oracle Oracle中Buffer Cache内存结构及监控 阅读

Oracle中Buffer Cache内存结构及监控

 2007-05-12 12:24:11 来源:WEB开发网   
核心提示: ALTER SESSION SET EVENTS 'immediate trace name buffers level level';这里的level有很多值,分别可以转储buffer cache中的不同的内容,Oracle中Buffer Cache内存结构及监控(4),
ALTER SESSION SET EVENTS 'immediate trace name buffers level level';

这里的level有很多值,分别可以转储buffer cache中的不同的内容。level的可选值包括:

1 只转储buffer header.

2 在level 1的基础上再转储数据块头。

3 在level 2的基础上再转储数据块内容。

4 转储buffer header和hash chain.

5 在level 1的基础上再转储数据块头和hash chain.

6 在level 2的基础上再转储数据块内容和hash chain.

8 转储buffer header和hash chain以及users/waiters链表。

9 在level 1的基础上再转储数据块头、hash chain以及users/waiters链表。

10 在level 2的基础上再转储数据块内容、hash chain以及users/waiters链表。

我们创建一个简单的测试表,然后看看转储出来的buffer header是什么样子的。

SQL> create table buffer_test(id number);
SQL> select object_id from dba_objects where object_name='BUFFER_TEST';
OBJECT_ID
----------
   7087
SQL> insert into buffer_test values(1);
SQL> commit;

这时我们知道buffer_test表的object_id是7987,同时,该表中只有2个block具有数据。1个是segment header,另一个就是实际存放了1这个值的数据块。接着我们把buffer header转储出来:

SQL> ALTER SESSION SET EVENTS 'immediate trace name buffers level 1';

到user_dump_dest所定义的目录下,找到跟踪文件并打开,可以看到类似下面的信息,这里我们列出前两个buffer header以及我们建立的object_id为7087的buffer_test表所对应的buffer header的内容:

上一页  1 2 3 4 5 6 7  下一页

Tags:Oracle Buffer Cache

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接