阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Oracle使用dump转储数据块

187次阅读
没有评论

共计 1717 个字符,预计需要花费 5 分钟才能阅读完成。

在对 Oracle 做一些比较内核的研究时,会用需要用到 dump 命令把数据库中的信息转储到 trace 文件中。本文简单介绍使用 dump 命令把数据块中的信息转储到 trace 文件中。
实验环境:rhel7.2+11.2.0.4
语法:

alter system dump datafile {File no} block {Block no};
alter system dump datafile 4 block 129;
alter system dump datafile {File no} block min {Block min} block max {Block max};
alter system dump datafile 4 block min 129 block max 133;

alter system dump datafile ‘{name}’ block {Block no};
alter system dump datafile ‘{name}’ block min {Block min} block max {Block max};

1、创建测试表

linuxidc@ORA11G>drop table t;
 
Table dropped. 
 
linuxidc@ORA11G>create table t as select * from dual;
 
Table created. 
 
linuxidc@ORA11G>select * from t;
 
D

X
X
X
 
3 rows selected.

2、查询数据表所在的数据块号
linuxidc@ORA11G>select dbms_rowid.ROWID_RELATIVE_FNO(rowid),dbms_rowid.ROWID_BLOCK_NUMBER(rowid) from t;
 
DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
———————————— ————————————
                  4                37771
                  4                37771
                  4                37771
 
3 rows selected.

从上面的查询中可以看到三条数据都存储在 4 号文件的 37771 块上。
3、使用 dump 命令转储块信息到 trace 文件中,并找到相应的 trace 文件

linuxidc@ORA11G>alter system dump datafile 4 block 37771;
 
System altered. 
 
linuxidc@ORA11G>select value from v$diag_info where name=’Default Trace File’;
 
VALUE
————————————————————————-
/u01/app/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_5332.trc

4、查看 trace 文件中的内容
wKiom1ngNYfCh_0zAABwv61ESF0939.png
wKioL1ngMtGy8gXYAACJpOS68sw753.png
上面截取了一些信息:包含表的 object_id <objn 90835>,表上的事务槽信息、表中的三行数据的详细信息等。
转储出来的 trace 文件包含大量的信息,如果能看懂并分析这样的 trace 文件,说明向大师又迈近了一步。
不同版本对数据库 dump 出来的 trace 文件,出处有所不同,可能是从磁盘也可能是从 buffer cache 中,有兴趣的同学可以自行测试。

参考:《Oracle Core Essential Internals for DBAs and Developers》

更多 Oracle 相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148747.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1717字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中