自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(343)
  • 资源 (6)
  • 收藏
  • 关注

原创 ORA-01152 故障排查:当数据文件“穿越”到了未来

ORA-01152 并不意味着数据库没救了。它只是表示你的元数据(控制文件)滞后于你的物理数据。通过优先验证物理文件头,你可以安全地重建控制文件,让数据库重新上线。号主在certview.oracle.com网站上的证书清单截图。Oracle ACE(Oracle和MySQL数据库方向)华为云最有价值专家《MySQL 8.0运维与优化》的作者拥有数十项数据库认证曾任IBM公司数据库部门经理20+年DBA经验,服务2万+客户精通C和Java,发明两项计算机专利。

2025-12-09 15:14:02 967

原创 脚本:使用AWR快照原始数据评估存储性能

然而,在许多企业环境中,DBA往往没有操作系统层面的访问权限,无法使用iostat或sar等工具。幸运的是,Oracle的AWR快照原始数据中保存了历史I/O性能指标,可以用来间接评估存储性能。因为它通常反映的是直接访问存储设备的物理读操作,往往绕过操作系统缓存。因此,它能更真实地反映I/O层面的存储性能,而不是被操作系统缓存机制所掩盖的延迟。结合两者,你可以在没有操作系统监控权限的情况下,通过AWR快照数据了解存储在真实工作负载下的表现。号主在certview.oracle.com网站上的证书清单截图。

2025-11-11 15:43:17 452 1

原创 Oracle AWR案例分析: 诊断‘enq: TX - row lock contention‘等待事件

持续更新中…在一个繁忙且健康的数据库环境中,多会话同时修改相同数据行是不可避免的。当这种情况发生时,一个会话必须等待另一个完成提交,这就引发了 “enq: TX - row lock contention” 等待事件。在高并发的数据库中,适度的行锁竞争是正常现象,但若竞争过度,则会严重影响系统的可扩展性。本节将通过一个实际案例来说明如何诊断这种等待事件。

2025-11-05 17:25:42 771

原创 Oracle AWR案例分析:精准定位SQL执行计划切换的时间点

本例展示了如何结合使用AWR和ASH,从宏观到微观,定位Oracle数据库的性能问题。号主在certview.oracle.com网站上的证书清单截图。Oracle ACE(Oracle和MySQL数据库方向)华为云最有价值专家《MySQL 8.0运维与优化》的作者拥有数十项数据库认证曾任IBM公司数据库部门经理20+年DBA经验,服务2万+客户精通C和Java,发明两项计算机专利两次获得国家部级奖。

2025-11-04 16:16:36 853 1

原创 Oracle 如何计算 AWR 报告中的 Sessions 数量

这一点非常值得注意:AWR 报告中大多数指标(例如 CPU、IO、Redo 等)都是区间平均或累计的结果,而 Sessions 指标则仅代表快照生成瞬间的状态,因此在快照间隔期间它可能会有明显波动。在 Oracle AWR 报告的开头,有一个非常重要的指标——“Sessions”,它表示对应 Snap ID 创建快照时数据库中的会话数量。从实验结果可以看到,AWR 报告中的 “Sessions” 数值,实际上反映的是快照被创建时那一刻数据库中的会话数量。

2025-11-03 16:57:00 469 1

原创 Oracle如何计算Load Average?

通过简单的实验可以确认:Oracle AWR 报告中的 LOAD 值对应的是操作系统的 1 分钟负载平均值(ldavg-1)。因此不要被这个指标中的Average给误导了,这里的Average只是一分钟内的Average,而不是整个快照期间的Average。另外,需要说明这个LOAD在传统Unix(AIX,HP-UX, Solaris)上指的是CPU的LOAD,而在Linux指的是整个系统的LOAD。同样的负载,在Linux上统计的LOAD通常会比Unix大一些。

2025-11-03 15:56:33 461

原创 Oracle AWR案例分析:备库太慢,拖垮了主库性能

因此,“log file sync” 的缓慢并不是由存储问题引起的,除非log file和data file位于不同的磁盘。“LNS wait on SENDREQ” 是后台等待中最多的,这表示主库的 LNS(Log Network Server)进程在等待从库返回收到redo日志的确认。接着我查看了后台等待事件中的 “log file parallel write”,这个事件表示 LGWR 进程实际将重做日志写入磁盘的等待。从这两个高等待事件可以看出,性能瓶颈在于主库向备用库传输重做数据的过程中。

