ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

在10g/11g中如何查看SQL Profiles信息

2021-04-09 22:54:21  阅读:193  来源: 互联网

标签:11g SQLPROF 10g Profiles bsq SQL TABLE SEL SQLOBJ


在10g/11g中如何查看SQL Profiles的信息?  

在Oracle 10g中,可以查询以下的数据字段表来获取信息:  
SQLPROF$ATTR、SQLPROF$、SQLPROF$DESC  

在Oracle 11g中,上面的数据字典表被取而代之,可以访问下面的数据字段表来获取信息:  
SQLOBJ$、SQLOBJ$AUXDATA、SQLOBJ$DATA  

示例如下:  
Oracle 10g中:  
SQL> select attr_val from dba_sql_profiles a, sys.sqlprof$attr b   
  2  where a.signature = b.signature   
  3  and a.name='SYS_SQLPROF_0158d954d210000';   

ATTR_VAL  
----------------------------------------------------------------------------------------------------  
FULL(@"SEL$1" "T1"@"SEL$1")  
INDEX(@"SEL$1" "T2"@"SEL$1" ("T2"."OBJECT_ID"))  
LEADING(@"SEL$1" "T1"@"SEL$1" "T2"@"SEL$1")  
USE_NL(@"SEL$1" "T2"@"SEL$1")  

SQL> select object_name,object_type from dba_objects where object_Name like 'SQLPROF%';  

OBJECT_NAME                    OBJECT_TYPE  
------------------------------ -------------------  
SQLPROF$                       TABLE  
SQLPROF$ATTR                   TABLE  
SQLPROF$DESC                   TABLE  
SQLPROF_ATTR                   TYPE  
SQLPROF_ATTR                   SYNONYM  

这些表的创建语句可以从sql.bsq中获取。  

Oracle 11g中:  
SQL> select name from dba_sql_profiles;  

NAME  
------------------------------  
SYS_SQLPROF_0141d9f2f2a60001  
SYS_SQLPROF_0141d9e54d180000  

SQL> set autotrace on  
SQL> SELECT extractValue(value(h),'.') AS hint  
  2  FROM sys.sqlobj$data od, sys.sqlobj$ so,  
  3  table(xmlsequence(extract(xmltype(od.comp_data),'/outline_data/hint'))) h  
  4  WHERE so.name = 'SYS_SQLPROF_0141d9e54d180000'  
  5  AND so.signature = od.signature  
  6  AND so.category = od.category  
  7  AND so.obj_type = od.obj_type  
  8  AND so.plan_id = od.plan_id;  
   
HINT  
----------------------------------------------------------------------  
OPT_ESTIMATE(@"SEL$1", TABLE, "T1"@"SEL$1", SCALE_ROWS=0.01440028801)  
OPTIMIZER_FEATURES_ENABLE(default)  

SQL> select object_name,object_type from dba_objects where object_name like 'SQLOBJ%';  

OBJECT_NAME                    OBJECT_TYPE  
------------------------------ -------------------  
SQLOBJ$                        TABLE  
SQLOBJ$AUXDATA                 TABLE  
SQLOBJ$DATA                    TABLE  
SQLOBJ$DATA_PKEY               INDEX  
SQLOBJ$_PKEY                   INDEX  

在Oracle 11g中,这些创建表的语句被从sql.bsq中剥离了出来,在11g中,被剥离到了dmanage.bsq中,并通过sql.bsq中调用来进行表的创建。  
$cat $ORACLE_HOME/rdbms/admin/sql.bsq  
........  
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
rem Whenever new column is created to store internal, user or kernel column  
rem number, be sure to update the structure adtDT in atb.c so that those  
rem columns will be updated properly during drop column.  
rem !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  
rem  
dcore.bsq  
dsqlddl.bsq  
dmanage.bsq  
dplsql.bsq  
dtxnspc.bsq  
dfmap.bsq  
denv.bsq  
drac.bsq  
dsec.bsq  
doptim.bsq  
dobj.bsq  
djava.bsq  
dpart.bsq  
drep.bsq  
daw.bsq  
dsummgt.bsq  
dtools.bsq  
dexttab.bsq  
ddm.bsq  
dlmnr.bsq  
ddst.bsq  

标签:11g,SQLPROF,10g,Profiles,bsq,SQL,TABLE,SEL,SQLOBJ
来源: https://blog.51cto.com/lhrbest/2695538

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有