- 博客(26)
- 资源 (10)
- 收藏
- 关注
原创 事务上的等待事件 —— enq: UL - contention
SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name like '%enq: UL%';NAME PARAMETER1 PARAMETER2 PARAMETER3------------------------------ -----------
2012-09-29 14:53:13 3969
原创 事务上的等待事件 —— enq: TX - contention
TX锁是保护事务的,事务结束时便会释放。因此,为获得TX锁为等待的会话,要等到拥有锁的会话的事务结束为止。SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name like '%enq: TX%';NAME PARAMETER1 PARAMETER2
2012-09-29 14:28:42 4699
原创 事务上的等待事件 —— enq: TM - contention
执行DML期间,为防止对与DML相关的对象进行修改,执行DML的进程必须对该表获得TM锁。若在获得TM锁的过程中发生争用,则等待enq: HW - contention 事件。SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name like 'enq: TM - contention';
2012-09-29 11:15:37 8102
原创 dictionary cache —— row cache lock/enq: SQ - contention/DFS lock handle
row cache lockoracle将数据字典信息存于SGA内的行高速缓冲区(或dictionary cache)。行高速缓冲区位于共享池区域,可通过如下命令进行确认。SQL> select * from v$sgastat where name = 'row cache';POOL NAME BYTES------------ ----------
2012-09-28 10:26:31 1555
原创 library cache —— library cache pin、library cache lock
关于library cache pin和library cache lock的定义如下:(1)library cache lock:访问或修改库高速缓冲区的对象时,对库高速缓冲区句柄获得锁。在获得library cache lock的过程中,如果发生争用,则等待library cache lock事件。SQL> select name,parameter1,parameter2,param
2012-09-25 17:25:07 849
原创 library cache —— latch: library cache
为了寻找空闲chunk,通过shared pool锁存器,实现保护扫描空闲列和分配适当chunk;为了执行sql,通过library cache锁存器,保护检索并管理高速缓冲区的所有工作。在获得library cache锁存器过程中,若发生争用,则等待latch: library cache事件。library cache锁存器争用主要在如下情况下发生: 1、Hard Parsing或
2012-09-25 14:38:30 4131
原创 library cache —— latch: shared pool
shared pool锁存器起到保护堆(共享池的基本内存结构)的作用。为了查找free chunk,检索空闲列,分配适当的chunk,必要时分隔空闲chunk的一连串工作,全都只能在获得shared pool锁存器后才能发生。在获得shared pool锁存器过程中发生争用,则等待latch: shared pool事件。SQL> select name,parameter1,paramete
2012-09-24 14:49:45 2696
原创 共享池( shared pool)
1、共享次(shared pool)共享池是组成SGA的重要结构中的一个。可以通过以下命令确认SGA结构。SQL> show sga;Total System Global Area 9620525056 bytesFixed Size 2215704 bytes --固定区域Variable Size 8522825960 bytes --可变区
2012-09-20 14:58:03 3451
原创 移动 表、表分区、LOB字段、索引、分区索引 到另一表空间!
移动 表、表分区、LOB字段、索引、分区索引 到另一表空间alter table 命令移动 table, partition, lob字段alter index 命令移动 索引, 分区索引移动表π移动表(非分区表): alter table move tablespace ;移动分区表,即单独移动每个分区: alter table
2012-09-19 15:34:37 1546
原创 buffer cache —— enq: CI - contention
oracle对特定表执行truncate之前,应对位于高速缓冲区上的表数据的脏缓冲区执行检查点工作。因为即时在执行truncate过程中发生故障,也需要能恢复数据。执行truncate的服务器进程,需要等待truncate工作结束,通常是通过enq: CI - contention等待现在观察的。SQL> select name,parameter1,parameter2,parameter3
2012-09-17 17:12:23 1962
原创 buffer cache —— enq: TC - contention
在手动执行检查点操作中,一部分需要获得TC锁(tablespace checkpoint lock)。在获得TC锁过程中,若发生争用,则需要等待enq: TC - contention事件。enq: TC - contention等待即便在没有多个进程引起争用的情况下,也可以发生,这一点上与其他锁争用引起的等待现象不同。需要理解的是在等待现象中,存在只有争用才能引发的等待现象,但也存在不发生争
2012-09-17 15:45:08 1849
原创 buffer cache —— free buffer waits
服务器进程将块载入到内存的过程如下:(1)在用户所请求的DBA上应用HASG函数,获得适当的Hash bucket。(2)检索伴随Hash bucket的Hash Chain,确认块所对应的缓冲区头是否存在。若缓冲区头已经存在,相应块已经位于高速缓冲区的状态,则使用该快。(3)若高速缓冲区上不存在,首先在LRU列按最少使用的顺序寻找空闲缓冲区。在次过程中发现脏缓冲区,则将脏缓冲区移动到
2012-09-14 16:04:59 1935
原创 buffer cache —— write complete waits
write complete waits等待与buffer busy waits等待相同,可以通过Buffer Lock争用引起的等待进行分类。DBWR将脏缓冲区记录到磁盘上的期间,对缓冲区以Exclusive模式占有Buffer Lock。这时,读取或修改缓冲区的其他进程需要等待此项工作结束,这是等待write complete waits事件。SQL> select name,parame
2012-09-14 15:44:05 2344
原创 buffer cache —— buffer busy waits/read by other session
oracle提供非常精确、有效的row level lock机制,多个用户同时修改数据时,为了保护数据,以块为单位挂起锁的情况不会发生。但这不太正确。以块为单位的锁虽然不存在,但正因为oracle I/O以块为单位组成,所以块单位锁是必要的。假设row1、row2两个行位于同一个块内,两名用户(用户1、用户2)各自对row1、row2执行update,逻辑上两个被更新行之间不存在需要相互保护的数据
2012-09-12 16:32:28 1578
原创 buffer cache —— latch: cache buffers lru chain
想查看或修改working set(LRU+LRUW)的进程,始终要持有管理相应工作组的cache buffers lru chain锁存器。若在此过程中发生争用,则等待latch: cache buffers lru chain事件。SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name l
2012-09-12 14:14:32 1398
原创 buffer cache —— latch: cache buffers chains
为了使用高速缓冲区,要查询或修改hash chain的进程必须获取管理相应chain的cache buffers chains锁存器。在获取cache buffers chains锁存器过程中如果发生争用,则等待latch: cache buffers chains事件。从oracle 9i起,以只读为目的的查询chain时,可以将cache buffers chains锁存器以Shared模式共
2012-09-11 17:43:47 2800
原创 高速缓存区(buffer cache)
1、高速缓存区结构oracle为了将物理I/O最小化,把最近使用过的块数据保管在内存的一定区域。这部分内存区域就是高速缓存区。高速缓存区与共享池、重做缓存区成为SGA的最重要的内存区域。利用下面的命令可了解当前实例的高速缓存区大小。SQL> show sgaTotal System Global Area 9620525056 bytesFixed Size 2215
2012-09-10 18:07:42 3472
原创 网络上的等待事件。
与网络相关的等待事件有如下几种。SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name like '%SQL*Net%' order by name; EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER
2012-09-07 17:08:57 1235
原创 log buffer —— log file switch completion
SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name like '%log file switch%'; EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3---------- ------------
2012-09-07 16:22:39 3875
转载 Memory Notification: Library Cache Object loaded into SGA问题
问题:alert_SID.log出现Memory Notification: Library Cache Object loaded into SGAHeap size 2289K exceeds notification threshold (2048K)Oracle10g中,在load较大的对象进library cache中时,会记录以上警告。在版本10.2.0.1中,这个定义大对
2012-09-07 15:12:42 2052
原创 log buffer —— log file parallel write
log file parallel write事件是只在LGWR进程上发生的等待事件。LGWR为了将重做缓冲区的内容记录到重做日志文件里,在执行必要的I/O调用后,在等待I/O工作结束期间等待log file parallel write事件。SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name w
2012-09-06 15:47:05 968
原创 log buffer —— log file sync
如果服务器进程执行提交或回滚,LGWR就将重做缓冲区上最近写入的时刻到最近提交时刻为止的重做记录,写入到日志文件上,这就是“sync write”,它可以通过redo synch writes统计值查询。服务器进程在下达提交命令后,一直等待知道LGWR成功写入为止,这事等待log file sync事件。SQL> select event#,name,parameter1,parameter2
2012-09-06 15:07:24 856
原创 log buffer —— latch: redo writing,latch: redo allocation,latch: redo copy
SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name like '%latch: redo%'; EVENT# NAME PARAMETER1 PARAMETER2 PARAMETER3------
2012-09-06 10:39:06 1837
原创 I/O上的等待事件 —— control file parallel write
请求控制文件的更新的进程直到更新结束为止,其间等待control file parallel write事件。SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'control file parallel write'; EVENT# NAME
2012-09-05 14:42:28 4850
原创 I/O上的等待事件 —— db file parallel write
经过高速缓冲区的所有数据是通过DBWR写入到磁盘上的。DBWR请求写入脏块的I/O后,在此工作结束期间等待db file parallel write事件。SQL> select event#,name,parameter1,parameter2,parameter3 from v$event_name where name = 'db file parallel write';
2012-09-05 14:00:01 6193
原创 I/O上的等待事件 —— direct path read temp、direct path write temp
为了排序工作在临时区域读写时,等待direct path read temp、direct path write temp事件。这个等待事件收从oracle 10g起被分类的,oracle 9i为止是通过direct path read、direct path write等待观察的。排序段上的 direct path I/O是在需要排序的数据比排序所分配的PGA内存区大时发生的。因此在排序工作时若
2012-09-04 11:08:11 12524
oracle高级sql学习
2011-02-13
推荐个hadoop方面的考试认证机构
2022-10-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人