2025-11-03 11:19:33 713

原创 Oracle AWR 报告中的SQL来自哪儿?

AWR 报告末尾的 Complete List of SQL Text 不仅仅是展示完整 SQL 文本,它其实是 DBA 判断 SQL 来源、识别系统活动模式的一个“显微镜”。哪些 SQL 来自业务系统哪些 SQL 来自 PL/SQL哪些 SQL 属于 Oracle 内部操作以及它们是否受参数 CURSOR_SHARING 的影响这就是理解 AWR 中“这些 SQL 都是从哪儿来的”的关键。号主在certview.oracle.com网站上的证书清单截图。

2025-10-29 16:28:31 775

原创 解读 “SQL ordered by Physical Reads (UnOptimized)“

在 Oracle AWR 报告的 “SQL Statistics” 部分中,有一个名为 “SQL ordered by Physical Reads (UnOptimized)” 的列表,它展示了在执行过程中产生未优化读请求(UnOptimized Read Requests)最多的 SQL 语句。在上面的例子中,两者的数值几乎一致,说明 Oracle 每次 I/O 大约只读取一个数据块(即小块 I/O 模式)即使如此,该列表依然有价值,可用于识别 I/O 负载最高的 SQL 语句。

2025-10-28 18:39:10 736

原创 解读Oracle AWR报告系列:除了CPU和I/O,这些SQL都在忙什么?

启示:如果在AWR报告中发现某些SQL的 %CPU + %IO 远低于100%,那就意味着它在进行无效等待,这时可以试图从“Top Events”中找找是谁偷走了那段时间。这部分时间,这是在SQL层面上无法用CPU和I/O解释的“空白时间”。三者的总和为 19.9% + 3.3% + 1.4% = 24.6%,与我们在SQL层面计算出的 20.74% 缺口很接近。之和通常接近 100%,这说明它们的等待时间几乎全部由 CPU计算 和 I/O操作 构成,属于“健康”的SQL。但对于 INSERT 语句,

2025-10-24 16:04:28 538

原创 如何判断Oracle AWR报告中的SQL在多大程度能代表整个系统的负载?

在分析 Oracle AWR 报告中SQL Statistics部分的Top SQL之前,应先判断这些 SQL 对整体负载的代表性。如果捕获的SQL比例过低,继续分析往往没有意义,甚至可能得出误导性的结论。

2025-10-24 11:26:30 525

原创 解读“Time Model Statistics”中的“sql execute elapsed time”

这一事实可以通过动态性能视图(如V$SQL)中找不到COMMIT或ROLLBACK,以及AWR报告的“SQL Statistics”部分中没有这些操作的记录得到证实。那么,这一差距的来源是什么?在“Top Events”部分,约30%的DB Time被“log file sync”等待事件占用,这一比例与观察到的差距高度吻合,从而支持了这一假设。在这个例子中,“sql execute elapsed time”仅占DB Time的68%,这表明COMMIT操作可能是剩余32%的主要组成部分。

2025-10-22 15:00:17 344

原创 解读Time Model Statistics中的PL/SQL 和 SQL执行时间

Oracle AWR报告中的"Time Model Statistics"显示SQL执行时间占68%,PL/SQL仅占3%,但后续"SQL Statistics"显示PL/SQL中的SQL语句占67.5%的DB Time。这看似矛盾的数据源于Oracle的统计方式:PL/SQL执行时间仅统计引擎本身开销(如循环、条件语句),而其中嵌入的SQL语句执行时间被计入SQL执行时间。作者姚远是Oracle ACE、华为云MVP,拥有20年DBA经验,持有多项Oracle认证,

2025-10-21 17:51:25 368

原创 AWR 报告怎么读?高手只看这几页

别再通篇看 AWR 报告了。掌握从 Report Header 到 Time Model Statistics 的分析方法,就能快速定位性能问题。

2025-10-21 11:18:37 191

原创 Oracle AWR报告分析:诊断RAC Global cache log flush性能故障

