暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DBA手记:System State之Row Cache对象定位解析

原创 eygle 2011-05-24
537

在《Oracle DBA手记 3》即将出版之际,我将《Oracle DBA手记 2》上收录的一些文章发布出来,与大家分享。
前文参考:
http://www.eygle.com/archives/2011/05/dbasystem_state_file.html
http://www.eygle.com/archives/2011/05/dbasystem_state_rowcache.html
http://www.eygle.com/archives/2011/05/dbasystem_state_ass109.html

生成数据库出现问题时段的AWR报告,也可以辅助我们确定数据库的相关操作。在以下图示中显示,Top 4
SQL
都运行超过3400秒没有完成,第一个正是任务调度:

dbanotebook202.png



相关的SQL简要列举如下:


call
dbms_space.auto_space_advisor_job_proc ( )


alter index
"CACI"."IDX_CACI_INV_BLB_DC" modify partition
"P_2010_Q1" shrink space CHECK


而如果你不关心空间建议,则可以取消这个定时任务,避免不比要的麻烦:


execute
dbms_scheduler.disable('AUTO_SPACE_ADVISOR_JOB');


 最后还有一点需要额外说明的是,既然是ROW CacheDCDictionary
Cache
)层面产生的竞争,那到底是什么对象呢?如何获得显示的证据呢?

我们再来回顾一下SO对象的以下部分信息:

data=


00000038 00134944 585f4341 43495f49 4e565f42 4c425f44 43000000
00000000


00000000 04000009 505f3230 31305f51 31000000 00000000
00000000 00000000


00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000


00000000 00000000
00000000 000209ca ffff0000 000209ca 14786e01 020e3239


786e0102 0e323978
6e01020e 32390100 00000000 00000000 00000000 00000000


00000000 00000006


这部分Data信息是什么呢?我们稍微逆向的转换一下。这次动作涉及的SQL是:


alter index
"CACI"."IDX_CACI_INV_BLB_DC" modify partition
"P_2010_Q1" shrink space CHECK


对象是IDX_CACI_INV_BLB_DC索引的P_2010_Q1分区,使用dump函数取一下16进制编码,获得如下输出:


SQL> select
dump('IDX_CACI_INV_BLB_DC',16) from dual;


 DUMP('IDX_CACI_INV_BLB_DC',16)


-----------------------------------------------------------------------


Typ=96 Len=19: 49,44,58,5f,43,41,43,49,5f,49,4e,56,5f,42,4c,42,5f,44,43


SQL> select
dump('P_2010_Q1',16) from dual;


DUMP('P_2010_Q1',16)


----------------------------------------


Typ=96 Len=9: 50,5f,32,30,31,30,5f,51,31


SO对象的Data部分正是指出了需要的对象内容,而当这个对象被排他锁定后,接下来的访问就处于了挂起状态。


 


这个案例给我们的经验是:当你使用新的数据库版本时,一定要认真了解其新特性,确保不会因为新特性而带来麻烦
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论