广告
返回顶部
首页 > 资讯 > 数据库 >Oracle Study之--Oracle等待事件(2)
  • 888
分享到

Oracle Study之--Oracle等待事件(2)

2024-04-02 19:04:59 888人浏览 安东尼
摘要

oracle Study之--Oracle等待事件(2)Control file parallel write当数据库中有多个控制文件的拷贝时,Oracle 需要保证信息同步地写到各个控制文件当中,这是一个

oracle Study之--Oracle等待事件(2)

Control file parallel write
当数据库中有多个控制文件的拷贝时,Oracle 需要保证信息同步地写到各个控制文件当中,这是一个并行的物理操作过程,因为称为控制文件并行写,当发生这样的操作时,就会产生control file parallel write等待事件。
控制文件频繁写入的原因很多,比如:
·          日志切换太过频繁,导致控制文件信息相应地需要频繁更新。
·          系统I/O 出现瓶颈,导致所有I/O出现等待。
当系统出现日志切换过于频繁的情形时,可以考虑适当地增大日志文件的大小来降低日志切换频率。
当系统出现大量的control file parallel write 等待事件时,可以通过比如降低控制文件的拷贝数量,将控制文件的拷贝存放在不同的物理磁盘上的方式来缓解I/O 争用。
这个等待事件包含三个参数:
Files: Oracle 要写入的控制文件个数。
Blocks: 写入控制文件的数据块数目。
Requests: 写入控制请求的I/O 次数。


Control file sequential read
当数据库需要读取控制文件上的信息时,会出现这个等待事件,因为控制文件的信息是顺序写的,所以读取的时候也是顺序的,因此称为控制文件顺序读,它经常发生在以下情况:
备份控制文件
RAC 环境下不同实例之间控制文件的信息共享
读取控制文件的文件头信息
读取控制文件其他信息
这个等待事件有三个参数:
File#: 要读取信息的控制文件的文件号。
Block#: 读取控制文件信息的起始数据块号。
Blocks: 需要读取的控制文件数据块数目。

模拟案例:

1、模拟事务处理

16:59:48 SYS@ test1>select username,sid,serial# from v$session where username is not null;
USERNAME                              SID    SERIAL#
------------------------------ ---------- ----------
SCOTT                                   1          7
SYS                                    34          4
TOM                                    41          3

16:59:57 SCOTT@ test1>begin
17:04:05   2   for i in 1..1000000 loop
17:04:05   3   execute immediate 'insert into t1(id) values ('||i||')';
17:04:05   4   end loop;
17:04:05   5   end;
17:04:05   6   /

17:00:00 TOM@ test1> begin
17:04:15   2   for i in 1..1000000 loop
17:04:15   3   execute immediate 'insert into scott.t1(id) values ('||i||')';
17:04:15   4   end loop;
17:04:15   5   end;
17:04:15   6   /

2、查看等待事件:

17:05:40 SYS@ test1>select sid,event,p1,p2,p3,WaiT_TIME from v$session_wait where sid in (1,41);
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- -----
         1 latch: redo allocation                             1993106152        182          0         -1
        41 latch: cache buffers chains                        2011026752        150          0         -1
Elapsed: 00:00:00.01
17:06:11 SYS@ test1>r
  1* select sid,event,p1,p2,p3,WAIT_TIME from v$session_wait where sid in (1,41)
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- -------
         1 log file switch (checkpoint incomplete)                     0          0          0          3
        41 buffer busy waits                                           4       4048          1         94
Elapsed: 00:00:00.01
17:06:16 SYS@ test1>r
  1* select sid,event,p1,p2,p3,WAIT_TIME from v$session_wait where sid in (1,41)
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- -----
         1 log file switch (checkpoint incomplete)                     0          0          0          0
        41 log file switch (checkpoint incomplete)                     0          0          0          0
Elapsed: 00:00:00.02
17:06:18 SYS@ test1>r
  1* select sid,event,p1,p2,p3,WAIT_TIME from v$session_wait where sid in (1,41)
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- ---------- ----------
         1 log buffer space                                            0          0          0          0
        41 log buffer space                                            0          0          0          0
Elapsed: 00:00:00.01
17:06:20 SYS@ test1>r
  1* select sid,event,p1,p2,p3,WAIT_TIME from v$session_wait where sid in (1,41)
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- -----
         1 log file switch (checkpoint incomplete)                     0          0          0        134
        41 log file switch (checkpoint incomplete)                     0          0          0          3