在健康的 RAC 系统中,CR(一致性读)和 Current(当前块)接收时间通常小于 1 毫秒,但这里的数值却明显偏高。在 Top Event 中,log file sync 的平均等待时间高达 396 毫秒,这在正常系统中是极其罕见的。这说明,问题并不是 RAC 节点之间传输的块太多,而是块在传输过程中的争用和延迟非常严重。存放 Redo Log 的磁盘组出现故障,导致写入延迟异常,从而引发了整个集群的性能瓶颈。我收到一份客户提供的 Oracle AWR 报告,对方抱怨系统性能“慢得无法忍受”。

2025-10-15 17:36:48 371

原创 解读Oracle AWR报告:Global Cache and Enqueue Services - Workload Characteristics

AWR 报告中的“Global Cache and Enqueue Services - Workload Characteristic”部分反映了 Oracle RAC 节点通过全局缓存服务 (GCS) 和全局入队服务 (GES) 协调块访问的效率。换句话说,它告诉我们节点之间块传输的速度,以及互连和块管理是否健康或存在争用。

2025-10-14 17:52:18 750

原创 Oracle RAC Global Cache Load Profile

2.4 MB/sec 的互联流量 —— 对于一个中型 RAC 系统来说,这属于相对安静(quiet) 的水平,远低于可能导致互联瓶颈的 1–10 GB/sec 区间。在 AWR 报告中,Oracle RAC Global Cache Load Profile 用于观察 RAC 节点之间互联通信(interconnect)的效率。“received” 和 “served” 两项与 Load Profile 部分中的块统计是一致的。这个估算值与报告中的 2,441.02 KB/sec 几乎完全一致。

2025-10-13 16:58:12 495

原创 源码:Oracle AWR报告Time Mode Statistics部分

目前号主在certview.oracle.com网站上的证书清单截图。

2025-10-13 14:51:27 201

原创 源码:Oracle AWR报告之Top 10 Foreground Events by Total Wait Time

目前号主在certview.oracle.com网站上的证书清单截图。

2025-10-13 14:44:18 180

原创 Oracle AWR报告中Load Profile源码

【代码】Oracle AWR报告中Load Profile源码。

2025-10-13 14:37:26 919

原创 又考了两个Oracle认证:RAC和DataGuard,文末送资料

号主姚远目前已经拥有Oracle的认证超过20个了,最近又考了两个Oracle 19c的认证,是RAC和DataGuard。其实内容和12c没有太大的区别,但题目依然很难,很多选项模拟两可,需要对相关概念非常清楚才能通过考试。姚远的运气不错,以超过及格线不多的分数通过了考试。目前号主在certview.oracle.com网站上的证书清单截图,需要这两个课程的资料可以联系我。

2024-09-09 13:34:45 1159 2

原创 合法的使用Oracle的 AWR 和 ASH

