## 【Maclean Liu技术分享】拨开Oracle优化器迷雾探究Histogram之秘

【Maclean Liu技术分享】拨开Oracle CBO 优化器迷雾, 探究Histogram直方图之秘,讲座文档正式版已上传

【Maclean Liu技术分享】拨开Oracle CBO优化器迷雾,探究Histogram直方图之秘_0321.pdf.pdf(1.1 MB, 下载次数: 749)

## CBO Cost Formulas基于成本优化器的成本计算公式大全

CBO Cost Formulas成本计算公式大全:

• Nested Loops嵌套循环成本公式：
• Cost(outer)+Cost(inner))*cardinality(outer)
• Sort merge 合并排序连接成本公式:
• Cost(outer) + Cost(inner) + Sort(outer) + Sort(inner)
• Hash Join 哈希连接公式:
• Cost(outer) + Cost(inner) + Build(outer) + Probe(inner)

Index Unique Scan Cost成本计算
INDEX UNIQUE SCAN COST = (BLEVEL (1-(OIC/100)) + 1) * (OICA/100)

Index Range Scan Cost成本计算
INDEX RANGE SCAN COST = (BLEVEL + FF*LFBL)*(1-(OIC/100))+ FF*CLUF)* (OICA/100)

formula does not include the CPU cost

• BLEVEL = number of branch levels in index
• add +1 for leaf block
• FF = filtering factor – selectivity
• LFBL = number of leaf blocks
• CLUF = index clustering factor
• OIC = optimizer_index_caching(default 0)
• OICA = optimizer_index_cost_adj parameter(default=100)

CPU costing启用的情况下：

mreadtime -Average time , in milliseconds, for a multi-block read (according to sys.aux_stats\$)

sreadtime – Average time , in milliseconds, for a single-block read (according to sys.aux_stats\$)

MBRC – Average number of blocks to be read in a multi-block read (according to sys.aux_stats\$

#SRDs – number of single block reads

#MRDs – number of multi block reads

#CPUCycles – number of CPU Cycles

sreadtime = ioseektim + db_block_size/iotfrspeed

mreadtim = ioseektim + db_file_multiblock_read_count * db_block_size / iotrfspeed

#MRds = #Blks/MBRC

Cost 成本本身 =(#SRds * sreadtim +#MRds * mreadtim + #CPUCycles/cpuspeed)/sreadtim ,

Cost成本的单位 为 single-block read time=sreadtim

OSS Description

Provide a description of the component including how it will be built and what it will do, with a reference to the functional requirements (from the Functional Specification) that are being addressed.

Optimizer system statistics contains hardware characteristics. With OSS optimizer combines IO and CPU resources needed to execute query into single unit – estimated execution time.

OSS Components:

 Component Initialization Maintenance Description Abbreviated component’s name (get_system_stats and set_system_stats) CPU speed At system startup Gathering system stats with gathering_mode =  ‘NOWORKLOAD’ or ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually # CPU cycles per second cpuspeed IO seek time At system startup Gathering system stats with gathering_mode =  ‘NOWORKLOAD’ or setting manually Seek time + latency time + OS overhead time ioseektim IO transfer speed At system startup Gathering system stats with gathering_mode =  ‘NOWORKLOAD’ or setting manually Rate at which oracle can read data in the single read request iotfrspeed Max IO throughput None Gathering system stats with gathering_mode =  ‘NOWORKLOAD’ or ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually This number characterizes maximum throughput (MB / sec) IO subsystem can deliver maxthr Average slave IO throughput None Gathering system stats with gathering_mode =  ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually Average parallel slave IO throughput slavethr Average Single Block Read Time None Gathering system stats with gathering_mode =  ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually sreadtim Average Multi Block Read Time None Gathering system stats with gathering_mode =  ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually mreadtim Average multi block read count None Gathering system stats with gathering_mode =  ‘START’, ‘STOP’ or ‘INTERVAL’ or setting manually mbrc

1. cpuspeed, ioseektim, iotfrspeed are always collected
2. maxthr, slavethr, sreadtim, mreadtim and mbrc collected only when user gathers workload statistics.

These two sets contain equivalent information. The difference is that A) does not relate to workload and B) does. At any moment of time only one set of OSS can be used.

OSS data located in data dictionary in the aux_stats\$ table and in the SGA variable kkossga. aux_stats\$ keeps persistent copy of the OSS. kkossga keeps working copy. Data in kkossga and  aux_stats\$ is always synchronized. User can modify, delete and gather OSS through interface provided in the DBMS_STATS package.

