【MOS】RAC 环境中最常见的 5 个数据库和或实例性能问题 (Doc ID 1602076.1)

0    118    1

Tags:

👉 本文共约11293个字,系统预计阅读时间或需43分钟。

RAC 环境中最常见的 5 个数据库和/或实例性能问题 (Doc ID 1602076.1)

Top 5 Database and/or Instance Performance Issues in RAC Environment (Doc ID 1373500.1)

用途

本文旨在提供关于 RAC 环境中最常见的数据库和/或实例性能问题的摘要以及可能的解决方案

请注意,问题 3(Mutexes 上的大量等待)和问题 5(高 CPU 和内存开销)是一般性数据库问题,并非特定于 RAC 的问题。不过,本文中讨论这些问题是因为这些是最常见的问题之一,会在 RAC 环境中的某一个实例发生。

适用范围

DBAs

详细信息

问题 1:大量块丢失 (gc lost blocks, gc current/cr lost blocks)

症状

I. AWR 报告中显示有大量块丢失。

II. netstat -s 报告数据包重新组装故障(reassambly failure)和丢失数据包(dropped packets)增加。

解决方案

使用以下文档进行故障排除并解决丢失块问题。该文档描述了症状、可能原因以及解决方案。

Document 563566.1 - gc block lost diagnostics

问题 2:大量 log file sync 等待

症状

I. AWR 报告中显示 log file sync 始终位于 Top 5 等待事件列表中。

II. 平均 log file sync 时间很长(> 20 毫秒)。

III. 平均 log file parallel write 时间很长(> 10 毫秒)。

III. 平均 redo write broadcast ack time 或者 wait for scn ack 时间很长(> 10 毫秒)。

IV. 平均 log file sync 时间很短,但 log file sync 等待次数太多。

背景

用户会话在提交或回退时,会话的重做信息需要由 LGWR 刷新到重做日志文件。用户会话等待“log file sync”的同时,等待 LGWR 通知确认所有重做更改已安全存放在磁盘上。

示例:

WAIT #0: nam='log file sync' ela= 977744 buffer#=754 p2=0 p3=0 obj#=114927 tim=1212384670107387

参数:

P1 = buffer#
P2 = 未使用
P3 = 未使用
obj# = object_id

对这个 buffer(在重做日志缓冲区)的所有更改必须刷新到磁盘并确认写入,以确保事务处理已提交,并且在实例关闭之前一直保持为已提交状态。

“log file sync”等待的典型生命周期

  1. 用户会话发布提交或回退操作,然后开始等待 log file sync。
  2. LGWR 收集要写入重做日志文件的重做信息,发布 IO 并将 BOC 入队到 LMS 进程,然后通知 LMS 进程。
  3. LGWR 等待将重做信息刷新到磁盘以及等待 SCN 被确认收到
  4. 完成 IO 并从 LMS 收到 SCN 的确认信息,表示写入完成。LGWR 然后通知前台进程继续。
  5. 前台进程被唤醒,并且 log file sync 等待结束。

与 log file sync 相关的重要统计信息和事件

redo write time - 从重做日志缓冲区向当前重做日志文件写入所用的总时间,以10毫秒为单位。
redo writes - LGWR 向重做日志文件写入的总次数。“写入重做块数”除以此 统计信息等于每次写入的块数。
log file parallel write - 完成 I/O 的用时。虽然重做记录是并行写入的,但在最后一个 I/O 写入到磁盘上之前,并行写入不会完成。
redo write broadcast ack time - 在提交时,除了日志写入等待时间之外,与广播相关的总等待时间长度,以毫秒为单位。
user commits - 用户提交的数量。在用户提交事务时,必须将所生成的、反映对数据库块更改的重做写入到磁盘。提交操作通常代表的是最接近用户事务率的内容。
user rollbacks - 用户手动发布 ROLLBACK 语句的次数或者用户事务处理出误的次数。
Document 1064487.1 - Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) 中提供的脚本可以用于搜集诊断log file sync问题的有用信息。

可能原因

I. 重做日志文件所在设备的 IO 服务时间和吞吐量不理想。

II. Oracle Bug。有关已知 Oracle Bug,请查看 WAITEVENT: "log file sync" Reference (Document 34592.1)。

III. LMS 未在 RT(实时)类中运行。

IV. LGWR 进程调度延迟。

V. 提交数太多。

VI. 操作系统资源紧张。

解决方案

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!
【MOS】RAC 环境中最常见的 5 个数据库和或实例性能问题 (Doc ID 1602076.1)后续精彩内容已被小麦苗无情隐藏,请输入验证码解锁本站所有文章!
验证码:
请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“DB宝”或者“www_xmmup_com”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

嘿,我是小麦,需要帮助随时找我哦。
  • 18509239930
  • 个人微信

  • DB宝
  • 个人邮箱
  • 点击加入QQ群
  • 个人微店

  • 回到顶部