为了控制对 Oracle 诊断包和 Oracle 调优包的访问,Oracle 提供了一个名为 CONTROL_MANAGEMENT_PACK_ACCESS 的初始化参数。很多人都没有考虑过Oracle的 AWR(自动工作负载存储库)和 ASH(活动会话历史记录的合法性,实际上使用Oracle的 AWR 和 ASH有严格的法律的要求。AWR 和 ASH 是诊断和调优包的一部分,这些是额外付费的选项,需要在 Oracle 数据库企业版基础上单独购买许可证。

2024-09-09 13:33:56 932

原创 脚本:自动生成精准的Oracle AWR报告

很多朋友把AWR报告发过来让我帮忙分析Oracle数据库的性能,但很多报告都有一个共同的缺陷:就是这些报告覆盖的时间范围太广,导致性能问题的数据被严重稀释。为了解决这个问题,我开发了下面的脚本。这个脚本自动生成的AWR报告会保存在/tmp目录下,文件名中包括实例名和生成时间便于识别。

2024-08-06 10:33:00 902 1

原创 在 Linux 9 上安装 Oracle 19c:克服兼容性问题 (INS-08101)

Oracle 数据库 19c 的基础版本 (19.3) 发布的时候还没有 Linux 9 ,因此在Linux 9上面安装Oracle 19c会遇到很多兼容性问题。本文将探讨如何解决这些问题。

2024-08-06 10:31:00 2461

原创 脚本: 监控Oracle数据库中正在运行的SQL(Oracle DBA的工作利器)

【代码】脚本: 监控Oracle数据库中正在运行的SQL(Oracle DBA的工作利器)

2024-07-30 13:40:36 880 1

原创 使用ASH诊断Oracle解析故障

解析,尤其是硬解析,是非生产性操作,会消耗大量系统资源,导致库缓存争用。ASH(Active Session History)可以通过其采样机制来诊断和分析过度的解析。本文探讨了如何有效地使用ASH来识别解析问题。

2024-07-30 11:41:54 1184

翻译 使用Oracle自带脚本awrextr.sql和awrload.sql进行AWR数据迁移(翻译)

Oracle的AWR保存了数据库性能数据供DBA分析数据库性能。然而,访问和分析这些数据可能既耗时又消耗资源。一种有效的解决方案是使用Oracle内置工具将AWR数据传输到单独的系统进行分析。这种方法允许技术人员在家中舒适地进行诊断和提供解决方案,而不会影响生产系统性能或数据保留。

2024-07-29 15:47:21 371

翻译 自动生成更专注的Oracle AWR报告的脚本(翻译)

分析来自客户的Oracle AWR报告是姚远每天的工作之一。一个常见的挑战是,这些报告通常涵盖的时间范围太宽,导致性能问题的严重性被稀释。为了解决这个问题,我开发了以下脚本,用于自动生成具有更窄焦点的AWR报告。当客户没有具体的时间段来进行诊断时,他们可以使用这个

2024-07-29 15:45:14 252

原创 Oracle 23ai的Windows平台版本发布了

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html#db_free

2024-06-25 11:03:45 3191 2

原创 Oracle最终会扼杀MySQL?(译)

自从Oracle收购了MySQL后,很多人怀疑Oracle对开源MySQL的善意,这篇percona的文章深入分析了Oracle已经和将要对MySQL采取的措施,并预测了MySQL的未来。

2024-06-12 17:41:05 1684 4

原创 结果出乎意料!MySQL和MariaDB谁快?MySQL 8.0比MySQL 5.6快吗?

MySQL和MariaDB哪个更快?MySQL 8.0的版本和早期MySQL 5.6的版本哪个更快?这儿有个第三方的测试报告回答了这两个大家关心的问题,姚远来和大家一起解读一下。

2024-06-12 17:24:59 1621

原创 为什么Oracle 12c不能直接升级到23ai?

尽管12c和23ai都是长期支持版本,但是直接从12c升级到23ai是不可行的。因为12c的长期支持到期时间是2022年,而23ai发布的时间是2023年3月,中间存在一段时间差。这个时间差涉及到Oracle版本管理策略,Oracle在2022年底停止支持12c,要求客户升级到19c。在讨论环节,有位网友提了一个问题:“Oracle 12c能直接升级到23ai吗?只有19c和12c能直接升级到23ai,12c需要先升级到19c才能再升级到23ai。

2024-05-17 09:49:25 495

原创 脚本:监控Oracle中正在运行的SQL

这是我自己平时用的一个监控Oracle中正在运行的SQL的脚本,有需要的请收藏,运行时直接复制和粘贴即可。一个输出的例子如下:

2024-04-24 17:19:27 736 3

原创 拉里·埃里森 (Larry Ellison) 概述了 Oracle 的生成式 AI 战略

甲骨文董事长兼首席技术官拉里·埃里森概述了该公司如何将生成式人工智能 (GenAI) 嵌入其庞大的云服务组合中,旨在帮助客户和整个社会解决最棘手的问题。在 Oracle CloudWorld 的主题演讲中,埃里森还宣布了一系列新的人工智能服务,包括用于室内和室外种植食物、改善医疗保健和自动化应用程序开发的工具。埃里森指出,去年 OpenAI 的 ChatGPT 3.5 版本的发布吸引了政府领导人和公众的关注,这是技术进步很少能做到的,而且有充分的理由。“这是有史以来最重要的新计算机技术吗?

2024-03-29 11:27:02 1499

原创 从国内外IT人的差异谈如何破除35岁魔咒

本来想写篇关于DBA如何破除35岁魔咒的文章,但发现整个IT从业人员都面临着35岁魔咒,例如互联网的从业人员的平均年龄只有26岁。但国外同行的职业生命却长得多,这里我们通过分析一下国内外IT人的差异来探讨如何破除35岁魔咒。

2024-03-29 11:23:16 1152 1

原创 查询正在运行的Top SQL的脚本(建议收藏)

这篇文章提供了一些现成的SQL脚本,通过查询V$SQLSTATS视图找到正在运行的TOP SQL,用于后续的优化。建议大家收藏,需要查询TOP SQL时直接复制和粘贴即可。

2024-03-25 09:38:27 773 1

原创 视图V$SQL、V$SQLAREA 和 V$SQLSTATS 的区别

Oracle 数据库提供了三个动态视图,用于查询当前共享池中的所有 SQL 语句的执行统计信息。它们分别是 V$SQL、V$SQLAREA 和 V$SQLSTATS。本文将探讨它们之间的区别。

2024-03-25 09:31:51 1799

原创 介绍Oracle的SQL调化健康检查脚本(SQLHC)

Oracle提供了一个SQL调优健康检查脚本(SQLHC),用于检查需要优化的SQL的运行环境,生成报告以便帮助DBA找到SQL性能不佳的原因。

2024-03-14 15:50:20 1849 5

原创 EMCC Agent部署失败: Failed To Promote Credential Change To Agent For 5 Targets

删除完成后再重新部署客户端,成功!

2024-03-07 09:31:07 810

原创 MySQL临时表创建出错(OS errno 13 - Permission denied)

发现权限不足,而且居然没有粘滞位(Sticky bit),粘滞位是Unix文件系统权限的一个旗标。最常见的用法在目录上设置粘滞位,如此以来,只有目录内文件的所有者或者root才可以删除或移动该文件。如果不为目录设置粘滞位,任何具有该目录写和执行权限的用户都可以删除和移动其中的文件。实际应用中,粘滞位一般用于/tmp目录,以防止普通用户删除或移动其他用户的文件。一个客户向我抱怨:在MySQL查询小表没有问题,查询大表出错,下面是他发给我的出错的部分截屏(客户的表名被我隐藏了)。

2024-03-07 09:30:14 1516

GoldenGate19.1 Oracle单向dml配置全过程.pdf

文档说明:GoldenGate19.1 Oracle单向dml配置全过程,源端说19c数据库,asm磁盘组,目标端是 11g,本地文件系统。 作者:鼎甲科技 姚远

2020-10-15

mysql-enterprise-backup-4.1-en.pdf

MySQL Enterprise Backup是一款专门用于备份MySQL数据库发工具。它是一个跨平台的高性能备份工具,它具有丰富的功能,包括:热备份,增量备份,选择备份,直接备份到云,加密,压缩备份等。

2020-05-16

BackupAndRestoreOfOracleDataGuardWhitePaper.pdf

Oracle DataGuard 备份恢复白皮书,作者鼎甲科技高级技术顾问姚远。提到DataGuard环境下的备份恢复,大家都知道可以在备库上备份,然后恢复到主库,但您知道在生产中实施会遇到多少坑吗?实际生产中我们看到了太多在主库上进行备份,而让备库闲着的现象。这个文档带您深入了解DataGuard环境下的备份恢复

2020-09-30

Virtualbox安装Oracle 19c 升级到19.8(Oracle Restart和数据库)完整步骤

这个文档是来自鼎甲科技的姚远工作中整理的,在Virtualbox上安装Oracle 19.3 再升级到19.8(Oracle Restart和数据库)完整步骤,包括:配置系统环境,安装grid,oracle,建库,补丁下载升级等全过程。

2020-10-13

MySQL数据库简介-MySQL OCP第一课

MySQL数据库简介-MySQL OCP第一课

2023-03-01

Oracle 19c OCP讲义目录

Oracle 19c OCP讲义目录

2023-02-06

Oracle DataGuard备份恢复最佳实践

提到DataGuard环境下的备份恢复,大家都知道可以在备库上备份,然后恢复到主库,但您知道在生产中实施会遇到多少坑吗?实际生产中我们看到了太多在主库上进行备份,而让备库闲着的现象。本次课程将带您深入了解DataGuard环境下的备份恢复。 讲师介绍:姚远,专注于 Oracle、MySQL 数据库多年,拥有Oracle 10g、12c OCM, MySQL 5.6、5.7、8.0 OCP,并在:EMC、IBM p、RedHat、Cisco、SQL Server、DB2等领域拥有20+技术认证。两次获得国家部级科技进步奖,拥有两项计算机发明专利。现为鼎甲科技高级技术顾问。

2020-09-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除