Elapsed: 00:00:00.01
17:06:22 SYS@ test1>r
  1* select sid,event,p1,p2,p3,WAIT_TIME from v$session_wait where sid in (1,41)
       SID EVENT                                                      P1         P2         P3  WAIT_TIME
---------- -------------------------------------------------- ---------- ---------- ---------- ----------
         1 latch: cache buffers chains                        2011026752        150          0         -1
        41 latch: cache buffers chains                        2011026752        150          0         -1
Elapsed: 00:00:00.01

3、查看关于controlfile的事件

17:06:24 SYS@ test1>select EVENT ,TOTAL_WAITS,TIME_WAITED  from v$system_event where event like '%control%';
EVENT                                              TOTAL_WAITS TIME_WAITED
-------------------------------------------------- ----------- -----------
control file sequential read                             51623         326
control file parallel write                               6327        5102
control file heartbeat                                       1         400
Elapsed: 00:00:00.02
17:07:31 SYS@ test1>r
  1* select EVENT ,TOTAL_WAITS,TIME_WAITED  from v$system_event where event like '%control%'
EVENT                                              TOTAL_WAITS TIME_WAITED
-------------------------------------------------- ----------- -----------
control file sequential read                             52314         329
control file parallel write                               6410        5164
control file heartbeat                                       1         400
Elapsed: 00:00:00.03
17:07:41 SYS@ test1>r
  1* select EVENT ,TOTAL_WAITS,TIME_WAITED  from v$system_event where event like '%control%'
EVENT                                              TOTAL_WAITS TIME_WAITED
-------------------------------------------------- ----------- -----------
control file sequential read                             52597         330
control file parallel write                               6433        5177
control file heartbeat                                       1         400
Elapsed: 00:00:00.02

4、查看告警日志:

Beginning log switch checkpoint up to RBA [0x438.2.10], SCN: 1762466
Thread 1 advanced to log sequence 1080 (LGWR switch)
  Current log# 3 seq# 1080 mem# 0: /u01/app/oracle/oradata/redo03a.log
Fri Jul 25 17:10:26 2014
ArcHived Log entry 1065 added for thread 1 sequence 1079 ID 0x4906548b dest 1:
Thread 1 cannot allocate new log, sequence 1081
Checkpoint not complete
  Current log# 3 seq# 1080 mem# 0: /u01/app/oracle/oradata/redo03a.log
Completed checkpoint up to RBA [0x438.2.10], SCN: 1762466
Beginning log switch checkpoint up to RBA [0x439.2.10], SCN: 1762522
Thread 1 advanced to log sequence 1081 (LGWR switch)
  Current log# 4 seq# 1081 mem# 0: /u01/app/oracle/oradata/redo04a.log
Fri Jul 25 17:10:29 2014
Archived Log entry 1066 added for thread 1 sequence 1080 ID 0x4906548b dest 1:
Thread 1 cannot allocate new log, sequence 1082
Checkpoint not complete
  Current log# 4 seq# 1081 mem# 0: /u01/app/oracle/oradata/redo04a.log
Completed checkpoint up to RBA [0x439.2.10], SCN: 1762522
Fri Jul 25 17:10:32 2014
Beginning log switch checkpoint up to RBA [0x43a.2.10], SCN: 1762575
Thread 1 advanced to log sequence 1082 (LGWR switch)
  Current log# 3 seq# 1082 mem# 0: /u01/app/oracle/oradata/redo03a.log
Archived Log entry 1067 added for thread 1 sequence 1081 ID 0x4906548b dest 1:

5、查看日志组信息

17:16:22 SYS@ test1>select group#,sequence#,status,bytes/1024/1024 from v$log;
    GROUP#  SEQUENCE# STATUS           BYTES/1024/1024
---------- ---------- ---------------- ---------------
         3       1082 CURRENT                        4
         4       1081 INACTIVE                       4
Elapsed: 00:00:00.03
日志组size太小,日志组数量较少,日志切换太频繁,导致产生大量的控制文件读和写,调整日志组的size,并增加日志组的个数。
您可能感兴趣的文档:

--结束END--

本文标题: Oracle Study之--Oracle等待事件(2)

