关于rdba的研究

system表空间所包含的数据文件头部的root dba对象,实现了数据库启动初期的引导方式

[@more@]

系统表空间数据文件上存在一个重要的结构root dba

Dump数据文件头:

alter session set events 'immediate trace name file_hdrs level 10';

得到:

DATA FILE #1:

(name #11) /u01/app/oracle/oradata/ORCL/datafile/o1_mf_system_64x9jdyq_.dbf

creation size=0 block size=8192 status=0xe head=11 tail=11 dup=1

……………….

status:0x2004 root dba:0x00400179 chkpt cnt: 166 ctl cnt:165

通过dba获取该块所在数据文件和数据块的编号:

select dbms_utility.data_block_address_file(to_number('400179','xxxxxxx')) from dual;

1 – 文件

select dbms_utility.data_block_address_file(to_number('400179','xxxxxxx')) from dual;

377 – 块编号

Dump该块:

Alter system dump datafile 7 block 377;

Map Header:: next 0x00000000 #extents: 1 obj#: 56 flag: 0x40000000

Select object_name from dba_objects where object_id=56;

Bootstrap$

SQL> l

1 select b.object_id,a.segment_name,a.segment_type,a.header_block from

2 dba_segments a,dba_objects b where a.segment_name=b.object_name(+) and

3* a.header_file=1 and a.header_block<=377 order by a.header_block

在该块之前的对象都需要bootstrap

以上对象在create database时,通过sql.bsq文件创建。

数据库启动时,需要从数据文件读取到内存,再从硬盘上加载启动数据库需要的元数据。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/56630/viewspace-1036367/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/56630/viewspace-1036367/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值