OWI
文章平均质量分 64
OWI
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
scan724
这个作者很懒,什么都没留下…
展开
-
统计信息搜集加SQL硬编码导致library cache lock 和cursor pin wait on x
原创 2020-12-15 22:54:30 · 372 阅读 · 0 评论 -
编译存储过程 library cache pin
SQL_ID 3cm6z3nnhzuykSQL_TEXT BEGIN MB_LIFE_PCKG_SYSTEM_LOGON.GET_BSNDEF_FLAG (:1 , :2 , :3 , :4 , :5 , :6 , :7 , :8 ) ; END;VERSION_COUNT 2LOADS 2HASH_VALUE 688909266ADDRESS 070000050AE83498PLAN_HASH_VALUE 0OLD_HASH_VALUE 1554650442LAST_ACTIVE_C.原创 2020-08-05 16:35:09 · 214 阅读 · 0 评论 -
enq:HW-contention
8.1 enq:HW-contention 为防止多个进程同时修改HWM而提供的锁称为HW锁,想要移动HWM的进程必须获得HW锁。若在获取HW锁过程中发生争用,则等待enq:HW-contention事件。HW锁争用大部分是因为大量执行Insert所引起的,偶尔也会因大量执行Update在回滚段中发生HW锁争用现象。若是Upate,表中段的扩展的大小虽然不多,但在创建回滚数据的过原创 2014-07-15 14:13:33 · 3054 阅读 · 0 评论 -
Segment 管理方式
从9i开始,段空间管理有两种:① MSSM:由你设置freelists、freelist groups、pctused、pctfree、initrans等参数来控制如何分配、使用段中的空间② ASSM:你只需控制一个参数pctfree,其他参数即使建了也将被忽略⑴ freelist使用MSSM表空间管理时,Oracle会在freelist中为有自由空间的对象维护HWM以下的块原创 2014-07-15 08:50:25 · 814 阅读 · 1 评论 -
绑定变量窥探和直方图
关闭绑定变量窥探后,无法使用直方图信息。 绑定变量窥探只有发生在有绑定变量和收集了直方图才发生。原创 2014-08-15 10:43:13 · 490 阅读 · 0 评论 -
OWI之direct path write
SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE---------- ---------- ---------- 192 0 0SQL> create table test1 as select * from F_AGT_GCI_BUSINESS_INFO原创 2014-07-29 13:57:51 · 681 阅读 · 0 评论 -
library cache lock诊断思路
create or replace procedure prc_test1 isbegin loop execute immediate 'select * from dual';end loop;end; SESSION 1644 执行存储过程: SQL> select * from v$mystat where rownum<2; SID STATISTI原创 2014-07-09 13:17:46 · 520 阅读 · 0 评论 -
direct path read和diect path write
direct path read:传统读取数据的方式是服务器进程通过读取磁盘,然后把数据加载到共享内存中,这样后面的进程就可以通过共享内存访问这些数据,不用再通过缓慢的磁盘读取来完成。direct path read读取数据块方式,是指服务器进程直接读取数据文件,不经过buffer cache,这种方式读取的数据块会加载到服务器进程的PGA内中当中,不会进入buffer cache中。11G原创 2014-08-31 15:37:31 · 716 阅读 · 0 评论 -
11g library cache lock分析思路
create or replace procedure prc_test1 isbegin loop execute immediate 'select * from dual';end loop;end; ########################################SESSION 20 执行存储过程: ############原创 2014-09-14 11:24:07 · 913 阅读 · 0 评论 -
11g library cache pin处理思路
2.2 查看X$KGLLK表The X$KGLLK table (accessibleonly as SYS/INTERNAL) contains all the library object locks (both held &requested) for all sessions and is more complete than the V$LOCK view althoughthe原创 2014-09-14 10:40:06 · 715 阅读 · 0 评论 -
dba_kgllock解释
SQL> select sid,saddr from v$session where saddr in ('2F397004','2E063BA8','2F391B2C'); SID SADDR---------- -------- 20 2F397004 22 2F391B2C ----被堵塞 library cache lock 1137 2E063BA8原创 2014-09-14 12:04:29 · 1061 阅读 · 0 评论 -
Oracle INITRANS和MAXTRANS
create table A1( ID INTEGER)tablespace TEST_DATA pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 1 next 1 minextents 1 maxextents unlimited pctincr原创 2014-07-14 10:48:16 · 1442 阅读 · 0 评论 -
一个块存储一条记录的巧妙设计
--因为块大小等于8K,每个块存储一个行--因为块大小等于8K,所以创建7.K的行,则一个行占据一个块。--PCTFREE=10,因此一个行在8K*0.9=7.2K以上,就可以占据一个块。总共长度为7500bytesSQL> create table hwm_test( 2 name1 char(2000) default '', 3 name2 char(2000)原创 2014-07-14 16:48:16 · 556 阅读 · 0 评论 -
OWI之db file scattered read
Oracle在执行全表扫描(full table scan)或全索引扫描(index full scan)时,为保障性能,尽量一次性读取多个块,这称为Multi Block I/O.每次执行Multi Block I/O,都会等待物理I/O结束,此时等待db file scattered read 事件。利用db file scattered read 等待事件的P1=file#SQ原创 2014-07-28 19:55:08 · 546 阅读 · 0 评论 -
OWI之db file sequential read
p1=file#p2=block#p3=blocks=1关闭绑定变量窥探后,无法使用直方图信息。Cluster Factor(CF)假设I/O不使用内存,CF越高读取表块的次数越多,因此物理I/O也会增加。即,CF越高,通过ROWID读取表块的次数就会越多,db file sequential read 等待也会相应增加。通过高速缓冲区读取过一次的块因为不再发生物理I/O,原创 2014-07-28 19:56:25 · 586 阅读 · 0 评论 -
latch free
select sid,event,p1,p1raw,p2,p3 from v$session where event not like '%message%'; p1 p1raw p2 p34 1633 latch free 1610651464 0000000060009748 18原创 2014-07-11 15:15:08 · 513 阅读 · 0 评论 -
enq: SQ - contention
p1 p1raw p2 p32 1598 enq: SQ - contention 1397817350 0000000053510006 166684 03 1601 latch: library cache 2220128352 0000000084547860 215 04 1607 enq: SQ - contention 13原创 2014-07-11 15:15:45 · 2030 阅读 · 0 评论 -
OWI之direct path read
select sid,event,p1,p2,p3 from v$session_wait where sid=9; SID event p1 p2 p3 1 9 direct path read 13 1535744 128p1 要读取的绝对文件号p2 读取的起始块号p3 要读的块数SQL> sel原创 2014-07-29 09:16:37 · 819 阅读 · 0 评论 -
多个会话引起唯一键冲突时(enq:TX-row lock contention,mode=4)
多个会话引起唯一键冲突时(enq:TX-row lock contention,mode=4)发生唯一键或主键冲突时也会发生TX锁争用。进程A在执行Insert后,若进程B执行Insert引发唯一键冲突,进程B为了以Shared模式获取了TX锁,正在等待。这时的等待现象通过enq:TX-row lock contention事件表现。进程B会等到进程A执行提交或回滚为止。若进程A上完原创 2014-07-14 13:21:42 · 1085 阅读 · 0 评论 -
Segments by Row Lock Waits
SQL> select OWNER,INDEX_NAME,TABLE_NAME from DBA_indexes where INDEX_NAME='F_AGT_BUSS_DUEB_END_DT'; OWNER INDEX_NAME TABLE_NAME------------------------------ ----原创 2014-07-30 21:07:46 · 3409 阅读 · 0 评论 -
多个会话修改相同行时(enq: TX-row lock contention,mode=6)
多个会话修改相同行时(enq: TX-row lock contention,mode=6)修改相同行,是发生TX锁引起争用的最普遍的情况。相同行update引起的TX锁争用:SQL> select * from a1; ID---------- 1 2SQL> select * from v$mystat where rownum<2; SID ST原创 2014-07-14 13:20:56 · 587 阅读 · 0 评论 -
位图索引冲突引发TX锁争用时,则等待enq:TX-row lock conention.
想理解位图索引(Bitmap index)冲突引发的TX锁争用,必须掌握关于位图索引内部结构的知识。B*Tree索引的叶子节点以按排序形式存储索引条目,每个索引条目指向各自的一个ROWID,所以唯一键冲突之外,索引条目之间不发生争用。而位图索引的叶子块节点具有"Column值+Start rowid+Endrowid+Bitmap值的形式"。即,一个叶子节点管理大范围的ROWID,每当表的原创 2014-07-14 13:22:21 · 736 阅读 · 0 评论 -
db file parallel write和db file parallel read
db file parallel write This event occurs in the DBWR. It indicates that the DBWR is performing a parallel write to files and blocks. The parameter requests indicates the real number of I/Os that are原创 2014-08-31 15:28:38 · 1115 阅读 · 0 评论 -
library cache pin 诊断思路
create or replace procedure prc_test1 isbegin loop execute immediate 'select * from dual';end loop;end; SESSION 1644 执行存储过程: SQL> select * from v$mystat where rownum<2; SID STATIST原创 2014-07-09 13:18:04 · 573 阅读 · 0 评论 -
优化db file parallel read
SELECT TO_CHAR(A.DATA_DT, 'YYYY-MM-DD') AS DATA_DT, A.MAGR_NO, A.MAGR_NAME, A.ORG_ID, A.ORG_NAME, sum(A.ACCT_BAL / 10000) as acct_bal, sum(A.ACCT_AVG) as ACCT_AVG, sum(A.SUM_BAL) as SUM_BAL, s原创 2015-02-10 18:36:50 · 1310 阅读 · 0 评论 -
编译正在调用的函数等待library cache pin
create or replace function get_sal(name1 number) return number is v_sal number;begin select name1+20 into v_sal from dual; /*dbms_lock.sleep(30);*/ return v_sal;end get_sal;select get_sal(原创 2017-11-19 21:15:09 · 259 阅读 · 0 评论 -
cursor: mutex X
SESSION_ID SQL_ID MACHINE BLOCKING_SESSION SAMPLE_TIME MODULE PROGRAM EVENT SQL_TEXT1 2184 505mpuw9uwg69 outdata_app1 22-5月 -18 01.55.22.395 下午 JDBC Thin Client JDBC Thin Client cursor: mutex X "SE...原创 2020-11-30 22:24:24 · 1158 阅读 · 0 评论 -
direct path read 研究
SQL> select * from v$mystat where rownum<2; SID STATISTIC# VALUE---------- ---------- ---------- 1141 0 0SQL> select count(*) from P800; COUNT(*)----------...原创 2019-05-22 10:32:58 · 156 阅读 · 0 评论 -
读undo 导致db file sequential read
db file sequential read:SQL> select * from v$mystat where rownum<10; SID STATISTIC# VALUE---------- ---------- ---------- 1141 0 0SQL> delete from test400;...原创 2019-05-22 11:20:35 · 236 阅读 · 0 评论 -
读索引 db file sequential read
--1719SESSION_ID 1141 SQL_ID drpk7cccd9xhm MACHINE WORKGROUP\TLCB-PC BLOCKING_SESSION SAMPLE_TIME 10-4月 -19 07.50.01.154 下午 MODULE PL/SQL Developer PROGRAM plsqldev.exe EVENT db file sequen...原创 2019-05-22 12:33:20 · 176 阅读 · 0 评论 -
回表单块读
explain plan for select * from p800 where owner='SCOTT';select * from table(dbms_xplan.display());PLAN_TABLE_OUTPUTPlan hash value: 983731221 ------------------------------------------------...原创 2019-05-22 12:37:09 · 160 阅读 · 0 评论 -
index range scan 单块读
--1719SESSION_ID 1141 SQL_ID drpk7cccd9xhm MACHINE WORKGROUP\TLCB-PC BLOCKING_SESSION SAMPLE_TIME 10-4月 -19 07.50.01.154 下午 MODULE PL/SQL Developer PROGRAM plsqldev.exe EVENT db file sequen...原创 2019-05-22 15:24:34 · 234 阅读 · 0 评论 -
enq: TX - row lock contention 行锁
10.3.6.2.4 TX enqueue:那些是排他的当一个事务开始它的第一次改变持有知道COMMIT或者ROLLBACK:Waits for TX in mode 6:发生当一个session 是等待一个row level lock 被其他session持有。这个发生在一个yoghurt是更新或者删除一个记录, 另外一个session需要来更新或者删除。这类TX enque原创 2017-05-18 19:33:16 · 492 阅读 · 0 评论 -
enq: HW - contention
select event,p1,p2,p3 from v$session where event like 'enq%'; EVENT P1 P2 P31 enq: HW - contention 1213661190 6 486398102 enq: HW - contention 1213661190 6 48639810通过P3进行DBMS_UTILITY转换可以获知原创 2020-12-01 10:16:15 · 423 阅读 · 0 评论 -
10.3.4 direct path read and direct path read temp
10.3.4 direct path read and direct path read temp当一个会话是从磁盘读buffer 直接到PGA(相对于buffer cache 在SGA), 它在这个事件上如果I/O 子系统不支持异步I/Os, 那么每个等待对应物理读请求。如果 I/O 子系统支持异步I/O, 然后处理是可以 重叠执行度请求和处理blocks 在PGA里。当处理原创 2017-01-06 17:03:29 · 327 阅读 · 0 评论 -
log file parallel write&&log buffer space
This wait event is used when waiting for the writes of redo records to the redo log filesto complete. The waits occur in log writer (LGWR) as part of normal activity of copyingrecords from the redo原创 2014-10-24 15:34:30 · 586 阅读 · 0 评论 -
唯一索引引发的enq: TX - row lock contention
SQL> create table test as select object_id,object_name,owner from dba_objects where 1=2;表已创建。SQL> desc test 名称 是否为空? 类型 ----------------------------------------- -------- ---------------原创 2014-10-18 16:46:13 · 1054 阅读 · 0 评论 -
索引分裂引发的enq: TX - index contention.
当事务修改索引中的数据时,而相关索引块没有足够的空间的时候,就会发生索引块的分割,在分割的过程中前台进程需要等待分割完毕才能继续操作。如果这个时候其他会话也要修改这个索引块的数据,那么将会出现索引块的竞争。(end: TX- index contention).一般索引块的分割持有资源和释放非常短,并不会对数据库造成严重的影响。但是对表操作并发量很大的情况下可能导致严重的竞争。1.创建测原创 2014-10-19 12:26:19 · 5099 阅读 · 0 评论 -
latch:row cache objects
latch:row cache objects当涉及到数据字典(dc)的操作时,就需要首先获得这个latch。例如生成执行计划时候,可能涉及直方图,那么就会涉及到相关dc信息。该latch的相关参数:P1 = Latch address P2 = Latch number P3 = Tries根据p1raw可以定位到是在等待什么类型的dc:SELECT kq原创 2014-10-19 21:46:59 · 2071 阅读 · 0 评论 -
log file sync p1 p2 p3
SQL> select * from v$event_name where name like 'log file sync%'; EVENT# EVENT_ID NAME PARAMETER1 PARAMETER2 PARAMETER3 WAIT_CLASS_ID WAIT_CLASS# WAIT_CLAS原创 2015-01-26 13:14:50 · 630 阅读 · 0 评论