当前位置:首页 > 日记 > 正文

Oracle常见等待事件及处理方法

Oracle常见等待事件及处理方法
读取记录db文件散读db,db文件顺序读取db,自由缓冲区。
我们可以查看当前的等待事件的系统和相关的信息,相应的资源等待事件通过视图V session_wait美元,所以我们可以识别生产瓶颈的对象的类型。五session_wait美元的P1,P2和P3告诉我们等待事件的具体含义。根据不同的事件,它们的内容是不同的。下面是一些常见的处理等待事件的方法,以及如何定位热对象和阻塞会话。
db文件分散读取db文件读取(太多索引读取,全表扫描-调整代码,把小表放在内存中)
这通常表明等待全表扫描。当全表扫描仅限于记忆,他们很少进入连续的缓冲区,但分散在整个缓冲区的内存。如果数量大,说明表中找不到索引,或只有有限的指标可以发现,虽然在进行全扫描一定的条件下可能比索引扫描更有效,最好是看看是否有这样的等待这些全表扫描是必要的。因为全表扫描放在冷端(冷端)LRU(最近最少使用,最近至少适用)列表,需要存储更小的表尽可能地避免重复了一遍又一遍。
==================================================
的p1text =事件的类文件#,P1是file_id,P2是block_id,和热的对象(表、索引)可以通过dba_extents。
选择的主人,segment_name,segment_type
从dba_extents
Where file_id = file_id
和block_id block_id和block_id +块- 1之间;
==================================================
db文件顺序读取db文件顺序读取(不良的表连接顺序-调整码,特别是表连接)
此事件通常显示一个单独的块的阅读(如索引读取)。当数等是大的,它可以显示表的连接顺序不好,或指数不选择的选择。这些价值是大量的事务处理和调节系统正常,但在某些情况下,这可能意味着系统中的问题,你应该把这个等待统计在statspack报告已知的问题,如低效率的SQL。检查索引扫描来确保每个扫描是必要的,检查的多个表的连接顺序connections.db_cache_size也是这些等待频率的决定因素。哈希区域问题(哈希区)连接寿LD出现在PGA存储器中,但它们也会消耗大量内存,导致在顺序读取时大量等待,它们也可能以直接路径读/写等待的形式出现。
===================================================
的p1text =事件的类文件#,P1是file_id,P2是block_id,和热的对象(表、索引)可以通过dba_extents。
选择的主人,segment_name,segment_type
从dba_extents
在file_id = file_id
和block_id block_id和block_id +块- 1之间;
==================================================
空闲缓冲区等待释放缓冲区等(增加db_cache_size,检查点的速度,调整代码)
这种等待是指系统内存中的缓冲区等待因为在内存中没有可用的缓冲区空间。如果所有的SQL调整等,这可能表明你需要增加缓冲等db_buffer_cache.the释放也可能表明SQL是不能选择的,其结果与索引块缓冲存储数据溢出,没有缓冲区的特定语句等待系统处理。这种情况通常表明大量DML被执行(插入/更新/删除),和空间不够快写。缓冲存储器可能充满了相同的缓冲区的多个版本,导致工作效率低。为了解决这个问题,你可能需要考虑增加关卡,使用更多的空间过程,或增加物理磁盘的数量。
忙等待缓冲区忙等待缓冲区(缓冲区热块)
这是等待,是不是在一个共享的方式缓冲区或缓冲区是被读入内存缓冲区,缓冲区忙缓冲区不应大于1%。检查缓冲等待统计部分(或V waitstat美元):
一、如果你等待一场头,你应该增加自由列表数(free)或增加PCTUSED和PCTFREE的之间的距离。
B,如果您等待一个背景(撤消)头块,您可以通过添加回滚段(回滚段)来解决缓冲区问题。
C,如果等待一个背景(撤消)非头座,有必要减少司机的一致读表的数据密度,或增加db_cache_size。
D,如果等待数据块,它可以将数据移动到另一个块以避免热数据块,增加表或使用LMT表空间空闲列表。
e,如果您等待索引块,则应重建索引、拆分索引或使用反向索引索引。
为了防止缓冲区忙等待数据块,更小的块,也可以用:在这种情况下,有一块不记录,所以块不会这么忙了。DML执行时(插入/更新/删除),Oracle数据库将信息写入的块,包括那些块状态感兴趣的所有用户(感兴趣的事务表,ITL),等待这方面的减少,可以增加initrans在块,你可以使用多个ITL槽创造空间。您还可以增加的块表PCTFREE(当槽数按指定initrans建立是不够的,它可以使ITL信息数量达到maxtrans指定号码。
入队
入队是一种锁定机制来保护共享资源。锁定机制保护共享资源,如在记录数据,避免两人同时更新相同的数据。Enqueue包括一个排队机制,FIFO(先进先出)队列机制。注:Oracle的锁机制是不能先进先出。排队等候是通常被称为圣入队,HW入队,TX4入队,和TM入队。
一、ST队列用于在空间管理、字典管理表空间的分配。使用LMT,或尝试predistribute的地区,或至少使下面积大于表空间由一个有问题的字典管理。
B、硬件队列使用的段的高水位标记;手动分布区可以避免这种等待。
C,TX4入队是最常见的排队等候,通常是以下三个问题的结果:
第一个问题是在唯一索引重复的指标,这就要求提交/回滚执行(回滚)操作来释放入队。
第二个问题是一个多更新蜡像领先。因为一个位图段可能包含多个行地址(rowid),当多个用户试图更新同一段,你需要执行提交或回滚操作释放锁。
第三个问题,而最有可能的问题,是多个用户更新同一块在同一时间。如果没有免费的ITL槽,块级锁定会发生。这可以很容易地避免增加INITRANS和/或maxtrans允许多个ITL槽或桌上增加PCTFREE价值。
D、TM入队期间生成DDL DML避免使用受影响的对象。如果有外国的关键词,他们必须被编入索引,避免这一常见的锁定问题。
日志缓冲区空间日志缓冲区空间(写重做缓慢增加log_buffer,重做日志文件对快盘)
当日志缓冲区(日志缓冲区)写入重做日志(redo log)比LGWR较慢,或当日志(日志转换开关)太慢,等待会发生。为了解决这个问题,你可以增加日志文件的大小,或增加日志缓冲区的大小,或使用磁盘写入速度更快。你甚至可以考虑使用固态磁盘,因为他们很快。
日志文件开关日志文件转换(慢文件-添加或扩展重做日志)
有两个案例:
日志文件开关(需要归档)
使用日志开关时,由于日志组循环使用了一个圆圈,但日志归档尚未完成。通常我有严重的问题,它可以增加日志文件,增加日志组和调整log_archive_max_processes。
b,日志文件开关(检查点不完整)
当日志切换时,由于日志组使用的循环,但日志组中使用的检查点尚未完成,IO通常存在严重的问题,可以增加日志文件并增加日志组。
日志文件同步日志文件同步(提交太频繁——批提交)
当用户提交通知LGWR写日志但lwgr忙,可能导致犯罪或LGWR很久写日志太多(可能是由于一个日志IO规模太大,可调_log_io_size)结合log_buffer(_log_io_size * db_block_size),* N = log_buffer,可避免引起冲突的log_buffer增加;放置在高速磁盘上的日志文件
库缓存销
事件通常发生在会话中运行的PL / SQL,前文的观点,类,对象,和其他行政会议重新编译对象,第一个对象添加一个共享锁,然后给它一个互斥锁,所以在互斥锁的会话将出现在waiting.p1,P2是X kglpn美元和美元相关kglob表X
X kglob美元(内核通用库缓存管理器对象)
X kglpn美元(内核通用库缓存管理器对象的针)
查询X kglob美元并找到相关对象的SQL语句如下
(即,在V session_wait美元p1raw与X kglob美元kglhdadr相关)
选择kglnaown,从X kglob美元kglnaobj
在kglhdadr =(选择V session_wait美元p1raw)
在事件= 'library缓存销)
-找出导致等待事件被阻止的SID。
Select Sid从X kglpn美元,V $ SESSION
kglpnhdl在哪里
(选择p1raw V session_wait美元
在wait_time = 0和事件like'library缓存销%)
和kglpnmod <> 0
和V $ SESSION saddr= = x kglpn.kglpnuse美元。
检查SQL语句的执行blocer
选择SID,sql_text
从V $ SESSION,V sqlarea美元
其中V $ SESSION sql_address = V sqlarea.address美元。
SID =,
通过这种方式,您可以找到库缓存针的根等待,从而解决由此产生的性能问题。
库缓存锁
此事件通常是通过执行多个DDL操作引起的,这是增加库缓存对象的独占锁,从另一个会话锁添加的,所以等待是第二届产生相应的对象可以被发现在基表中的X kgllk美元。
-查询SID、会话用户、导致等待事件被阻塞的锁定对象
选择B.sid,a.user_name,a.kglnaobj
从X kgllk美元,V $ SESSION B
a.kgllkhdl在哪里
(选择p1raw V session_wait美元
在wait_time = 0和事件= 'library缓存锁)
和a.kgllkmod <> 0
和b.saddr = a.kgllkuse
当然,它也可以直接从V locked_objects美元看,但是没有上面的说法,Sid可以在V $过程和PID或杀或其他处理直接检测。
无闩锁(等待无闩锁)
锁存器是一种低级的排队机制(这正是被称为互斥机制)在全球范围的共享内存结构保护(SGA)的系统。锁就像一个记忆是快速获取和释放锁。锁是用来防止共享内存结构被多个用户同时访问如果锁不可用,闩锁释放失败记录。大部分的锁存器是下列有关:不能使用状态变量(库缓存锁),重复生成(重复锁分布),缓冲存储器(LRU缓存链竞争),并在热块缓冲存储器(缓冲链)。也有一些闩锁等待的bug(程序错误),如果是这样的话,你可以在出现错误报告。
这一事件的热门对象可以通过以下语句中发现,其中2的价值是在V和X p1raw session_wait美元,美元是hladdr BH的领域,其中缓存缓冲链锁上块缓冲区可以通过V $ latch_children定位。
===================================================
选择a.hladdr,a.file #,a.dbablk,a.tch,a.obj,b.object_name
从X美元的BH,dba_objects B
在(a.obj = b.object_id或a.obj = b.data_object_id)
和a.hladdr = 2
联盟
选择hladdr,文件#,dbablk,TCH,obj,空
从x $ BH
其中obj中
(选择对象从X $ BH
在hladdr = 2

选择object_id从dba_objects

选择data_object_id从dba_objects)
和hladdr = 2
订单4;
====================================================
***闩锁问题及可能的解决办法
这个
*库高速缓存和共享池(未绑定的变量——绑定变量,调整shared_pool_size)
当执行SQL或SQL SQL存储过程、包、函数和触发器时,也经常使用这个锁操作,它在解析操作中使用。
*重做复制(增加_log_simultaneous_copies参数)
重做复制锁用来将从PGA复制到重做日志缓冲区。
*重做分配(尽量减少重做生成,避免不必要的提交)
这锁是用来在重做日志缓冲区分配空间,可以用来减缓竞争nologging。
*行缓存对象(增加共享池)
数据字典竞争。在解析。
*缓存缓冲链(_db_block_hash_buckets应扩大或设置为一个素数)
过热数据块导致内存缓冲链锁竞争。
* Lru Chain(调整SQL缓存大小,设置db_block_lru_latches,或使用多个缓冲池)
扫描所有的内存块的LRU(最近最少使用)用于LRU链锁缓冲存储器。太小的内存缓冲区,缓冲区的内存吞吐量,过度的内存排序操作空间大,跟不上工作负荷的步伐将导致锁链竞争。
db文件并行写入
等待的过程通常是空间过程相关的问题我 / O的能力。它通常涉及到多个DBWR进程配置或dbwu的我/ O的奴隶数。当然,这也意味着设备上有I/O竞争。
db文件单写
检查点发生时等待文件标题写入操作。当数据文件头与检查点同步时,它通常与文件号的混乱有关。
直接路径读取和直接路径写入
与直接I/O读相关的等待。当直接读取数据到PGA内存时,直接路径读取。这种类型的读请求通常是IO(用于排序:排序不能在内存中完成)、并行从查询或预读请求。通常这种等待和I/O或I/O是关于竞争的。
空闲缓冲区检查
这意味着当数据被读入到数据调整缓存中时,进程正等待进程找到足够大的内部空间,通常这种等待表明数据调整缓存是小的。
库缓存加载锁
它表示在将对象加载到库缓存时存在等待。这一事件通常代表重度荷尔蒙超载或负荷。这可能是因为SQL语句没有共享,或者共享池的池面积很小。
日志文件并行写入
这意味着等待时要求我/ O从操作系统直到完成IO ..之前可能触发LGWR写发生,如3秒,1 / 3,1MB,DBWR。此事件通常发生在日志文件具有I/O竞争或文件驱动程序较慢的情况下。
日志文件单写
等待日志文件头指示它发生在检查点发生时。
交易
指示等待阻塞回滚操作的等待。
撤销段延伸
它表示等待回滚段的动态扩展。这意味着交易量可能太大。这也意味着,沉睡的截面尺寸可能不是最优的,和minextents设置太小。考虑减少事务或使用最小区域较大回滚段。

相关文章

php学习输出字符串(回声,打印,输出,pri

php学习输出字符串(回声,打印,输出,pri

输出,回声,字符串,学习,电脑软件,下面逐一介绍。 1。回声 回声是PHP的关键字,它没有返回值: 复制代码代码如下所示: echo'test字符串; Echo ('Test String'); 2。打印 打印也是PHP的关键字,它有返回值,通常返回true,返回false不应该: 复制代码…

思想和代码实现字符串的索引和Orac

思想和代码实现字符串的索引和Orac

代码实现,字符串,索引,函数,思想,当仪器的第三个参数是1,对功能的实现。 当仪器的第三个参数是1,它实现了字符串的函数。 例如: 仪器(李雯金昊'wenjin_ _ _ DSF,'_ ',1, 1) 返回结果是:12。 仪器(李雯金昊'wenjin_ _ _ DSF,'_ ',1, 1) 返…

使用setlang.exe-赛特兰是什么

使用setlang.exe-赛特兰是什么

赛特,电脑软件,setlang,exe,点评:setlang.exe是微软微软Office家庭相关的产品方案配置语言和文档的地理 进程文件:赛特兰或setlang.exe 进程名称:微软Office语言配置实用程序 过程类别:安全风险的过程 英文描述: setlang.exe是一个过程,属于产…

PHP八基本数据类型摘要

PHP八基本数据类型摘要

基本数据类型,摘要,电脑软件,PHP,四种标量类型: 布尔(布尔) 整数(整数) 浮点(也称为double) 字符串(字符串) 两类化合物: 数组(数组) 对象(对象) 最后,有两种特殊类型: 资源(资源) NULL(空) 为了确保代码的可读性,手册还介绍了一些伪类型: 混合的 数 回调 和…

该方法解决IE10Win8无账号密码

该方法解决IE10Win8无账号密码

账号,密码,方法,电脑软件,点评:IE10不记得帐号密码。这很烦人。每次都应该重复。有一个很好的办法来解决这个问题。以下是如何实现它。 首先,打开IE选择工具打开Internet选项,浏览历史记录是否选中常规选项卡上的删除浏览历史记录,点击退出;设置…

坦克大战3D新手解决方案

坦克大战3D新手解决方案

解决方案,坦克大战,3D,新手,电脑软件,如何在战斗中使用无与伦比的技能 在战斗中,当坦克愤怒值达到100时,你可以点击K键或数字1按钮来打开无与伦比的技能。 如何获得愤怒的价值 在战斗中击中敌人坦克或被敌人坦克击中会增加愤怒的价值。 …

通过修改注册表键值Win8打开隐藏功

通过修改注册表键值Win8打开隐藏功

键值,修改注册表,功能,电脑软件,点评:由于发展原因,一些功能已经被隐藏。例如,原来的PDF阅读器、色带UI界面和照相机应用程序实际上可以实现。以下是朋友的特殊需求。 Windows 8测试版看起来更像是Windows 7没有,由于某些函数的开发已经被隐藏,…

WindowsXP安装问题的选择

WindowsXP安装问题的选择

选择,安装问题,电脑软件,WindowsXP,文章/欢乐 不管你是喜欢还是讨厌它,微软最新一代操作系统,Windows XP已经发布的大男孩的笑容的比尔盖茨。无论是好是坏,或时间的见证,但在XP的诱惑面前,越来越多的朋友,想尝尝鲜。因为Windows XP是更严格的硬件…

无法浏览Web故障的原因

无法浏览Web故障的原因

故障,原因,无法浏览,电脑软件,Web,我相信你遇到过IE不能上网等问题,下面简单介绍一下常见的原因和解决方法。 windows7安装 音频驱动程序 首先,网络设置问题 CPU的维护 这更可能发生在需要手动指定IP、网关、DNS服务器网络以及使用代理服务…

的作用的ois.exeOIS的流程是怎样的

的作用的ois.exeOIS的流程是怎样的

作用,是怎样,流程,电脑软件,exeOIS,点评:ois.exe是微软办公套件的相关程序,涉及微软微软Office Picture Manager,一个组织的个人照片的程序 进程文件:OIS或ois.exe 过程名称:微软Office图片管理器 过程类别:安全风险的过程 英文描述: ois.exe是…

什么comet.exe过程意味着有一个彗

什么comet.exe过程意味着有一个彗

彗星,过程,信息查询,有一个,电脑软件,点评:comet.exe是彗星系统软件部分使用鼠标功能的定制。 进程文件:彗星或comet.exe 进程名称:cc2kui 过程类别:安全风险的过程 英文描述: comet.exe是彗星系统软件部分。它允许你 中文参考: comet.exe是彗…

玩游戏。飞碟内部敌人总是自动退出

玩游戏。飞碟内部敌人总是自动退出

飞碟,解决方案,退出,玩游戏,敌人,问题: 我听到一个不明飞行物。游戏内的敌人玩得很开心,经验是安装在电脑上的,发现进入游戏后,游戏总是自动退出,而且画面也不是很稳定。看游戏的硬件要求,我的配置不低于所需的配置。有什么问题吗 答案uff1a 《…