|
Delayed Index maintenance in Oracle8 and above
Event:12836 - Delayed Index maintenance in Oracle8 and above [ID 69001.1]
Event:12836
Enable / Disable statement level index buffering in Oracle8 and above.
This event determines whether Oracle attempts to perform statement level
buffering for index operations in Oracle8. Statement level buffering is
a performance enhancement introduced in Oracle 8.0.3.
Levels:
1 no statement level buffering for non-PDML delete/update
2 no statement level buffering for PDML
3 no statement level buffering
4 force statement level buffering for non-PDML delete/update
Statement level buffering may be disabled even if this event is not set
depending on the operation and use of the index.
Buffering may create a temporary segment for the buffered operations.
Functions:
See <Function:kauxcbf>
Compute if we do statement-level buffering and allocate kxib
把这个feature关闭,sort就消失了:
HELLODBA.COM>ALTER SESSION SET EVENTS '12836 trace name context forever, level 3';
Session altered.
HELLODBA.COM>alter system flush shared_pool;
System altered.
HELLODBA.COM>delete from t2 where a<=1;
1 row deleted.
HELLODBA.COM>rollback;
Rollback complete.
HELLODBA.COM>select name,value from v$mystat m, v$statname n where m.statistic#=n.statistic# and upper(name) like '%SORT%';
NAME VALUE
---------------------------------------------------------------- ----------
sorts (memory) 1518
sorts (disk) 0
sorts (rows) 16017
HELLODBA.COM>delete from t2 where a<=1;
1 row deleted.
HELLODBA.COM>select name,value from v$mystat m, v$statname n where m.statistic#=n.statistic# and upper(name) like '%SORT%';
NAME VALUE
---------------------------------------------------------------- ----------
sorts (memory) 1518
sorts (disk) 0
sorts (rows) 16017
HELLODBA.COM>rollback;
Rollback complete.
HELLODBA.COM>ALTER SESSION SET EVENTS '12836 trace name context off';
Session altered.
HELLODBA.COM>alter system flush shared_pool;
System altered.
HELLODBA.COM>delete from t2 where a<=1;
1 row deleted.
HELLODBA.COM>rollback;
Rollback complete.
HELLODBA.COM>select name,value from v$mystat m, v$statname n where m.statistic#=n.statistic# and upper(name) like '%SORT%';
NAME VALUE
---------------------------------------------------------------- ----------
sorts (memory) 1598
sorts (disk) 0
sorts (rows) 16829
HELLODBA.COM>delete from t2 where a<=1;
1 row deleted.
HELLODBA.COM>select name,value from v$mystat m, v$statname n where m.statistic#=n.statistic# and upper(name) like '%SORT%';
NAME VALUE
---------------------------------------------------------------- ----------
sorts (memory) 1599
sorts (disk) 0
sorts (rows) 16830
HELLODBA.COM>
原帖由 Yong Huang 于 2010-12-16 01:52 发表 ![]()
Autotrace probably has one extra sort because the trace itself creates one.
For others to know,
fuyuncat's cool OraTracer tool is at
http://www.hellodba.com/Download/OraTracer_upgrade.htm
"kxib - index buffering operations" is in Note:175982.1 and
"kxibFinish: kxib Finish index maintenance processing" is in Bug 5477391.
Relevant event for more research is:
$ oerr ora 12837
12837, 00000, "Delayed index maintenance debugging event"
// *Document: NO
// *Cause:
// *Action: Control dumping of debugging information for dealyed maintenance
Yong Huang |
|