本文链接: https://www.lsjlt.com/news/44119.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle Study之--Oracle等待事件(2)
    Oracle Study之--Oracle等待事件(2)Control file parallel write当数据库中有多个控制文件的拷贝时,Oracle 需要保证信息同步地写到各个控制文件当中,这是一个...
    99+
    2022-10-18
  • Oracle Study之--Oracle等待事件(5)
    Oracle Study之--Oracle等待事件(5) Db file single write这个等待事件通常只发生在一种情况下,就是Oracle 更新数据文件头信息时(比如发生Checkpo...
    99+
    2022-10-18
  • Oracle Study之--Oracle等待事件(3)
    Oracle Study之--Oracle等待事件(3)Db file parallel read这是一个很容易引起误导的等待事件,实际上这个等待事件和并行操作(比如并行查询,并行DML)没有关系。 这个事...
    99+
    2022-10-18
  • Oracle Study之--Oracle等待事件(4)
    Oracle Study之--Oracle等待事件(4) Db file scattered read这个等待事件在实际生产库中经常可以看到,这是一个用户操作引起的等待事件,当用户发出每次I/O需...
    99+
    2022-10-18
  • Oracle Study之--Oracle等待事件(7)
    Oracle Study之--Oracle等待事件(7) Free buffer waits    当一个会话将数据块从磁盘读到内存中时,它需要到内存中找到空闲的内存空间来存放...
    99+
    2022-10-18
  • Oracle Study之-- enq:SQ contention等待事件
    Oracle Study之-- enq:SQ contention等待事件通过AWR Report发现“enq:SQ contention”等待事件:应用环境:转自:http://www.xuebuyuan...
    99+
    2022-10-18
  • Oracle Study之--resmgr:cpu quantum等待事件
    Oracle Study之--resmgr:cpu quantum等待事件在AWR Report中出现“resmgr:cpu quantum”等待事件:“resmgr:cpu quantum”等待事件:参考...
    99+
    2022-10-18
  • Oracle Study中Oracle等待事件怎么用
    这篇文章主要为大家展示了“Oracle Study中Oracle等待事件怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle Study中Oracl...
    99+
    2022-10-19
  • oracle等待事件之enq: CF – contentio
    Enqueue 是一种保护共享资源的锁定机制,避免因并发操作而损坏数据,Enqueue 采用排队机制,即 FIFO(先进先出)来控制资源的使用。在任何需要读取控制文件的动作时,就会发生等待事件enq: CF...
    99+
    2022-10-18
  • Oracle 等待事件之 free buffer waits
    free buffer waits官网解释:    This wait event indicates that a server process was unabl...
    99+
    2022-10-18
  • Oracle 等待事件之 buffer busy waits
    buffer busy waits (热块儿争用)官网解释:    This wait indicates that there are some buffers i...
    99+
    2022-10-18
  • Oracle等待事件之enq: TM – contention
    执行DML 期间,为防止对与DML 相关的对象进行修改,执行DML 的进程必须对该表获得TM 锁。 P1 = name|mode P2 = object # P3 = table/partition ...
    99+
    2022-10-18
  • oracle等待事件之free buffer waits
    1.什么时候会发生free buffer waits呢?     简单来说,当需要在buffer cache中寻找可用块但是找不到时,就会发生这个等待。找寻可用块的理由包括...
    99+
    2022-10-18
  • Oracle 等待事件之 db file sequential read
    db file sequential read:官网解释:This event signifies that the user process is reading a buffer into the SG...
    99+
    2022-10-18
  • Oracle 等待事件之 db file parallel read
    db file parallel read官网解释:    This happens during recovery. It can also happen duri...
    99+
    2022-10-18
  • Oracle 等待事件之 db file scattered read
    db file scattered read官网解释:This event signifies that the user process is reading buffers into the SGA ...
    99+
    2022-10-18
  • Oracle Study之-Oracle 11g OCM考试(2)
    Oracle Study之-Oracle 11g OCM考试(2)11g OCM考试 纲:Server Configuration1  Create the database2  Det...
    99+
    2022-10-18
  • Oracle local write wait等待事件
    Note 1:         TypicallyDBWR has to free up some buffers when ...
    99+
    2022-10-18
  • oracle之 等待事件LOG FILE SYNC (awr)优化
    log file sycn是ORACLE里最普遍的等待事件之一,一般log file sycn的等待时间都非常短 1-5ms,不会有什么问题,但是一旦出问题,往往都比较难解决。什么时候会产生log fi...
    99+
    2022-10-18
  • Oracle Study之-AIX6.1构建Oracle 11gR2 RAC(2)
    Oracle Study之-AIX6.1构建Oracle 11gR2 RAC(2)一、修改系统内核参数[root@aix209 app]#chdev -l sys0 -a ncargs=256sys0 ch...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作