« Invalid Login Using Trusted Authentication 错误原因 | Blog首页 | 2011Oracle技术嘉年华-OTN CHINA TOUR大会 »
XDB sys_nc_oid$递归调用的案例一则
作者:eygle | 【转载请注出处】|【云和恩墨 领先的zData数据库一体机 | zCloud PaaS云管平台 | SQM SQL审核平台 | ZDBM 数据库备份一体机】
链接:https://www.eygle.com/archives/2011/08/xdb_sys_nc_oid.html
在某客户数据库中,我们发现有一条SQL占据解析量的4%左右,解析次数很高:链接:https://www.eygle.com/archives/2011/08/xdb_sys_nc_oid.html
Parse Calls | Executions | % Total Parses | SQL Id | SQL Module | SQL Text |
---|---|---|---|---|---|
70,748 | 70,748 | 3.94 | 1cjy8v3c0agny | select sys_nc_oid$ from xdb.xd... |
这条SQL的完整内容如下:
select sys_nc_oid$ from xdb.xdb$resource where rowid = :1
客户数据库的版本是10.2.0.4.
经过分析,我们注意到这条SQL和Oracle的XDB选项有关,如果不安装XDB选件,则这类递归SQL将不会出现,所以提请大家注意的是:在初始化数据库安装时,如果有些选件不会用到,则不建议安装。
这个SQL和递归调用ALL_OBJECTS视图有关,在10.2.0.4中执行以下查询,通过10046跟踪后台调用:
select count(*) from all_objects;
在跟踪文件中可以发现如下信息:
select sys_nc_oid$与all_objects有关的BUG请参考类似链接:
from
xdb.xdb$resource where rowid = :1
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 435 0.02 0.01 0 0 0 0
Execute 435 0.18 0.15 0 0 0 0
Fetch 435 0.03 0.01 0 435 0 435
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 1305 0.23 0.18 0 435 0 435
http://www.eygle.com/archives/2011/06/all_objects_xkgldp_xkzspr.html
根据本案例,我们建议用户在将来的数据库部署中,应当遵循一些基本原则,如:
1.用户级别的数据字典的查询和访问应当谨慎评估
2.不安装业务完全不会使用到的选件,如XDB
以上供参考。
历史上的今天...
>> 2018-08-29文章:
>> 2015-08-29文章:
>> 2012-08-29文章:
>> 2008-08-29文章:
>> 2007-08-29文章:
>> 2006-08-29文章:
>> 2005-08-29文章:
>> 2004-08-29文章:
By eygle on 2011-08-29 08:09 | Comments (0) | Case | 2860 |