OSS used to represent cost as query estimated running time (it’s implemented as #CPU cycles and # multi block reads conversion to # single block reads) and to adjust FTS cost for parallel reads.

SRead_Cost(#Cycles) = (#Cycles * (1 / CPUSpeed)) / sreadtim

SRead_Cost(#MReads) = (#MReads * mreadtim) / sreadtim

When no workload stats available optimizer uses NOWORKLOAD stats to compute sreadtim and mreadtim:

sreadtim = ioseektim + block_size / iotfrspeed

mreadtim = ioseektim + mbrc * block_size / iotfrspeed

Optimizer converts multi block reads to single block reads (even if cost formula looks elegant the actual processing has to support old days behavior and it causes that internally everything converted to single block reads)

## aux_stats\$

table aux_stats\$ (

sname varchar2(30) not null,       /* Prefix */

pname varchar2(30) not null,       /* Name of parameter */

pval1 number,                      /* NUMBER parameter value */

pval2 varchar2(255)                /* VARCHAR2 parameter value */

)

This table stores OSS. It also used to store the intermediate values when analyzing workload.

sname column used to store global prefixes of the stats SYSSTATS_MAIN, SYSSTATS_TEMP and SYSSTATS_INFO.

if sname = SYSSTATS_MAIN then pname and pval1 columns store name-value pairs for data representing current stats:

cpuspeed (# cpu cycles per second) in millions;

ioseektim (Seek time + latency time + OS overhead time) in milliseconds;

iotfrspeed (IO transfer speed) in bytes/ second;

maxthr (maximum I/O system throughput) in bytes/sec;

slavethr (average slave throughput);

sreadtim (wait time to read single block) in milliseconds;

mreadtim (wait time to read a multiblock) in milliseconds;

mbrc (multiblock read count) in blocks;

if sname = SYSSTATS_TEMP then pname and pval1 columns store name-value pairs for intermediate data, generated than user issues DBMS_STAT.GATHER_SYSTEM_STATS procedure and removed then gathering completes.

if sname = SYSSTATS_INFO then pname, pval2 columns store name-values for current and intermediate stats:

DSTART – then gathering was started, format “MM-DD-YYYY HH:MI”

DSTOP – then gathering was (will be, had to be) finished format “MM-DD-YYYY HH:MI”

STATUS – ‘COMPLETED’, ‘AUTOGATHERING’, ‘MANUALGATHERING’, ‘INVALID’

## Oracle CBO术语大集合

cardinality (CDN)
Legend
CBQT – cost-based query transformation
JPPD – join predicate push-down
OJPPD – old-style (non-cost-based) JPPD
FPD – filter push-down
PM – predicate move-around
CVM – complex view merging
SPJ – select-project-join
SJC – set join conversion
SU – subquery unnesting
OBYE – order by elimination
OST – old style star transformation
ST – new (cbqt) star transformation
CNT – count(col) to count(*) transformation
JE – Join Elimination
JF – join factorization
SLP – select list pruning
DP – distinct placement
qb – query block
LB – leaf blocks
DK – distinct keys
LB/K – average number of leaf blocks per key
DB/K – average number of data blocks per key
CLUF – clustering factor
NDV – number of distinct values
Resp – response cost
Card – cardinality
Resc – resource cost
NL – nested loops (join)
SM – sort merge (join)
HA – hash (join)
CPUSPEED – CPU Speed
IOTFRSPEED – I/O transfer speed
IOSEEKTIM – I/O seek time
SREADTIM – average single block read time
MREADTIM – average multiblock read time
MBRC – average multiblock read count
MAXTHR – maximum I/O system throughput
SLAVETHR – average slave I/O throughput
dmeth – distribution method
1: no partitioning required
2: value partitioned
4: right is random (round-robin)
128: left is random (round-robin)
8: broadcast right and partition left
16: broadcast left and partition right
32: partition left using partitioning of right
64: partition right using partitioning of left
256: run the join in serial
0: invalid distribution method
sel – selectivity
ptn – partition
adop Automatic degree of parallelism

TABLE: Table Name
ALIAS: Table Alias
QBS: Query Block Signature
#ROWS: Number of Rows
#BLKS: Number of Blocks
ARL: Average Row Length
COR: Cardinality Original
CRD: Cardinality Rounded
CCM: Cardinality Computed
CNA: Cardinality Non Adjusted

AVGLEN: Average Column Length
NDV: Number of Distinct Values
NULLS: Number of Nulls in Column
DEN: Column Density
MIN: Minimum Column Value
MAX: Maximum Column Value
TYPE: Histogram Type
#BKTS: Histogram Buckets
UNCOMPBKTS: Histogram Uncompressed Buckets
ENDPTVALS: Histogram End Point Values
OOR: Out-of-Range Predicate

TABLE: Table Name
ALIAS: Table Alias
INDEX: Index Name
QBS: Query Block Signature
LVLS: Index Levels
#LB: Number of Leaf Blocks
#DK: Number of Distinct Keys
LB/K: Average Number of Leaf Blocks Per Key
DB/K: Average Number of Data Blocks Per Key
CLUF: Clustering Factor
INDEX_COLS: Index Column Numbers

COST: Cost of the Join
CARD: Cardinality of the Join
BC: Best Cost
LINE#: Line Number in the 10053 Trace File Where Cost Value is Located
JOIN#: Join Number in the 10053 Trace File Associated With Key
STATUS: If Permutation was Computed for all Table Joins the Status = COMPL. If Not, status = ABORT
*: In ANY Column Indicates Value Not Found in File

Freq 频率直方图
HtBal 高度平衡直方图

## SQL Performance Analyzer SPA常用脚本汇总

SPA常用脚本汇总

SQL 性能分析器 SQL Performance Analyzer SPA

Oracle Database 11g 引入了 SQL 性能分析器；使用该工具可以准确地评估更改对组成工作量的 SQL 语句的影响。SQL 性能分析器可帮助预测潜在的更改对 SQL 查询工作量的性能影响。这种功能可向 DBA 提供有关 SQL 语句性能的详细信息，例如，执行前后的统计信息，提高或降低性能的语句。这样一来，您就可以执行诸如以下操作的操作：在测试环境中进行更改，以确定数据库升级是否会改进工作量性能。

1. 11g 的新增功能
2. 目标用户：DBA、QA、应用程序开发人员
3. 帮助预测系统更改对 SQL 工作量响应时间的影响
4. 建立不同版本的 SQL 工作量性能（即 SQL 执行计划和执行统计信息）
5. 以串行方式执行 SQL（不考虑并发性）
6. 分析性能差异
7. 提供对单个 SQL 的细粒度性能分析
8. 与 SQL 优化指导集成在一起以优化回归

SQL 性能分析器：使用情形
SQL 性能分析器可用于预测和防止会影响 SQL 执行计划结构的任何数据库环境更改所带来的潜在性能问题。这些更改可以包括（但不限于）以下任何一种更改：

1. 数据库升级
2. 实施优化建议
3. 更改方案
4. 收集统计信息
5. 更改数据库参数
6. 更改操作系统和硬件

DBA 甚至可以使用 SQL 性能分析器为最复杂的环境预测先期更改导致的 SQL 性能更改。例如，随着应用程序在开发周期中的变化，数据库应用程序开发人员可以测试对方案、 数据库对象和重写应用程序的更改，以减轻任何潜在的性能影响。

SQL 性能分析器：概要

1.  收集 SQL：在这个阶段中，将收集用于表示生产系统中的 SQL 工作量的 SQL 语句集。可以使用 SQL 优化集或自动工作量资料档案库 (AWR) 来捕获要传送的信息。因为 AWR 本质上是捕获高负载的 SQL，所以应考虑修改默认的 AWR 快照设置和捕获的顶级 SQL，以确保 AWR 捕获最大数量的 SQL 语句。这可以确保捕获更加完整的 SQL 工作量。

2.  传送：在这个阶段中，应将得到的工作量结果传送到测试系统。从生产系统导出 STS，然后将 STS 导入到测试系统。

3.  计算“之前版本”性能：在进行任何更改之前，执行 SQL 语句，收集评估将来的更改对工作量性能的可能影响所需的基线信息。在此阶段收集的信息给出了系统工作量当前状态的一个快照。性能数据包括：

-执行计划（如由解释计划生成的计划）
-执行统计信息（如由占用时间、缓冲获取次数、磁盘读取次数和已处理的行数组成的信息）

4. 进行更改：获得了之前版本数据后，可以实施计划的更改，然后开始查看对性能的影响。

5.  计算“之后版本”性能：在数据库环境中进行了更改之后才执行此步骤。SQL 工作量的每个语句都在虚拟执行（仅收集统计信息）模式下运行，收集与步骤 3 所捕获的信息相同的信息。

6.  比较和分析 SQL 性能：在获得了两个版本的 SQL 工作量性能数据后，可以通过比较之后版本与之前版本的数据来进行性能分析。比较的根据是执行统计信息，如所用时间、CPU 时间和缓冲区获取次数等。

7.  优化回归的 SQL：在此阶段中，已经准确地确认了哪些 SQL 语句在进行数据库更改时可能导致性能问题。在此阶段中可以使用任何一种数据库工具来优化系统。例如，可以对确认的语句使用 SQL 优化指导或访问指导，然后实施相应的建议。也可以使用在步骤 3 中捕获的计划植入 SQL 计划管理 (SPM) 以确保计划保持不变。在实施了任何优化操作后，应重复该过程来创建新的之后版本，然后分析性能差异以确保新的性能是可接受的。

Bug 10428438 : WITH EXECUTE_FULLDML ROWS IS ALWAYS SET TO 0 11.2.0.1

Bug 14635522 : SPA SHOULD CAPTURE AND REPLAY TRANSACTIONS 11.2.0.3

By default, only the query portion of DMLs is executed. Using APIs, you can execute the full DML by using the EXECUTE_FULLDML task parameter.EXECUTE_FULLDML when set to TRUE executes DML statement fully, including acquiring row locks and modifying rows; When EXECUTE_FULLDML is set to FALSE (the default value is false) to execute only the query part of the DML without modifying data. When TRUE, SQL Performance Analyzer will issue a rollback following DML execution to prevent persistent changes from being made by the DML. So SPA does not make make any change to the data in the tables.

```execute DBMS_SQLPA.SET_ANALYSIS_TASK_PARAMETER(task_name   => 'TASK_21137', -
parameter   => 'EXECUTE_FULLDML', -
value       => 'TRUE');```

```begin
DBMS_SQLTUNE.CREATE_SQLSET (sqlset_name => 'MAC_SPA');
dbms_sqltune.capture_cursor_cache_sqlset(
sqlset_name => 'MAC_SPA' ,
time_limit => 12*60,
repeat_interval => 5);
end ;
/

basic_filter=> q'# module like 'DWH_TEST%' and sql_text not like '%applicat%' and parsing_schema_name in ('APPS') #'

basic_filter   => 'sql_text LIKE ''%my_objects%'' and parsing_schema_name = ''SPA_TEST_USER''',

==>过滤条件使用```

```SELECT sql_id, sql_text
FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('buffer_gets > 500'))
ORDER BY sql_id;

SELECT *
FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE('sql_id = ''4rm4183czbs7j'''));

DECLARE
cur sys_refcursor;
BEGIN
OPEN cur FOR
SELECT value(P)
FROM table(DBMS_SQLTUNE.SELECT_CURSOR_CACHE) P;

-- Process each statement (or pass cursor to load_sqlset).

CLOSE cur;
END;
/

-- create the tuning set
EXEC DBMS_SQLTUNE.CREATE_SQLSET('MAC_SPA');
-- populate the tuning set from the cursor cache
DECLARE
cur DBMS_SQLTUNE.SQLSET_CURSOR;
BEGIN
OPEN cur FOR
SELECT VALUE(P)
FROM table(
DBMS_SQLTUNE.SELECT_CURSOR_CACHE(
'parsing_schema_name <> ''SYS'' AND elapsed_time > 5000000',
NULL, NULL, NULL, NULL, 1, NULL,
'ALL')) P;

DBMS_SQLTUNE.LOAD_SQLSET(sqlset_name => 'MAC_SPA',
populate_cursor => cur);

END;
/```

```DECLARE
cur sys_refcursor;
BEGIN
OPEN cur FOR
SELECT VALUE (P)
FROM table(dbms_sqltune.select_workload_repository(4146,4161)) P;

-- Process each statement (or pass cursor to load_sqlset)
DBMS_SQLTUNE.LOAD_SQLSET(sqlset_name => 'MAC_SPA',
populate_cursor => cur);
CLOSE cur;
END;
/```

```set echo on
select name,statement_count from dba_sqlset;

drop table maclean.pack_sqlset purge;

exec DBMS_SQLTUNE.CREATE_STGTAB_SQLSET('PACK_SQLSET','MACLEAN');

exec DBMS_SQLTUNE.PACK_STGTAB_SQLSET('MAC_SPA','SYS','PACK_SQLSET','MACLEAN');

SQL> desc maclean.pack_sqlset;
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
NAME                                               VARCHAR2(30)
OWNER                                              VARCHAR2(30)
DESCRIPTION                                        VARCHAR2(256)
SQL_ID                                             VARCHAR2(13)
FORCE_MATCHING_SIGNATURE                           NUMBER
SQL_TEXT                                           CLOB
PARSING_SCHEMA_NAME                                VARCHAR2(30)
BIND_DATA                                          RAW(2000)
BIND_LIST                                          SQL_BIND_SET
MODULE                                             VARCHAR2(48)
ACTION                                             VARCHAR2(32)
ELAPSED_TIME                                       NUMBER
CPU_TIME                                           NUMBER
BUFFER_GETS                                        NUMBER
DISK_READS                                         NUMBER
DIRECT_WRITES                                      NUMBER
ROWS_PROCESSED                                     NUMBER
FETCHES                                            NUMBER
EXECUTIONS                                         NUMBER
END_OF_FETCH_COUNT                                 NUMBER
OPTIMIZER_COST                                     NUMBER
OPTIMIZER_ENV                                      RAW(1000)
PRIORITY                                           NUMBER
COMMAND_TYPE                                       NUMBER
FIRST_LOAD_TIME                                    VARCHAR2(19)
STAT_PERIOD                                        NUMBER
ACTIVE_STAT_PERIOD                                 NUMBER
OTHER                                              CLOB
PLAN_HASH_VALUE                                    NUMBER
PLAN                                               SQL_PLAN_TABLE_TYPE
SPARE1                                             NUMBER
SPARE2                                             NUMBER
SPARE3                                             BLOB
SPARE4                                             CLOB```

```set echo on
exec DBMS_SQLTUNE.UNPACK_STGTAB_SQLSET('MAC_SPA','SYS',TRUE,'PACK_SQLSET','MACLEAN');
alter system flush buffer_cache;
alter system flush shared_pool;```

```var sts_task varchar2(64);
exec :sts_task:= dbms_sqlpa.create_analysis_task(task_name => '10g_11g_spa',description => 'experiment for 10gR2 to 11gR2 upgrade',sqlset_name=> 'MAC_SPA');

PL/SQL procedure successfully completed.

var exe_task varchar2(64);
exec :exe_task:=dbms_sqlpa.execute_analysis_task(task_name=>'10g_11g_spa',execution_name=>'10g_trail',execution_type=>'CONVERT SQLSET',execution_desc=>'10g sql trail');

var exe_task varchar2(64);
exec :exe_task:=dbms_sqlpa.execute_analysis_task(task_name=>'10g_11g_spa',execution_name=>'11g_trail',execution_type=>'TEST EXECUTE',execution_desc=>'11g sql trail');```

```比较CPU_TIME
EXEC dbms_sqlpa.execute_analysis_task( -
task_name => '10g_11g_spa', -
execution_name => 'compare_10g_112_cpu', -
execution_type => 'COMPARE PERFORMANCE', -
execution_params => dbms_advisor.arglist('COMPARISON_METRIC','CPU_TIME','EXECUTION_NAME1','10g_trail','EXECUTION_NAME2','11g_trail'), -
execution_desc => 'Compare 10g SQL Trace Performance to 11g Test-Execute for CPU_TIME')
/

EXEC dbms_sqlpa.execute_analysis_task( -
task_name => '10g_11g_spa', -
execution_name => 'compare_10g_112_buffergets', -
execution_type => 'COMPARE PERFORMANCE', -
execution_params => dbms_advisor.arglist('COMPARISON_METRIC','BUFFER_GETS','EXECUTION_NAME1','10g_trail','EXECUTION_NAME2','11g_trail'), -
execution_desc => 'Compare 10g SQL Trace Performance to 11g Test-Execute for BUFFER_GETS')
/

begin
DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(
task_name => 'SPA_TEST',
execution_type => 'COMPARE PERFORMANCE',
execution_name => 'Compare_elapsed_time',
execution_params => dbms_advisor.arglist('execution_name1', '10g_trail', 'execution_name2', '11g_trail', 'comparison_metric', 'elapsed_time') );
end;
/

begin
DBMS_SQLPA.EXECUTE_ANALYSIS_TASK(
task_name => '10g_11g_spa',
execution_type => 'COMPARE PERFORMANCE',
execution_name => 'Compare_physical_reads0',
execution_params => dbms_advisor.arglist('execution_name1', '10g_trail', 'execution_name2', '11g_trail', 'comparison_metric', 'disk_reads') );
end;
/

Set the comparison_metric parameter to specify an expression of execution
statistics to use in the performance impact analysis. Possible values include
the following metrics or any combination of them: elapsed_time (default),
cpu_time, buffer_gets, disk_reads, direct_writes, and optimizer_cost.```

```set long 100000 longchunksize 100000 linesize 200 head off feedback off echo off
spool spa_report_elapsed_time.html
SELECT dbms_sqlpa.report_analysis_task('SPA_TEST', 'HTML', 'ALL','ALL', execution_name=>'Compare_elapsed_time') FROM dual;
spool off

set heading off long 100000000 longchunksize 10000 echo off;
set linesize 1000 trimspool on;
spool buffergets_summary.html
select xmltype(dbms_sqlpa.report_analysis_task('10g_11g_spa',
'html',
'typical',
'all',
null,
100,
'compare_10g_112_buffergets')).getclobval(0,0)
from dual;
spool off

spool errors_summary.html
select xmltype(dbms_sqlpa.report_analysis_task('10g_11g_spa',
'html',
'errors',
'summary',
null,
100,
'11g_trail')).getclobval(0,0)
from dual;
spool off

spool unsuppor_all.html
select xmltype(dbms_sqlpa.report_analysis_task('10g_11g_spa',
'html',
'unsupported',
'all',
null,
100,
'11g_trail')).getclobval(0,0)
from dual;
spool off```

execution_type
Type of the action to perform by the function. If NULL it will default to the value of the DEFAULT_EXECUTION_TYPE parameter. Possible values are:
[TEST] EXECUTE – test-execute every SQL statement and collect its execution plans and execution statistics. The resulting plans and statistics will be stored in the advisor framework. This is default.
EXPLAIN PLAN – generate explain plan for every statement in the SQL workload. This is similar to the EXPLAIN PLAN command. The resulting plans will be stored in the advisor framework in association with the task.
COMPARE [PERFORMANCE] – analyze and compare two versions of SQL performance data. The performance data is generated by test-executing or generating explain plan of the SQL statements. Use this option when two executions of type EXPLAIN_PLAN or TEST_EXECUTE already exist in the task
CONVERT SQLSET – used to read the statistics captured in a SQL Tuning Set and model them as a task execution. This can be used when you wish to avoid executing the SQL statements because valid data for the experiment already exists in the SQL Tuning Set.

For 9i Upgrade to 10g

## 为什么说log file sync(其实是写redo慢)会造成buffer busy wait?

《gc buffer busy/gcs log flush sync与log file sync》一文中我介绍了 redo flush慢造成RAC中gc buffer busy争用的原理， 而在《【技术分享】开Oracle调优鹰眼，深入理解AWR性能报告》 中我又介绍了 log file sync(其实本质是lgwr 写redo慢)也会造成单实例single instance环境中的buffer busy wait等待， 这是为什么呢？

conn maclean/oracle

create table  maclog (t1 int);

[oracle@vrh8 ~]\$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 – Production on Sat Mar 9 09:32:25 2013

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 – 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@vrh8 ~]\$ ps -ef|grep LOCAL
oracle 18441 18438 0 09:41 ? 00:00:00 oracleG10R25 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
oracle 18445 18348 0 09:42 pts/3 00:00:00 grep LOCAL

[oracle@vrh8 ~]\$ gdb \$ORACLE_HOME/bin/oracle 18441
GNU gdb (GDB) Red Hat Enterprise Linux (7.0.1-37.el5)

(gdb) b kcrf_commit_force
Breakpoint 1 at 0x286519c

SQL> insert into maclog values(1);

1 row created.

SQL> commit;   ====》HANG

(gdb) bt
#0 0x000000000286519c in kcrf_commit_force ()
#1 0x00000000028620ef in kcrfw_redo_gen ()
#2 0x00000000010e7dba in kcbchg1_main ()
#3 0x00000000010e6d99 in kcbchg ()
#4 0x000000000143f65a in ktucmt ()
#5 0x00000000013c7a06 in ktcCommitTxn ()
#6 0x00000000042a559e in ktdcmt ()
#7 0x00000000024fe09c in k2lcom ()
#8 0x0000000002418993 in k2send ()
#9 0x0000000001418b47 in xctctl ()
#10 0x00000000014174dd in xctcom_with_options ()
#11 0x000000000211fc26 in kksExecuteCommand ()
#12 0x00000000030ef87a in opiexe ()
#13 0x0000000003232d47 in kpoal8 ()
#14 0x00000000013b7c10 in opiodr ()
#15 0x0000000003c3c9da in ttcpip ()
#16 0x00000000013b3144 in opitsk ()
#17 0x00000000013b60ec in opiino ()
#18 0x00000000013b7c10 in opiodr ()
#19 0x00000000013a92f8 in opidrv ()
#20 0x0000000001fa3936 in sou2o ()
#21 0x000000000072d40b in opimai_real ()
#22 0x000000000072d35c in main ()

kcbchg==> block change ，为什么要发生block change呢？ 因为commit需要对在Buffer Cache里的block做immediate block cleanout

SQL> select * from maclog; ==》阻塞在buffer busy wait上

SQL> oradebug setmypid
Statement processed.
SQL>
SQL> oradebug dump systemstate 266;
Statement processed.
SQL> oradebug tracefile_name
/s01/admin/G10R25/udump/g10r25_ora_18551.trc

Session B一直在等 buffer busy wait

SO: 0xaa42fff8, type: 4, owner: 0xaa3048f8, flag: INIT/-/-/0x00
(session) sid: 164 trans: (nil), creator: 0xaa3048f8, flag: (100051) USR/- BSY/-/-/-/-/-
DID: 0001-0008-00000002, short-term DID: 0000-0000-00000000
txn branch: (nil)
oct: 0, prv: 0, sql: (nil), psql: (nil), user: 0/SYS
service name: SYS\$BACKGROUND
waiting for ‘buffer busy waits’ wait_time=0, seconds since wait started=245
file#=2, block#=89, class#=21
blocking sess=0x(nil) seq=12413
Dumping Session Wait History
for ‘buffer busy waits’ count=1 wait_time=0.215431 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977438 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977538 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977512 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977480 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977488 sec
file#=2, block#=89, class#=21
for ‘buffer busy waits’ count=1 wait_time=0.977639 sec
file#=2, block#=89, class#=21

Short stack dump:
ksdxfstk()+32<-ksdxcb()+1573<-sspuser()+111<-__restore_rt()+0<-__GI_semtimedop()+10<-sskgpwwait()+265<-skgpwwait()+162<-kslwaitns_timed()+1102<-kskthbwt()+246<-kslwait(
)+228<-kcbzwb()+1496<-kcbgtcr()+23190<-ktugct()+588<-ktbgcl1()+4711<-ktrgcm()+1979<-ktrget()+486<-kdst_fetch()+524<-kdstf0000001kmP()+3137<-kdsttgr()+2427<-qertbFetch()
+650<-qergsFetch()+444<-opifch2()+2944<-opiall0()+2206<-opikpr()+642<-opiodr()+1184<-rpidrus()+196<-skgmstack()+158<-rpidru()+116<-rpiswu2()+409<-kprball()+1270<-kkescF
etch()+83<-kkedsamp()+6304<-kkedsSel()+1495<-kkecdn()+3055<-kkotap()+859<-kkoiqb()+9830<-kkooqb()+904<-kkoqbc()+2093<-apakkoqb()+167<-apaqbdDescendents()+414<-apaqbdLis
tReverse()+68<-apadrv()+573<-opitca()+1545<-kksLoadChild()+9714<-kxsGetRuntimeLock()+1454<-kksfbc()+14910<-kkspsc0()+979<-kksParseCursor()+142<-opiosq0()+1641<-kpooprx(
)+318<-kpoal8()+964<-opiodr()+1184<-ttcpip()+1226<-opitsk()+1310<-opiino()+1024<-opiodr()+1184<-opidrv()+548<-sou2o()+114<-opimai_real()+163<-main()+116<-__libc_start_m
ain()+244<-_start()+41

file=2 block=0x89 即 137 md: EXCL  被  owner: 0xaa30b888  PID=22持有

SO: 0xaadd91d8, type: 24, owner: 0xaa44f240, flag: INIT/-/-/0xc0
(buffer) (CR) PR: 0xaa30c878 FLG: 0x0
class bit: (nil)
kcbbfbp: [BH: 0x69fe2948, LINK: 0xaadd9218] (WAITING)
where: ktuwh05: ktugct, why: 0
BH (0x69fe2948) file#: 2 rdba: 0x00800089 (2/137) class: 33 ba: 0x69cc6000
set: 3 blksize: 8192 bsi: 0 set-flg: 0 pwbcnt: 0
dbwrid: 0 obj: -1 objn: 0 tsn: 1 afn: 2
hash: [aacc0958,aacc0958] lru: [75fc3228,7eff15a8]
obj-flags: object_ckpt_list
ckptq: [6ef77368,aadf28f8] fileq: [6ef77378,aadf2938] objq: [a7bdd678,6afdf518]
use: [aaddb748,aaddb748] wait: [aaddef10,aadd9218]
st: XCURRENT md: EXCL tch: 465
flags: mod_started gotten_in_current_mode block_written_once
redo_since_read
change state: ACTIVE
change count: 1
LRBA: [0x2d5.10d5a.0] HSCN: [0x0.242e76a] HSUB: [1]
Using State Objects
—————————————-
SO: 0xaaddb708, type: 24, owner: 0xaa454568, flag: INIT/-/-/0x00
(buffer) PR: 0xaa30b888 FLG: 0x1000
class bit: (nil)
kcbbfbp: [BH: 0x69fe2948, LINK: 0xaaddb748]
where: ktuwh02: ktugus, why: 0
Waiting State Objects
—————————————-
SO: 0xaaddeed0, type: 24, owner: 0xaa450598, flag: INIT/-/-/0xc0
(buffer) PR: 0xaa3048f8 FLG: 0x0
class bit: (nil)
kcbbfbp: [BH: 0x69fe2948, LINK: 0xaaddef10] (WAITING)
where: ktuwh02: ktugus, why: 0

1. OLTP类型的小DML操作一般都会是immediate block cleanout的，这要求在commit之前对block做change kcbchg
2. 在commit kcrf_commit_force完成前都不会释放对该block buffer的buffer pin
3. 由上述2点造成的buffer pin最终会影响select和其他insert/update/delete 形成buffer busy wait
4. 由于慢的lgwr写redo log会造成 kcrf_commit_force commit的缓慢，表现在等待事件上就是log file sync
5. 由于block cleanout时pin block buffer且commit 慢，则会导致更长时间的buffer busy wait
6. 若log file sync是由lgwr 写redo log慢(log file parallel write)引起的，则它的另一个效应就是buffer busy wait增多
7. 若看到AWR中log file sync+buffer busy wait是主要等待事件，则优先解决log file sync ，因为buffer busy wait实际可能是受害者

AWR中与commit cleanout相关的 Instance activity 有好几个

commit cleanout failures: block lost
commit cleanout failures: buffer being written
commit cleanout failures: callback failure
commit cleanout failures: cannot pin
commit cleanouts
commit cleanouts successfully completed

# Oracle调优鹰眼系列只有2讲，对AWR感兴趣的同学更多指标可以参考 【性能调优】Oracle AWR报告指标全解析 https://www.askmaclean.com/archives/performance-tuning-oracle-awr.html

【技术分享】开Oracle调优鹰眼，深入理解AWR性能报告 第一讲https://zcdn.askmaclean.com/%E3%80%90Maclean%20Liu%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB%E3%80%91%E5%BC%80Oracle%E8%B0%83%E4%BC%98%E9%B9%B0%E7%9C%BC%EF%BC%8C%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3AWR%E6%80%A7%E8%83%BD%E6%8A%A5%E5%91%8A.mp4

【Maclean Liu技术分享】开Oracle调优鹰眼，深入理解AWR性能报告_20130303版.pdf.pdf (1.79 MB, 下载次数: 32641)

【技术分享】开Oracle调优鹰眼，深入理解AWR性能报告 第二讲

【Maclean Liu技术分享】开Oracle调优鹰眼，深入理解AWR性能报告 第二讲 正式版 20130.pdf (2.27 MB, 下载次数: 30699)

## _library_cache_advice和latch:shared pool、latch:shared pool simulator

_memory_broker_shrink_heaps：
• If 0, will not try to shrink shared pool or Java pool
• If greater than zero, will wait this many seconds after failed shrink request to ask again

 10204 no change baseline Executes/second = 3,610, DB Time = 12,349s, DB CPU = 8,938s, latch:library cache wait = 598s, avg.wait = 34ms 10204 – _library_cache_advice=off Executes/second = 3,843, DB Time = 16,208s, DB CPU = 9,402s, latch:library cache wait = 616s, avg. wait = 50ms 11106- no change -baseline Executes/second = 3,529, DB Time = 14,148s, DB CPU = 9,286s, library cache: mutex X wait = 2,725s, avg. wait = 1ms 11106 -session_cache=500, instantiation=150 Executes/second = 3,436, DB Time = 13,396s, DB CPU = 9,040s, library cache: mutex X wait = 2,383s avg. wait = 1ms 11106 – _library_cache_advice=off Executes/second = 6,059, DB Time = 75,134s, DB CPU = 17,321s, library cache: mutex X wait = 38,892s,avg. wait = 1ms

1. 升级到最新的Patch set + PSU
2. 考虑cursor_sharing=FORCE
3. 注意即使_optim_peek_user_binds=false，若你的SQL本身还是有硬绑定的自由变量，则dc_histogram仍可能是硬解析争用的焦点
4. 设置较大的 session_cachced_cursor和instantiation
5. 设置library_cache_advice=false
6. 关闭11g中的ACS自适应游标特性
7. 关闭11g中的cardinality feedback特性
8. 使用MSSM，或者 ASMM下 _memory_broker_shrink_heaps=0 +　_enable_shared_pool_durations＝false

## 11gR2游标共享新特性带来的一些问题以及_cursor_features_enabled、_cursor_obsolete_threshold和106001 event

Cursor Obsolescence游标废弃是一种SQL Cursor游标管理方面的增强特性，该特性启用后若parent cursor父游标名下的子游标child cursor总数超过一定的数目，则该父游标parent cursor将被废弃，同时一个新的父游标将被开始。 这样做有2点好处：

• 避免进程去扫描长长的子游标列表child cursor list以找到一个合适的子游标child cursor
• 废弃的游标将在一定时间内被age out，其占用的内存可以被重新利用

## 详解dbms_stats.gather_fixed_objects_stats

exec dbms_stats.gather_fixed_objects_stats;

select table_name,num_rows,last_analyzed from dba_tab_statistics where last_analyzed is not null order by last_analyzed desc

 Table_name Num_rows Last_analyzed X\$XS_SESSION_NS_ATTRIBUTES 0 2013/8/16 9:34 X\$XS_SESSION_ROLES 0 2013/8/16 9:34 X\$XS_SESSIONS 0 2013/8/16 9:34 X\$ZASAXTAB 0 2013/8/16 9:34 X\$XSOQOPLU 0 2013/8/16 9:34 X\$XSOQSEHI 0 2013/8/16 9:34 X\$XSOQOJHI 0 2013/8/16 9:34 X\$XSOQOPHI 0 2013/8/16 9:34 X\$XSSINFO 0 2013/8/16 9:34 X\$XPLTON 141 2013/8/16 9:34 X\$XPLTOO 188 2013/8/16 9:34 X\$XML_AUDIT_TRAIL 0 2013/8/16 9:34 X\$VINST 0 2013/8/16 9:34 X\$XSAWSO 16 2013/8/16 9:34 X\$XSAGOP 29 2013/8/16 9:34 X\$XSOBJECT 0 2013/8/16 9:34 X\$XSLONGOPS 0 2013/8/16 9:34 X\$XSOQMEHI 0 2013/8/16 9:34 X\$XSAGGR 0 2013/8/16 9:34 X\$SKGXPIA 0 2013/8/16 9:34 X\$TRACE 5810 2013/8/16 9:34 X\$TRACE_EVENTS 1000 2013/8/16 9:34 X\$TIMEZONE_NAMES 2226 2013/8/16 9:34 X\$TIMEZONE_FILE 1 2013/8/16 9:34 X\$VERSION 5 2013/8/16 9:34 X\$UNFLUSHED_DEQUEUES 0 2013/8/16 9:34 X\$RXS_SESSION_ROLES 0 2013/8/16 9:34 X\$UNIFIED_AUDIT_RECORD_FORMAT 93 2013/8/16 9:34 X\$TEMPORARY_LOB_REFCNT 8 2013/8/16 9:34 X\$UGANCO 0 2013/8/16 9:34 X\$RULE_SET 1 2013/8/16 9:34 X\$TARGETRBA 1 2013/8/16 9:34 X\$QUIESCE 1 2013/8/16 9:34 X\$QKSMMWDS 1209 2013/8/16 9:34 X\$QKSHT 314 2013/8/16 9:34 X\$QKSXA_REASON 353 2013/8/16 9:34 X\$RULE 1 2013/8/16 9:34 X\$RFMP 1 2013/8/16 9:34 X\$RFMTE 0 2013/8/16 9:34 X\$RFAHIST 0 2013/8/16 9:34 X\$RFAFO 0 2013/8/16 9:34 X\$RO_USER_ACCOUNT 0 2013/8/16 9:34 X\$QKSCESYS 415 2013/8/16 9:34 X\$QKSCESES 21165 2013/8/16 9:34 X\$QKSBGSYS 884 2013/8/16 9:34 X\$QKSBGSES 45084 2013/8/16 9:34 X\$QKSCR_RSN 0 2013/8/16 9:34 X\$QKSFMPRT 1001 2013/8/16 9:34 X\$QKSFMDEP 996 2013/8/16 9:34 X\$QKSCR 0 2013/8/16 9:34 X\$QKSFM 996 2013/8/16 9:34 X\$PROPS 38 2013/8/16 9:34 X\$POLICY_HISTORY 0 2013/8/16 9:34 X\$OPTIM_CALIB_STATS 25 2013/8/16 9:34 X\$ORAFN 188 2013/8/16 9:34 X\$PRMSLTYX 26 2013/8/16 9:34 X\$PERSISTENT_PUBLISHERS 0 2013/8/16 9:34 X\$OPVERSION 1008 2013/8/16 9:34 X\$QERFXTST 10 2013/8/16 9:34 X\$PERSISTENT_QUEUES 0 2013/8/16 9:34 X\$PERSISTENT_SUBSCRIBERS 0 2013/8/16 9:34 X\$OPTION 82 2013/8/16 9:34 X\$OFS_STATS 0 2013/8/16 9:34 X\$OFS_RW_LATENCY_STATS 0 2013/8/16 9:34 X\$OBJECT_POLICY_STATISTICS 0 2013/8/16 9:34 X\$OFSMOUNT 0 2013/8/16 9:34 X\$OPARG 589 2013/8/16 9:34 X\$NSV 0 2013/8/16 9:34 X\$OPERATORS 1008 2013/8/16 9:34 X\$OPDESC 1008 2013/8/16 9:34 X\$OCT 242 2013/8/16 9:34 X\$MESSAGES 416 2013/8/16 9:34 X\$NLS_PARAMETERS 20 2013/8/16 9:34 X\$MODACT_LENGTH 1 2013/8/16 9:34 X\$MUTEX_SLEEP_HISTORY 77 2013/8/16 9:34 X\$MUTEX_SLEEP 14 2013/8/16 9:34 X\$MSGBM 0 2013/8/16 9:34 X\$NONDURSUB 0 2013/8/16 9:34 X\$NONDURSUB_LWM 0 2013/8/16 9:34 X\$NFSCLIENTS 0 2013/8/16 9:34 X\$NFSOPENS 0 2013/8/16 9:34 X\$NFSLOCKS 0 2013/8/16 9:34 X\$MESSAGE_CACHE 0 2013/8/16 9:34 X\$LOGMNR_TAB\$ 0 2013/8/16 9:34 X\$LOGMNR_TS\$ 0 2013/8/16 9:34 X\$LOGMNR_USER\$ 0 2013/8/16 9:34 X\$LOGMNR_TABPART\$ 0 2013/8/16 9:34 X\$LOGMNR_TABSUBPART\$ 0 2013/8/16 9:34 X\$LOGMNR_SESSION 0 2013/8/16 9:34 X\$LOGMNR_TYPE\$ 0 2013/8/16 9:34 X\$LOGMNR_UET\$ 0 2013/8/16 9:34 X\$LOGMNR_UNDO\$ 0 2013/8/16 9:34 X\$LOGMNR_SUBCOLTYPE\$ 0 2013/8/16 9:34 X\$LOGMNR_TABCOMPART\$ 0 2013/8/16 9:34 X\$LOGMNR_LOGS 0 2013/8/16 9:34 X\$LOGMNR_PARAMETERS 0 2013/8/16 9:34 X\$LOGMNR_ROOT\$ 0 2013/8/16 9:34 X\$LOGMNR_OBJ\$ 0 2013/8/16 9:34 X\$LOGMNR_SEG\$ 0 2013/8/16 9:34 X\$LOGMNR_PROCESS 0 2013/8/16 9:34 X\$LOGMNR_OPQTYPE\$ 0 2013/8/16 9:34 X\$LOGMNR_PARTOBJ\$ 0 2013/8/16 9:34 X\$LOGMNR_PROPS\$ 0 2013/8/16 9:34 X\$LOGMNR_REFCON\$ 0 2013/8/16 9:34 X\$LOGMNR_NTAB\$ 0 2013/8/16 9:34 X\$LOGMNR_INDPART\$ 0 2013/8/16 9:34 X\$LOGMNR_INDSUBPART\$ 0 2013/8/16 9:34 X\$LOGMNR_LOB\$ 0 2013/8/16 9:34 X\$LOGMNR_LOBFRAG\$ 0 2013/8/16 9:34 X\$LOGMNR_LOG 0 2013/8/16 9:34 X\$LOGMNR_KOPM\$ 0 2013/8/16 9:34 X\$LOGMNR_LATCH 0 2013/8/16 9:34 X\$LOGMNR_LOGFILE 0 2013/8/16 9:34 X\$LOGMNR_KTFBUE 0 2013/8/16 9:34 X\$LOGMNR_DICTIONARY 0 2013/8/16 9:34 X\$LOGMNR_COL\$ 0 2013/8/16 9:34 X\$LOGMNR_IND\$ 0 2013/8/16 9:34 X\$LOGMNR_COLTYPE\$ 0 2013/8/16 9:34 X\$LOGMNR_ENCRYPTION_PROFILE\$ 0 2013/8/16 9:34 X\$LOGMNR_DICTIONARY_LOAD 0 2013/8/16 9:34 X\$LOGMNR_ENC\$ 0 2013/8/16 9:34 X\$LOGMNR_CLU\$ 0 2013/8/16 9:34 X\$LOGMNR_FILE\$ 0 2013/8/16 9:34 X\$LOGMNR_INDCOMPART\$ 0 2013/8/16 9:34 X\$LOGMNR_ENCRYPTED_OBJ\$ 0 2013/8/16 9:34 X\$LOBSTATHIST 18 2013/8/16 9:34 X\$LOBSTAT 3 2013/8/16 9:34 X\$LOBSEGSTAT 0 2013/8/16 9:34 X\$LOGMNR_ATTRIBUTE\$ 0 2013/8/16 9:34 X\$LE 0 2013/8/16 9:34 X\$LOGMNR_CDEF\$ 0 2013/8/16 9:34 X\$LOGMNR_CALLBACK 0 2013/8/16 9:34 X\$LOGBUF_READHIST 16 2013/8/16 9:34 X\$LOGMNR_ATTRCOL\$ 0 2013/8/16 9:34 X\$KZDOS 0 2013/8/16 9:34 X\$KZSRO 2 2013/8/16 9:34 X\$KZSPR 393 2013/8/16 9:34 X\$KZSRT 6 2013/8/16 9:34 X\$KZRTPD 0 2013/8/16 9:34 X\$KZEKMENCWAL 1 2013/8/16 9:34 X\$KZDPSUPSF 3 2013/8/16 9:34 X\$KZCKMCS 0 2013/8/16 9:34 X\$KZPOPR 99 2013/8/16 9:34 X\$KZAJOBS 0 2013/8/16 9:34 X\$KZAPARAMS 0 2013/8/16 9:34 X\$KZATS 0 2013/8/16 9:34 X\$KZCKMEK 0 2013/8/16 9:34 X\$KYWMPCTAB 0 2013/8/16 9:34 X\$KXSREPLAYLOB 0 2013/8/16 9:34 X\$KYWMCLTAB 0 2013/8/16 9:34 X\$KYWMNF 0 2013/8/16 9:34 X\$KYWMPCMN 0 2013/8/16 9:34 X\$KZAHIST 0 2013/8/16 9:34 X\$KXTTSTETS 0 2013/8/16 9:34 X\$KXTTSTECS 0 2013/8/16 9:34 X\$KXTTSTEHS 0 2013/8/16 9:34 X\$KXTTSTEIS 0 2013/8/16 9:34 X\$KXSREPLAYTIME 0 2013/8/16 9:34 X\$KXSREPLAYDATE 0 2013/8/16 9:34 X\$KXSREPLAYGUID 0 2013/8/16 9:34 X\$KXSREPLAYSEQ 0 2013/8/16 9:34 X\$KYWMWRCTAB 0 2013/8/16 9:34 X\$KXFSOURCE 0 2013/8/16 9:34 X\$KXFTASK 0 2013/8/16 9:34 X\$KXSREPLAY 0 2013/8/16 9:34 X\$KXSBD 64 2013/8/16 9:34 X\$KXSCC 64 2013/8/16 9:34 X\$KXFPSMS 70 2013/8/16 9:34 X\$KXFPYS 20 2013/8/16 9:34 X\$KXFPSST 13 2013/8/16 9:34 X\$KXFRSVCHASH 0 2013/8/16 9:34 X\$KXFQSROW 0 2013/8/16 9:34 X\$KXFPCST 26 2013/8/16 9:34 X\$KXFPCMS 70 2013/8/16 9:34 X\$KXFPNS 20 2013/8/16 9:34 X\$KXFPPIG 0 2013/8/16 9:34 X\$KXFPIG 0 2013/8/16 9:34 X\$KXFPINSTLOAD 1 2013/8/16 9:34 X\$KXFPDP 16 2013/8/16 9:34 X\$KXFPPFT 100 2013/8/16 9:34 X\$KXFPBS 5 2013/8/16 9:34 X\$KXDRS 0 2013/8/16 9:34 X\$KXFPCDS 47 2013/8/16 9:34 X\$KXFPSDS 47 2013/8/16 9:34 X\$KXFPREMINSTLOAD 0 2013/8/16 9:34 X\$KXDBIO_STATS 0 2013/8/16 9:34 X\$KWSCPJOBSTAT 0 2013/8/16 9:34 X\$KWSBGAQPCSTAT 1 2013/8/16 9:34 X\$KWSBGQMNSTAT 1 2013/8/16 9:34 X\$KWQMNTASKSTAT 23 2013/8/16 9:34 X\$KWSBJCSQJIT 0 2013/8/16 9:34 X\$KWQPS 0 2013/8/16 9:34 X\$KWQPD 0 2013/8/16 9:34 X\$KWRSNV 13 2013/8/16 9:34 X\$KWSBSMSLVSTAT 2 2013/8/16 9:34 X\$KVII 12 2013/8/16 9:34 X\$KVIS 0 2013/8/16 9:34 X\$KVIT 18 2013/8/16 9:34 X\$KUPVJ 0 2013/8/16 9:34 X\$KWDDEF 2089 2013/8/16 9:34 X\$KWQDLSTAT 32 2013/8/16 9:34 X\$KWQBPMT 1 2013/8/16 9:34 X\$KWQMNC 1 2013/8/16 9:34 X\$KWQMNSCTX 2 2013/8/16 9:34 X\$KWQMNTASK 2 2013/8/16 9:34 X\$KWQMNJIT 12 2013/8/16 9:34 X\$KWQITCX 1 2013/8/16 9:34 X\$KTUGD 1 2013/8/16 9:33 X\$KTUXE 438 2013/8/16 9:33 X\$KTUSMST 7 2013/8/16 9:33 X\$KTUSMST2 3 2013/8/16 9:33 X\$KTUSUS 10 2013/8/16 9:33 X\$KTTETS 11 2013/8/16 9:33 X\$KTUTST 0 2013/8/16 9:33 X\$KTURHIST 0 2013/8/16 9:33 X\$KTUMASCN 1 2013/8/16 9:33 X\$KUPVA 0 2013/8/16 9:33 X\$KTTVS 11 2013/8/16 9:33 X\$KTUCUS 0 2013/8/16 9:33 X\$KTSTSSD 1 2013/8/16 9:33 X\$KTSSO 1 2013/8/16 9:33 X\$KTSTFC 0 2013/8/16 9:33 X\$KTSTUSC 8 2013/8/16 9:33 X\$KTSLCHUNK 0 2013/8/16 9:33 X\$KTSTUSG 8 2013/8/16 9:33 X\$KTSPSTAT 1 2013/8/16 9:33 X\$KTTEFINFO 11 2013/8/16 9:33 X\$KTSSPU 0 2013/8/16 9:33 X\$KTSTUSS 8 2013/8/16 9:33 X\$KTFTHC 1 2013/8/16 9:33 X\$KTFTME 0 2013/8/16 9:33 X\$KTPRXRS 0 2013/8/16 9:33 X\$KTPRXRT 0 2013/8/16 9:33 X\$KTPRHIST 0 2013/8/16 9:33 X\$KTSKSTAT 0 2013/8/16 9:33 X\$KTIFP 51 2013/8/16 9:33 X\$KTIFF 21 2013/8/16 9:33 X\$KTIFB 16 2013/8/16 9:33 X\$KTIFV 0 2013/8/16 9:33 X\$KTRSO 0 2013/8/16 9:33 X\$KTCNREGQUERY 0 2013/8/16 9:33 X\$KTFBNSTAT 0 2013/8/16 9:33 X\$KTFBHC 10 2013/8/16 9:33 X\$KTFSTAT 0 2013/8/16 9:33 X\$KTFSIMSTAT 0 2013/8/16 9:33 X\$KTFSAN 1 2013/8/16 9:33 X\$KTFSBI 0 2013/8/16 9:33 X\$KTFSRI 0 2013/8/16 9:33 X\$KTCXB 517 2013/8/16 9:33 X\$KTCSP 0 2013/8/16 9:33 X\$KTCNREG 0 2013/8/16 9:33 X\$KTFTBTXNMODS 0 2013/8/16 9:33 X\$KTFTBTXNGRAPH 0 2013/8/16 9:33 X\$KTCNQUERY 0 2013/8/16 9:33 X\$KTCNQROW 0 2013/8/16 9:33 X\$KTFBFE 32 2013/8/16 9:33 X\$KSXRMSG 0 2013/8/16 9:33 X\$KSXRREPQ 0 2013/8/16 9:33 X\$KSXRCONQ 0 2013/8/16 9:33 X\$KSXRSG 1 2013/8/16 9:33 X\$KTATL 8 2013/8/16 9:33 X\$KTCNINBAND 0 2013/8/16 9:33 X\$KTADM 2112 2013/8/16 9:33 X\$KTATRFIL 8 2013/8/16 9:33 X\$KTATRFSL 8 2013/8/16 9:33 X\$KTCNCLAUSES 0 2013/8/16 9:33 X\$KSXPPING 0 2013/8/16 9:33 X\$KSXPCLIENT 0 2013/8/16 9:33 X\$KSXPIF 0 2013/8/16 9:33 X\$KSXPIA 0 2013/8/16 9:33 X\$KSXAFA 11 2013/8/16 9:33 X\$KSWSEVTAB 1792 2013/8/16 9:33 X\$KSWSCRSTAB 0 2013/8/16 9:33 X\$KSXM_DFT 0 2013/8/16 9:33 X\$KSXRCH 0 2013/8/16 9:33 X\$KSWSCRSSVCTAB 0 2013/8/16 9:33 X\$KSWSASTAB 4 2013/8/16 9:33 X\$KSWSCLSTAB 52 2013/8/16 9:33 X\$KSUSEX 472 2013/8/16 9:33 X\$KSUSGSTA 839 2013/8/16 9:33 X\$KSUTM 1 2013/8/16 9:33 X\$KSUSGIF 1 2013/8/16 9:33 X\$KSWSAFTAB 0 2013/8/16 9:33 X\$KSUSIO 472 2013/8/16 9:33 X\$KSUVMSTAT 2 2013/8/16 9:33 X\$KSUSM 472 2013/8/16 9:33 X\$KSUXSINST 1 2013/8/16 9:33 X\$KSUSESTA 396008 2013/8/16 9:33 X\$KSUSE 472 2013/8/16 9:33 X\$KSUSECON 476 2013/8/16 9:33 X\$KSUSECST 472 2013/8/16 9:33 X\$KSUPR 300 2013/8/16 9:33 X\$KSUPRLAT 0 2013/8/16 9:33 X\$KSURLMT 27 2013/8/16 9:33 X\$KSUPL 10 2013/8/16 9:33 X\$KSUPGS 0 2013/8/16 9:33 X\$KSURU 4720 2013/8/16 9:33 X\$KSUSD 839 2013/8/16 9:33 X\$KSUINSTSTAT 0 2013/8/16 9:33 X\$KSUMYSTA 839 2013/8/16 9:33 X\$KSULOP 8 2013/8/16 9:33 X\$KSUPGP 53 2013/8/16 9:33 X\$KSUCF 10 2013/8/16 9:33 X\$KSUCLNDPCC 0 2013/8/16 9:33 X\$KSUCPUSTAT 13 2013/8/16 9:33 X\$KSUNETSTAT 0 2013/8/16 9:33 X\$KSUPDBSES 254 2013/8/16 9:33 X\$KSTEX 0 2013/8/16 9:33 X\$KSULV 556 2013/8/16 9:33 X\$KSULL 1 2013/8/16 9:33 X\$KSQEQTYP 241 2013/8/16 9:33 X\$KSQRS 2304 2013/8/16 9:33 X\$KSQST 419 2013/8/16 9:33 X\$KSRPCIOS 3 2013/8/16 9:33 X\$KSRMSGO 0 2013/8/16 9:33 X\$KSRCCTX 253 2013/8/16 9:33 X\$KSRMSGDES 95 2013/8/16 9:33 X\$KSRMPCTX 95 2013/8/16 9:33 X\$KSRCHDL 94 2013/8/16 9:33 X\$KSRCDES 253 2013/8/16 9:33 X\$KSQDN 1 2013/8/16 9:33 X\$KSPPI 3341 2013/8/16 9:33 X\$KSPPSV 3341 2013/8/16 9:33 X\$KSPPSV2 3346 2013/8/16 9:33 X\$KSQEQ 5872 2013/8/16 9:33 X\$KSPSPFH 1 2013/8/16 9:33 X\$KSPVLD_VALUES 701 2013/8/16 9:33 X\$KSPPO 133 2013/8/16 9:33 X\$KSPSPFILE 3342 2013/8/16 9:33 X\$KSMSTRS 4 2013/8/16 9:33 X\$KSMUP 3323 2013/8/16 9:33 X\$KSMSST 0 2013/8/16 9:33 X\$KSMSSINFO 0 2013/8/16 9:33 X\$KSOLTD 0 2013/8/16 9:33 X\$KSPPCV2 3346 2013/8/16 9:33 X\$KSOLSSTAT 22 2013/8/16 9:33 X\$KSOLSFTS 24464 2013/8/16 9:33 X\$KSO_SCHED_DELAY_HISTORY 902 2013/8/16 9:33 X\$KSPPCV 3341 2013/8/16 9:33 X\$KSMLRU 10 2013/8/16 9:33 X\$KSMSPR 117 2013/8/16 9:33 X\$KSMPP 437 2013/8/16 9:33 X\$KSMSP_DSNEW 1 2013/8/16 9:33 X\$KSMSP_NWEX 22 2013/8/16 9:33 X\$KSMSGMEM 12 2013/8/16 9:33 X\$KSMLS 5 2013/8/16 9:33 X\$KSMPGDST 0 2013/8/16 9:33 X\$KSMPGDP 0 2013/8/16 9:33 X\$KSMSD 4 2013/8/16 9:33 X\$KSMSS 1079 2013/8/16 9:33 X\$KSMNS 0 2013/8/16 9:33 X\$KSMNIM 0 2013/8/16 9:33 X\$KSMPGST 1800 2013/8/16 9:33 X\$KSLWSC 6581 2013/8/16 9:33 X\$KSLWH 331 2013/8/16 9:33 X\$KSLWT 35 2013/8/16 9:33 X\$KSMFS 5 2013/8/16 9:33 X\$KSMJS 4 2013/8/16 9:33 X\$KSMGE 103 2013/8/16 9:33 X\$KSMHP 0 2013/8/16 9:33 X\$KSMJCH 0 2013/8/16 9:33 X\$KSMDD 354 2013/8/16 9:33 X\$KSMDUT1 320 2013/8/16 9:33 X\$KSMFSV 16387 2013/8/16 9:33 X\$KSLPO 458 2013/8/16 9:33 X\$KSLLTR 703 2013/8/16 9:33 X\$KSLHOT 10 2013/8/16 9:33 X\$KSLLCLASS 8 2013/8/16 9:33 X\$KSLLD 703 2013/8/16 9:33 X\$KSLSCS 13 2013/8/16 9:33 X\$KSLES 211456 2013/8/16 9:33 X\$KSLSESHIST 943 2013/8/16 9:33 X\$KSLLW 6581 2013/8/16 9:33 X\$KSI_REUSE_STATS 415 2013/8/16 9:33 X\$KSLECLASS 125 2013/8/16 9:33 X\$KSLEMAP 1567 2013/8/16 9:33 X\$KSLED 1567 2013/8/16 9:33 X\$KSLEPX 9 2013/8/16 9:33 X\$KSIRPINFO 0 2013/8/16 9:33 X\$KSLEI 1567 2013/8/16 9:33 X\$KSKPLW 1 2013/8/16 9:33 X\$KSKQVFT 0 2013/8/16 9:33 X\$KSKQDFT 0 2013/8/16 9:33 X\$KSIRGD 0 2013/8/16 9:33 X\$KSLCS 6136 2013/8/16 9:33 X\$KSIRESTYP 241 2013/8/16 9:33 X\$KSIMSI 0 2013/8/16 9:33 X\$KSFQP 0 2013/8/16 9:33 X\$KSFQDVNT 1 2013/8/16 9:33 X\$KSFVQST 192 2013/8/16 9:33 X\$KSFVSTA 32 2013/8/16 9:33 X\$KSIMAT 5 2013/8/16 9:33 X\$KSFMLIB 0 2013/8/16 9:33 X\$KSFMIOST 0 2013/8/16 9:33 X\$KSFMFILE 0 2013/8/16 9:33 X\$KSFMFILEEXT 0 2013/8/16 9:33 X\$KSFMSUBELEM 0 2013/8/16 9:33 X\$KSIMAV 0 2013/8/16 9:33 X\$KSFVSL 0 2013/8/16 9:33 X\$KSFDSTCG 96 2013/8/16 9:33 X\$KSFDSTCMP 1764 2013/8/16 9:33 X\$KSFDSTFILE 53 2013/8/16 9:33 X\$KSFDSTBLK 0 2013/8/16 9:33 X\$KSFMCOMPL 0 2013/8/16 9:33 X\$KSFDSTTHIST 1 2013/8/16 9:33 X\$KSFDSTLL 65 2013/8/16 9:33 X\$KSFMELEM 0 2013/8/16 9:33 X\$KSFMEXTELEM 0 2013/8/16 9:33 X\$KSFDSTHIST 13 2013/8/16 9:33 X\$KSBDPNEEDED 1 2013/8/16 9:33 X\$KSBFT 76 2013/8/16 9:33 X\$KSBSRVDT 124 2013/8/16 9:33 X\$KSBTABACT 3210 2013/8/16 9:33 X\$KSFDFTYP 37 2013/8/16 9:33 X\$KSFDSSCLONEINFO 0 2013/8/16 9:33 X\$KSDAFT 0 2013/8/16 9:33 X\$KSFDKLL 0 2013/8/16 9:33 X\$KSDHNG_CHAINS 1 2013/8/16 9:33 X\$KSDHNG_SESSION_BLOCKERS 0 2013/8/16 9:33 X\$KSDHNG_CACHE_HISTORY 20 2013/8/16 9:33 X\$KSDAF 0 2013/8/16 9:33 X\$KSBDP 402 2013/8/16 9:33 X\$KSBDD 402 2013/8/16 9:33 X\$KSAST 300 2013/8/16 9:33 X\$KRVXDTA 45 2013/8/16 9:33 X\$KRVXTX 0 2013/8/16 9:33 X\$KRVXISPLCR 0 2013/8/16 9:33 X\$KRVXOP 0 2013/8/16 9:33 X\$KRVXTHRD 0 2013/8/16 9:33 X\$KRVXWARNV 0 2013/8/16 9:33 X\$KRVXISPCHK 0 2013/8/16 9:33 X\$KRVXSV 0 2013/8/16 9:33 X\$KRVXDKA 32 2013/8/16 9:33 X\$KRVSLV 0 2013/8/16 9:33 X\$KRVSLVS 0 2013/8/16 9:33 X\$KRVSLVPG 0 2013/8/16 9:33 X\$KRVSLVST 0 2013/8/16 9:33 X\$KRSTALG 13 2013/8/16 9:33 X\$KRSTAPPSTATS 1055 2013/8/16 9:33 X\$KRSTDGC 0 2013/8/16 9:33 X\$KRSTDEST 31 2013/8/16 9:33 X\$KRSTPVRS 0 2013/8/16 9:33 X\$KRVSLVTHRD 0 2013/8/16 9:33 X\$KRSSMS 4 2013/8/16 9:33 X\$KRFSTHRD 0 2013/8/16 9:33 X\$KRDRSBROV 0 2013/8/16 9:33 X\$KRDEVTHIST 0 2013/8/16 9:33 X\$KRDMMIRA 0 2013/8/16 9:33 X\$KRCGFE 0 2013/8/16 9:33 X\$KRCSTAT 1 2013/8/16 9:33 X\$KRFBLOG 0 2013/8/16 9:33 X\$KRFGSTAT 0 2013/8/16 9:33 X\$KRCFH 0 2013/8/16 9:33 X\$KRBPHEAD 0 2013/8/16 9:33 X\$KRBPDIR 0 2013/8/16 9:33 X\$KRCEXT 0 2013/8/16 9:33 X\$KRCCDE 0 2013/8/16 9:33 X\$KRBZA 3 2013/8/16 9:33 X\$KRCCDR 0 2013/8/16 9:33 X\$KRCFDE 0 2013/8/16 9:33 X\$KRCFBH 0 2013/8/16 9:33 X\$KRCBIT 0 2013/8/16 9:33 X\$KRCCDS 0 2013/8/16 9:33 X\$KRBPDATA 0 2013/8/16 9:33 X\$KRBAFF 10 2013/8/16 9:33 X\$KRBMSFT 0 2013/8/16 9:33 X\$KRBMRST 0 2013/8/16 9:33 X\$KRASGA 1 2013/8/16 9:33 X\$KRBMCA 6 2013/8/16 9:33 X\$KQRST 69 2013/8/16 9:33 X\$KQRPD 59 2013/8/16 9:33 X\$KQRSD 14 2013/8/16 9:33 X\$KRBMROT 0 2013/8/16 9:33 X\$KQFTA 1107 2013/8/16 9:33 X\$KQFVI 1261 2013/8/16 9:33 X\$KQFVT 1261 2013/8/16 9:33 X\$KQFDT 37 2013/8/16 9:33 X\$KQFCO 18145 2013/8/16 9:33 X\$KQFTVRTTST0 1 2013/8/16 9:33 X\$KQRFP 7719 2013/8/16 9:33 X\$KQRFS 1948 2013/8/16 9:33 X\$KQFSZ 45 2013/8/16 9:33 X\$KQFP 37 2013/8/16 9:33 X\$KQFOPT 129 2013/8/16 9:33 X\$KQDPG 1 2013/8/16 9:33 X\$KPOQSTA 0 2013/8/16 9:33 X\$KPONESTAT 0 2013/8/16 9:33 X\$KPONJSTAT 1 2013/8/16 9:33 X\$KPPLCONN_INFO 0 2013/8/16 9:33 X\$KPONDESTAT 0 2013/8/16 9:33 X\$KPPLCC_INFO 0 2013/8/16 9:33 X\$KPPLCC_STATS 0 2013/8/16 9:33 X\$KPPLCP_STATS 0 2013/8/16 9:33 X\$KPONDCONSTAT 0 2013/8/16 9:33 X\$KNSTMVR 0 2013/8/16 9:33 X\$KNSTCAPS 0 2013/8/16 9:33 X\$KNSTRQU 1 2013/8/16 9:33 X\$KNSTTXN 0 2013/8/16 9:33 X\$KNSTRPP 0 2013/8/16 9:33 X\$KNSTXSTS 0 2013/8/16 9:33 X\$KNSTOGGC 4 2013/8/16 9:33 X\$KNSTSESS 3 2013/8/16 9:33 X\$KOCST 1 2013/8/16 9:33 X\$KNSTMT 0 2013/8/16 9:33 X\$KNSTCAP 0 2013/8/16 9:33 X\$KNSTCAPCACHE 0 2013/8/16 9:33 X\$KNSTANR 0 2013/8/16 9:33 X\$KNSTASL 0 2013/8/16 9:33 X\$KNSTACR 0 2013/8/16 9:33 X\$KNGFL 0 2013/8/16 9:33 X\$KNGFLE 0 2013/8/16 9:33 X\$KNLAROW 0 2013/8/16 9:33 X\$KNLASG 1 2013/8/16 9:33 X\$KMPSRV 8 2013/8/16 9:33 X\$KMPCP 4 2013/8/16 9:33 X\$KMPCSO 1 2013/8/16 9:33 X\$KMPDH 4 2013/8/16 9:33 X\$KMPCMON 4 2013/8/16 9:33 X\$KMMSI 16 2013/8/16 9:33 X\$KMGSTFR 800 2013/8/16 9:33 X\$KMGSOP 22 2013/8/16 9:33 X\$KMMDI 2 2013/8/16 9:33 X\$KMMSG 1 2013/8/16 9:33 X\$KMMNV 2 2013/8/16 9:33 X\$KMMRD 192 2013/8/16 9:33 X\$KMMSAS 1 2013/8/16 9:33 X\$KMMHST 1 2013/8/16 9:33 X\$KMMDP 1 2013/8/16 9:33 X\$KMGSCT 17 2013/8/16 9:33 X\$KMGSBSADV 7 2013/8/16 9:33 X\$KMGSBSMEMADV 0 2013/8/16 9:33 X\$KKOCS_HISTOGRAM 150 2013/8/16 9:33 X\$KMCVC 0 2013/8/16 9:33 X\$KKOCS_STATISTICS 0 2013/8/16 9:33 X\$KLPT 0 2013/8/16 9:33 X\$KLCIE 0 2013/8/16 9:33 X\$KMCQS 6 2013/8/16 9:33 X\$KKOCS_SELECTIVITY 0 2013/8/16 9:33 X\$KJZSIWTEVT 0 2013/8/16 9:33 X\$KJZNHANGSES 0 2013/8/16 9:33 X\$KJZNWLMPCRANK 0 2013/8/16 9:33 X\$KJZNRSLNRC 0 2013/8/16 9:33 X\$KJZNHNGSTATS 0 2013/8/16 9:33 X\$KKOAR_HINT 17 2013/8/16 9:33 X\$KKKICR 1 2013/8/16 9:33 X\$KKAEET 11 2013/8/16 9:33 X\$KKCNRSTAT 0 2013/8/16 9:33 X\$KKCNEREG 0 2013/8/16 9:33 X\$KKCNEREGSTAT 0 2013/8/16 9:33 X\$KJZNHNGMGRSTS 0 2013/8/16 9:33 X\$KJR_FREEABLE_CHUNKS 0 2013/8/16 9:33 X\$KJXM 0 2013/8/16 9:33 X\$KJMSDP 0 2013/8/16 9:33 X\$KJMDDP 0 2013/8/16 9:33 X\$KJR_CHUNK_STATS 0 2013/8/16 9:33 X\$KJZNHANGS 0 2013/8/16 9:33 X\$KJZNCBHANGS 0 2013/8/16 9:33 X\$KJREQFP 0 2013/8/16 9:33 X\$KJRTBCFP 0 2013/8/16 9:33 X\$KJPNPX 0 2013/8/16 9:33 X\$KJLEQFP 0 2013/8/16 9:33 X\$KJISFT 0 2013/8/16 9:33 X\$KJILFT 0 2013/8/16 9:33 X\$KJKMKGA 0 2013/8/16 9:33 X\$KJIRFT 0 2013/8/16 9:33 X\$KJITRFT 0 2013/8/16 9:33 X\$KJIDT 1 2013/8/16 9:33 X\$KJILKFT 0 2013/8/16 9:33 X\$KJICVT 0 2013/8/16 9:32 X\$KJFMHBACL 0 2013/8/16 9:32 X\$KJDRPCMPF 0 2013/8/16 9:32 X\$KJDDDEADLOCKS 0 2013/8/16 9:32 X\$KJDDDEADLOCKSES 0 2013/8/16 9:32 X\$KJCTFS 0 2013/8/16 9:32 X\$KJCTFR 0 2013/8/16 9:32 X\$KJCTFRI 0 2013/8/16 9:32 X\$KJDRMREQ 0 2013/8/16 9:32 X\$KJDRPCMHV 0 2013/8/16 9:32 X\$KJDRMAFNSTATS 1 2013/8/16 9:32 X\$KJDRMREADMOSTLYSTATS 1 2013/8/16 9:32 X\$KJDRMHVSTATS 1 2013/8/16 9:32 X\$KJDRHV 0 2013/8/16 9:32 X\$KGSKVFT 34 2013/8/16 9:32 X\$KJCISOT 7 2013/8/16 9:32 X\$KJCISPT 2 2013/8/16 9:32 X\$KJBR 0 2013/8/16 9:32 X\$KJAC_CONFIG 1 2013/8/16 9:32 X\$KJBL 0 2013/8/16 9:32 X\$KJBLFX 0 2013/8/16 9:32 X\$KJAC_ID 0 2013/8/16 9:32 X\$KJAC_MY_ID 0 2013/8/16 9:32 X\$KJBRFX 0 2013/8/16 9:32 X\$KGSKTE 0 2013/8/16 9:32 X\$KGSKTO 0 2013/8/16 9:32 X\$KGSKCP 2 2013/8/16 9:32 X\$KGSKPP 2 2013/8/16 9:32 X\$KGSKASP 1 2013/8/16 9:32 X\$KGSKSCS 0 2013/8/16 9:32 X\$KGSKQUEP 1 2013/8/16 9:32 X\$KGSKCFT 2 2013/8/16 9:32 X\$KGSKNCFT 2 2013/8/16 9:32 X\$KGSKPFT 1 2013/8/16 9:32 X\$KGSKDOPP 1 2013/8/16 9:32 X\$KGHLU 1 2013/8/16 9:32 X\$KGSCC 1 2013/8/16 9:32 X\$KGICS 1 2013/8/16 9:32 X\$KFVOL 0 2013/8/16 9:32 X\$KFVOLSTAT 0 2013/8/16 9:32 X\$KFVACFSV 0 2013/8/16 9:32 X\$KFZPBLK 0 2013/8/16 9:32 X\$KFVACFSTAG 0 2013/8/16 9:32 X\$KFVACFSRULESET 0 2013/8/16 9:32 X\$KFVACFSRULESETRULE 0 2013/8/16 9:32 X\$KFZUDR 0 2013/8/16 9:32 X\$KFZGDR 0 2013/8/16 9:32 X\$KFZUAGR 0 2013/8/16 9:32 X\$KFVACFSS 0 2013/8/16 9:32 X\$KFTMTA 0 2013/8/16 9:32 X\$KFVACFS 0 2013/8/16 9:32 X\$KFVACFSREALM 0 2013/8/16 9:32 X\$KFVACFSENCR 0 2013/8/16 9:32 X\$KFVACFSRULE 0 2013/8/16 9:32 X\$KFVACFSREALMS 0 2013/8/16 9:32 X\$KFVACFSREPLTAG 0 2013/8/16 9:32 X\$KFVACFSREALMGROUP 0 2013/8/16 9:32 X\$KFVACFSREALMFILTER 0 2013/8/16 9:32 X\$KFVACFSCMDRULE 0 2013/8/16 9:32 X\$KFVACFSADMIN 0 2013/8/16 9:32 X\$KFVACFSREPL 0 2013/8/16 9:32 X\$KFVACFSREALMUSER 0 2013/8/16 9:32 X\$KFRC 0 2013/8/16 9:32 X\$KFNSDSKIOST 0 2013/8/16 9:32 X\$KFKID 0 2013/8/16 9:32 X\$KFKLIB 0 2013/8/16 9:32 X\$KFNRCL 0 2013/8/16 9:32 X\$KFMDGRP 0 2013/8/16 9:32 X\$KFNCL 0 2013/8/16 9:32 X\$KFKLSOD 0 2013/8/16 9:32 X\$KFGRP_STAT 0 2013/8/16 9:32 X\$KFGXP 0 2013/8/16 9:32 X\$KFIAS_FILE 0 2013/8/16 9:32 X\$KFIAS_PROC 0 2013/8/16 9:32 X\$KFIAS_CLNT 0 2013/8/16 9:32 X\$KFGRP 0 2013/8/16 9:32 X\$KFGMG 0 2013/8/16 9:32 X\$KFGBRB 0 2013/8/16 9:32 X\$KFGBRW 0 2013/8/16 9:32 X\$KFFOF 0 2013/8/16 9:32 X\$KFGBRC 0 2013/8/16 9:32 X\$KFFXP 0 2013/8/16 9:32 X\$KFGBRS 0 2013/8/16 9:32 X\$KFFIL 0 2013/8/16 9:32 X\$KFENV 0 2013/8/16 9:32 X\$KFDSK_STAT 0 2013/8/16 9:32 X\$KFDSR 0 2013/8/16 9:32 X\$KFDXEXT 0 2013/8/16 9:32 X\$KFDSK 0 2013/8/16 9:32 X\$KFDFS 0 2013/8/16 9:32 X\$KFDSD 0 2013/8/16 9:32 X\$KFDPARTNER 0 2013/8/16 9:32 X\$KFDDD 0 2013/8/16 9:32 X\$KFCBH 0 2013/8/16 9:32 X\$KFCCE 0 2013/8/16 9:32 X\$KFBH 0 2013/8/16 9:32 X\$KFCLLE 0 2013/8/16 9:32 X\$KFDAT 0 2013/8/16 9:32 X\$KFDAP 0 2013/8/16 9:32 X\$KFCSTAT 0 2013/8/16 9:32 X\$KFALS 0 2013/8/16 9:32 X\$KEWSSVCV 112 2013/8/16 9:32 X\$KEWRTB 125 2013/8/16 9:32 X\$KEWX_SEGMENTS 0 2013/8/16 9:32 X\$KEWX_LOBS 0 2013/8/16 9:32 X\$KEWMWPCMV 0 2013/8/16 9:32 X\$KEWRATTRSTALE 0 2013/8/16 9:32 X\$KEWSSMAP 269 2013/8/16 9:32 X\$KEWSSYSV 34 2013/8/16 9:32 X\$KEWSSESV 38704 2013/8/16 9:32 X\$KEWRSQLCRIT 0 2013/8/16 9:32 X\$KEWMRWMV 28761 2013/8/16 9:32 X\$KEWMSEMV 70 2013/8/16 9:32 X\$KEWMFLMV 30 2013/8/16 9:32 X\$KEWMIOFMV 420 2013/8/16 9:32 X\$KEWMSMDV 161 2013/8/16 9:32 X\$KEWMWCRMV 0 2013/8/16 9:32 X\$KEWMRSM 219 2013/8/16 9:32 X\$KEWMGSM 14 2013/8/16 9:32 X\$KEWMRMGMV 0 2013/8/16 9:32 X\$KEWMDRMV 31148 2013/8/16 9:32 X\$KEWEFXT 0 2013/8/16 9:32 X\$KEWESMS 0 2013/8/16 9:32 X\$KEWMAFMV 0 2013/8/16 9:32 X\$KEWEPCS 0 2013/8/16 9:32 X\$KEWMEVMV 3524 2013/8/16 9:32 X\$KEWMDSM 283 2013/8/16 9:32 X\$KEWESMAS 0 2013/8/16 9:32 X\$KEWECLS 0 2013/8/16 9:32 X\$KEWASH 325 2013/8/16 9:32 X\$KEWAM 1 2013/8/16 9:32 X\$KESWXMON_STATNAME 75 2013/8/16 9:32 X\$KETOP 15 2013/8/16 9:32 X\$KETCL 7 2013/8/16 9:32 X\$KESWXMON_PLAN 2 2013/8/16 9:32 X\$KETTG 15 2013/8/16 9:32 X\$KELTSD 175 2013/8/16 9:32 X\$KESSPAMET 9 2013/8/16 9:32 X\$KESPLAN 0 2013/8/16 9:32 X\$KERPISTATS 1 2013/8/16 9:32 X\$KEOMNMON_SESSTAT 0 2013/8/16 9:32 X\$KERPIREPREQ 0 2013/8/16 9:32 X\$KESWXMON 5 2013/8/16 9:32 X\$KELTOSD 28 2013/8/16 9:32 X\$KELTGSD 7 2013/8/16 9:32 X\$KELRTD 129 2013/8/16 9:32 X\$KELRXMR 3 2013/8/16 9:32 X\$KELRSGA 1 2013/8/16 9:32 X\$KEHR 82 2013/8/16 9:32 X\$KEHPRMMAP 24 2013/8/16 9:32 X\$KEHRP 38 2013/8/16 9:32 X\$KEHSQT 63 2013/8/16 9:32 X\$KEHSYSMAP 10 2013/8/16 9:32 X\$KEHOSMAP 9 2013/8/16 9:32 X\$KEHTIMMAP 19 2013/8/16 9:32 X\$KEHR_CHILD 86 2013/8/16 9:32 X\$KDNSSF 472 2013/8/16 9:32 X\$KDXST 0 2013/8/16 9:32 X\$KDXHS 16 2013/8/16 9:32 X\$KEAOBJT 26 2013/8/16 9:32 X\$KEACMDN 49 2013/8/16 9:32 X\$KEHETSX 9 2013/8/16 9:32 X\$KEHF 119 2013/8/16 9:32 X\$KEHEVTMAP 105 2013/8/16 9:32 X\$KEHECLMAP 12 2013/8/16 9:32 X\$KECPDENTRY 0 2013/8/16 9:32 X\$KECPRT 0 2013/8/16 9:32 X\$KEAFDGN 84 2013/8/16 9:32 X\$KCVFH 10 2013/8/16 9:32 X\$KCVFHTMP 1 2013/8/16 9:32 X\$KDLU_STAT 216 2013/8/16 9:32 X\$KDLT 1 2013/8/16 9:32 X\$KCVDF 10 2013/8/16 9:32 X\$KCTICW 1 2013/8/16 9:32 X\$KCTLAX 0 2013/8/16 9:32 X\$KCRMF 0 2013/8/16 9:32 X\$KCRMT 0 2013/8/16 9:32 X\$KCRMX 0 2013/8/16 9:32 X\$KCRRDSTAT 31 2013/8/16 9:32 X\$KCRFX 0 2013/8/16 9:32 X\$KCRRLNS 0 2013/8/16 9:32 X\$KCRRNHG 3050 2013/8/16 9:32 X\$KCRRASTATS 31 2013/8/16 9:32 X\$KCRRARCH 30 2013/8/16 9:32 X\$KCMSCN 1 2013/8/16 9:32 X\$KCRFWS 1 2013/8/16 9:32 X\$KCRFSTRAND 53 2013/8/16 9:32 X\$KCPDBINC 0 2013/8/16 9:32 X\$KCLQN 0 2013/8/16 9:32 X\$KCLRCVST 1 2013/8/16 9:32 X\$KCPXPL 20 2013/8/16 9:32 X\$KCRFDEBUG 1 2013/8/16 9:32 X\$KCFTIO 200 2013/8/16 9:32 X\$KCLFX 0 2013/8/16 9:32 X\$KCLLS 0 2013/8/16 9:32 X\$KCLCRST 1 2013/8/16 9:32 X\$KCFISTCAP 0 2013/8/16 9:32 X\$KCLCURST 1 2013/8/16 9:32 X\$KCLDELTAST 0 2013/8/16 9:32 X\$KCFISTSA 11 2013/8/16 9:32 X\$KCLPINGPIN 2048 2013/8/16 9:32 X\$KCCRSP 0 2013/8/16 9:32 X\$KCCRSR 9 2013/8/16 9:32 X\$KCFIOHIST 28 2013/8/16 9:32 X\$KCFIOFCHIST 0 2013/8/16 9:32 X\$KCFIO 200 2013/8/16 9:32 X\$KCCRS 42 2013/8/16 9:32 X\$KCCRT 1 2013/8/16 9:32 X\$KCCTIR 8 2013/8/16 9:32 X\$KCCSL 0 2013/8/16 9:32 X\$KCCTF 1 2013/8/16 9:32 X\$KCCTS 11 2013/8/16 9:32 X\$KCFISOSS 0 2013/8/16 9:32 X\$KCFISOSSN 0 2013/8/16 9:32 X\$KCFISOSSL 0 2013/8/16 9:32 X\$KCFISOSST 0 2013/8/16 9:32 X\$KCFISOSSC 0 2013/8/16 9:32 X\$KCFISCAP 5 2013/8/16 9:32 X\$KCCIC 2 2013/8/16 9:32 X\$KCCRDI 1 2013/8/16 9:32 X\$KCCIRT 1 2013/8/16 9:32 X\$KCCNRS 0 2013/8/16 9:32 X\$KCCPDB 0 2013/8/16 9:32 X\$KCCLE 99 2013/8/16 9:32 X\$KCCPA 0 2013/8/16 9:32 X\$KCCRM 1 2013/8/16 9:32 X\$KCCLH 70 2013/8/16 9:32 X\$KCCOR 0 2013/8/16 9:32 X\$KCCRL 0 2013/8/16 9:32 X\$KCCPD 0 2013/8/16 9:32 X\$KCCFN 18 2013/8/16 9:32 X\$KCCBI 1 2013/8/16 9:32 X\$KCCDL 1 2013/8/16 9:32 X\$KCCDFHIST 0 2013/8/16 9:32 X\$KCCBLKCOR 0 2013/8/16 9:32 X\$KCCCP 8 2013/8/16 9:32 X\$KCCCF 2 2013/8/16 9:32 X\$KCCDI 1 2013/8/16 9:32 X\$KCCDI2 1 2013/8/16 9:32 X\$KCCFE 10 2013/8/16 9:32 X\$KCCAL 3 2013/8/16 9:32 X\$KCCBS 2 2013/8/16 9:32 X\$KCCBP 2 2013/8/16 9:32 X\$KCCBF 2 2013/8/16 9:32 X\$KCCBL 0 2013/8/16 9:32 X\$KCCDC 0 2013/8/16 9:32 X\$KCCFC 0 2013/8/16 9:32 X\$KCCCC 0 2013/8/16 9:32 X\$KCCFLE 0 2013/8/16 9:32 X\$KCCAGF 1 2013/8/16 9:32 X\$KCCACM 9 2013/8/16 9:32 X\$KCCADFC 0 2013/8/16 9:32 X\$KCBWDS 32 2013/8/16 9:32 X\$KCBVBL 0 2013/8/16 9:32 X\$KCBWH 1300 2013/8/16 9:32 X\$KCBUWHY 1300 2013/8/16 9:32 X\$KCBWAIT 19 2013/8/16 9:32 X\$KCBWBPD 9 2013/8/16 9:32 X\$KCBSW 1300 2013/8/16 9:32 X\$KCBTEK 11 2013/8/16 9:32 X\$KCBMKID 1 2013/8/16 9:32 X\$KCBPRFH 0 2013/8/16 9:32 X\$KCBOBH 31016 2013/8/16 9:32 X\$KCBMMAV 0 2013/8/16 9:32 X\$KCBLSC 64 2013/8/16 9:32 X\$KCBPINTIME 2048 2013/8/16 9:32 X\$KCBSC 21 2013/8/16 9:32 X\$KCBSDS 32 2013/8/16 9:32 X\$KCBOQH 1849 2013/8/16 9:32 X\$KCBBHS 0 2013/8/16 9:32 X\$KCBBES 19 2013/8/16 9:32 X\$KCBKWRL 1 2013/8/16 9:32 X\$KCBKPFS 400 2013/8/16 9:32 X\$KCBBF 3000 2013/8/16 9:32 X\$KCBFWAIT 400 2013/8/16 9:32 X\$KAUVRSTAT 1 2013/8/16 9:32 X\$KBRPSTAT 5 2013/8/16 9:32 X\$KCBLDRHIST 1000 2013/8/16 9:32 X\$K2GTE2 0 2013/8/16 9:32 X\$KCBDWS 1 2013/8/16 9:32 X\$KCBDWOBJ 0 2013/8/16 9:32 X\$KCBFCIO 0 2013/8/16 9:32 X\$KCBDBK 1 2013/8/16 9:32 X\$K2GTE 0 2013/8/16 9:32 X\$IR_RS_PARAM 0 2013/8/16 9:32 X\$JSKJOBQ 1 2013/8/16 9:32 X\$JSKSLV 0 2013/8/16 9:32 X\$JSKMIMRT 0 2013/8/16 9:32 X\$IR_WR_PARAM 0 2013/8/16 9:32 X\$IR_WORKING_FAILURE_SET 0 2013/8/16 9:32 X\$IR_WORKING_REPAIR_SET 0 2013/8/16 9:32 X\$IR_REPAIR_OPTION 0 2013/8/16 9:32 X\$IR_REPAIR_STEP 0 2013/8/16 9:32 X\$IR_WF_PARAM 0 2013/8/16 9:32 X\$JSKMIMMD 0 2013/8/16 9:32 X\$GIMSA 24 2013/8/16 9:32 X\$INSTANCE_CACHE_TRANSFER 0 2013/8/16 9:32 X\$ESTIMATED_MTTR 1 2013/8/16 9:32 X\$GLOBALCONTEXT 0 2013/8/16 9:32 X\$HEATMAPSEGMENT 19 2013/8/16 9:32 X\$IR_MANUAL_OPTION 0 2013/8/16 9:32 X\$HOFP 0 2013/8/16 9:32 X\$IEE 0 2013/8/16 9:32 X\$IEE_ORPIECE 0 2013/8/16 9:32 X\$IEE_CONDITION 0 2013/8/16 9:32 X\$DURABLE_SHARDED_SUBS 0 2013/8/16 9:32 X\$HS_SESSION 0 2013/8/16 9:32 X\$DRM_HISTORY 0 2013/8/16 9:32 X\$DRM_HISTORY_STATS 0 2013/8/16 9:32 X\$DNFS_STATS 0 2013/8/16 9:32 X\$DUAL 1 2013/8/16 9:32 X\$DRA_FAILURE 75 2013/8/16 9:32 X\$DRA_FAILURE_PARAM 189 2013/8/16 9:32 X\$DRA_FAILURE_REPAIR_MAP 116 2013/8/16 9:32 X\$DRA_REPAIR_PARAM 73 2013/8/16 9:32 X\$DRA_FAILURE_REPAIR 264 2013/8/16 9:32 X\$DRA_FAILURE_CHECK 53 2013/8/16 9:32 X\$DRA_FAILURE_CHECK_MAP 107 2013/8/16 9:32 X\$DRA_FAILURE_PARENT_MAP 11 2013/8/16 9:32 X\$DRA_REPAIR 112 2013/8/16 9:32 X\$DNFS_FILES 0 2013/8/16 9:32 X\$DNFS_CHANNELS 0 2013/8/16 9:32 X\$DNFS_HIST 0 2013/8/16 9:32 X\$DNFS_SERVERS 0 2013/8/16 9:32 X\$DNFS_META 1 2013/8/16 9:32 X\$DIAG_INFO 11 2013/8/16 9:32 X\$DGLPARAM 36 2013/8/16 9:32 X\$DGLXDAT 0 2013/8/16 9:32 X\$DBKRECO 0 2013/8/16 9:32 X\$DBKRUN 6 2013/8/16 9:32 X\$DIR 15 2013/8/16 9:32 X\$DBKINCMETCFG 1 2013/8/16 9:32 X\$DBKINCMETSUMMARY 1 2013/8/16 9:32 X\$DBKINCMETINFO 0 2013/8/16 9:32 X\$DBKEFEFC 18 2013/8/16 9:32 X\$DBKH_CHECK_PARAM 63 2013/8/16 9:32 X\$DBKFDG 20 2013/8/16 9:32 X\$DBKFSET 0 2013/8/16 9:32 X\$DBKINFO 51 2013/8/16 9:32 X\$DBKH_CHECK 38 2013/8/16 9:32 X\$DBKEFIEFC 512 2013/8/16 9:32 X\$CON_KSLSCS 13 2013/8/16 9:32 X\$CON_KSLEI 1567 2013/8/16 9:32 X\$CON_KSUSGSTA 839 2013/8/16 9:32 X\$CKPTBUF 25664 2013/8/16 9:32 X\$CONTEXT 0 2013/8/16 9:32 X\$CON 1 2013/8/16 9:32 X\$CON_KEWSSYSV 34 2013/8/16 9:32 X\$DBKEFAFC 7 2013/8/16 9:32 X\$DBKEFDEAFC 0 2013/8/16 9:32 X\$DBKECE 40 2013/8/16 9:32 X\$CELL_NAME 0 2013/8/16 9:32 X\$BUFFERED_SUBSCRIBERS 0 2013/8/16 9:32 X\$BH 33749 2013/8/16 9:32 X\$BMAPNONDURSUB 32 2013/8/16 9:32 X\$BUFFER 0 2013/8/16 9:32 X\$BUFFERED_PUBLISHERS 0 2013/8/16 9:32 X\$BUFFER2 0 2013/8/16 9:32 X\$BUFFERED_QUEUES 0 2013/8/16 9:32 X\$AUD_OBJ_ACTIONS 19 2013/8/16 9:32 X\$AUD_XS_ACTIONS 48 2013/8/16 9:32 X\$AUD_OLS_ACTIONS 19 2013/8/16 9:32 X\$ASH 581 2013/8/16 9:32 X\$AUD_DP_ACTIONS 4 2013/8/16 9:32 X\$AUD_DPAPI_ACTIONS 3 2013/8/16 9:32 X\$AUD_DV_OBJ_EVENTS 14 2013/8/16 9:32 X\$ACTIVECKPT 9 2013/8/16 9:32 X\$ABSTRACT_LOB 1 2013/8/16 9:32 X\$AQ_SUBSCRIBER_LOAD 0 2013/8/16 9:32 X\$QESRSTATALL 7137 2013/8/16 9:32 X\$QESRSTAT 0 2013/8/16 9:32 X\$QESRCOBJ 0 2013/8/16 9:32 X\$QESRCMEM 0 2013/8/16 9:32 X\$QESRCDEP 0 2013/8/16 9:32 X\$QESRCMSG 0 2013/8/16 9:32 X\$QESRCDR 0 2013/8/16 9:32 X\$QESRCSTA 13 2013/8/16 9:32 X\$QESRCRR 0 2013/8/16 9:32 X\$QESMMSGA 38 2013/8/16 9:32 X\$QESMMIWT 0 2013/8/16 9:32 X\$QESMMIWH 33 2013/8/16 9:32 X\$QESMMAPADV 14 2013/8/16 9:32 X\$QESRCRD 0 2013/8/16 9:32 X\$KQLSET 2689 2013/8/16 9:32 X\$QESBLSTAT 20 2013/8/16 9:32 X\$QESMMAHIST 462 2013/8/16 9:32 X\$KQLFXPL 7099 2013/8/16 9:32 X\$KQLFSQCE 714215 2013/8/16 9:32 X\$KKSSRD 1720 2013/8/16 9:32 X\$KKSSQLSTAT 2956 2013/8/16 9:32 X\$KQLFBC 2281 2013/8/16 9:32 X\$KKSAI 0 2013/8/16 9:32 X\$KKSCS 1704 2013/8/16 9:32 X\$KKSBV 2281 2013/8/16 9:32 X\$KGLXS 4253 2013/8/16 9:32 X\$KGLTR 750 2013/8/16 9:32 X\$KGLSIM 18 2013/8/16 9:32 X\$KGLOB 15849 2013/8/16 9:32 X\$KGLRD 6578 2013/8/16 9:32 X\$KGLST 269 2013/8/16 9:32 X\$KGLSN 37 2013/8/16 9:32 X\$KGLPN 29 2013/8/16 9:32 X\$KGLNA1 53213 2013/8/16 9:32 X\$KGLLK 436 2013/8/16 9:32 X\$KGLAU 478 2013/8/16 9:32 X\$KGLDP 5312 2013/8/16 9:32 X\$KGLNA 53196 2013/8/16 9:32 X\$KGLJSIM 10 2013/8/16 9:32 X\$KGLMEM 126 2013/8/16 9:32 X\$KGLJMEM 126 2013/8/16 9:32

```  procedure gather_fixed_objects_stats
(stattab varchar2 default null, statid varchar2 default null,
statown varchar2 default null,
no_invalidate boolean default
to_no_invalidate_type(get_param('NO_INVALIDATE')));
--
-- Gather statistics for fixed tables.
-- To run this procedure, you must have the SYSDBA or ANALYZE ANY DICTIONARY
-- system privilege.
--
-- Input arguments:
--   stattab - The user stat table identifier describing where to save
--      the current statistics.
--   statid - The (optional) identifier to associate with these statistics
--      within stattab.
--   statown - The schema containing stattab (if different then ownname)
--   no_invalidate - Do not invalide the dependent cursors if set to TRUE.
--      The procedure invalidates the dependent cursors immediately
--      if set to FALSE.
--      Use DBMS_STATS.AUTO_INVALIDATE to have oracle decide when to
--      invalidate dependend cursors. This is the default. The default
--      can be changed using set_param procedure.
-- Exceptions:
--   ORA-20000: insufficient privileges
--   ORA-20001: Bad input value
--   ORA-20002: Bad user statistics table, may need to upgrade it
--
function report_gather_fixed_obj_stats
(stattab varchar2 default null, statid varchar2 default null,
statown varchar2 default null,
no_invalidate boolean default
to_no_invalidate_type(get_param('NO_INVALIDATE')),
detail_level varchar2 default 'TYPICAL',
format varchar2 default 'TEXT')
return clob;
--
-- This procedure runs gather_fixed_objects_stats in reporting mode. That is,
-- stats are not actually collected, but all the objects that will be
-- affected when gather_fixed_objects_stats is invoked are reported.
-- The detail level for the report is defined by the detail_level
-- input parameter. Please see the comments for report_single_stats_operation
-- on possible values for detail_level and format.
-- For all other input parameters, please see the comments on
-- gather_fixed_objects_stats.
procedure delete_fixed_objects_stats(
stattab varchar2 default null, statid varchar2 default null,
statown varchar2 default null,
no_invalidate boolean default
to_no_invalidate_type(get_param('NO_INVALIDATE')),
force boolean default FALSE);
--
-- Deletes statistics for fixed tables
-- To run this procedure, you must have the SYSDBA or ANALYZE ANY DICTIONARY
-- system privilege.
--
-- Input arguments:
--   stattab - The user stat table identifier describing from where
--      to delete the statistics.  If stattab is null, the statistics
--      will be deleted directly in the dictionary.
--   statid - The (optional) identifier to associate with these statistics
--      within stattab (Only pertinent if stattab is not NULL).
--   statown - The schema containing stattab (if different then ownname)
--   no_invalidate - Do not invalide the dependent cursors if set to TRUE.
--      The procedure invalidates the dependent cursors immediately
--      if set to FALSE.
--      Use DBMS_STATS.AUTO_INVALIDATE to have oracle decide when to
--      invalidate dependend cursors. This is the default. The default
--      can be changed using set_param procedure.
--   force - Ignores the statistics lock on objects and delete
--           the statistics if set to TRUE.
--
-- Exceptions:
--   ORA-20000: insufficient privileges
--   ORA-20002: Bad user statistics table, may need to upgrade it
--
procedure export_fixed_objects_stats(
stattab varchar2, statid varchar2 default null,
statown varchar2 default null);
--
-- Retrieves statistics for fixed tables and stores them in the user
-- stat table identified by stattab
-- To run this procedure, you must have the SYSDBA or ANALYZE ANY DICTIONARY
-- system privilege.
--
-- Input arguments:
--   stattab - The user stat table identifier describing where
--      to store the statistics.
--   statid - The (optional) identifier to associate with these statistics
--      within stattab.
--   statown - The schema containing stattab (if different then ownname)
--
-- Exceptions:
--   ORA-20000: insufficient privileges
--   ORA-20002: Bad user statistics table, may need to upgrade it
--
procedure import_fixed_objects_stats(
stattab varchar2, statid varchar2 default null,
statown varchar2 default null,
no_invalidate boolean default
to_no_invalidate_type(get_param('NO_INVALIDATE')),
force boolean default FALSE);
--
-- Retrieves statistics for fixed tables from the user stat table and
-- stores them in the dictionary
-- To run this procedure, you must have the SYSDBA or ANALYZE ANY DICTIONARY
-- system privilege.
-- The statistics will be imported as pending in case PUBLISH preference
-- is set to FALSE.
--
-- Input arguments:
--   stattab - The user stat table identifier describing from where
--      to retrieve the statistics.
--   statid - The (optional) identifier to associate with these statistics
--      within stattab.
--   statown - The schema containing stattab (if different then ownname)
--   no_invalidate - Do not invalide the dependent cursors if set to TRUE.
--      The procedure invalidates the dependent cursors immediately
--      if set to FALSE.
--      Use DBMS_STATS.AUTO_INVALIDATE to have oracle decide when to
--      invalidate dependend cursors. This is the default. The default
--      can be changed using set_param procedure.
--   force - Override statistics lock.
--     TRUE- Ignores the statistics lock on objects and import
--           the statistics.
--     FALSE-The statistics of an object will be imported only if it
--           is not locked.
--
-- Exceptions:
--   ORA-20000: insufficient privileges
--              if ORA-20000 shows "no statistics are imported", several
--              possible reasons are: (1) user specified statid does not
--              exist; (2) statistics are locked; (3) objects in the
--              stattab no longer exist in the current database
--   ORA-20001: Invalid or inconsistent values in the user stat table
--   ORA-20002: Bad user statistics table, may need to upgrade it```