自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(53)
  • 收藏
  • 关注

原创 观点分享:Oracle数据库GRID升级的案例的闲聊

《Oracle数据库GRID升级案例分享》以AIX平台的三节点RAC集群升级为例,介绍了从12C升级到19C的复杂过程。文章重点分析了AIX平台的特性(编译慢但镜像回退简单)、严格的4小时时间限制,以及跨机房存储等挑战。作者提出了利用VG镜像、数据库闪回、ADG等技术的综合解决方案,包括搭建测试环境、脚本化操作步骤、并行执行关键任务等创新方法。案例详细描述了升级流程和回退机制,强调回退方案与升级方案同等重要。文章最后指出DBA需要掌握多领域知识,并提醒读者需根据实际环境调整方案。全文以技术干货为主,兼具实操

2025-07-03 11:35:56 323

原创 DBA必备工具:Oracle环境中自动删除归档日志

摘要:delete_archive是一款基于Go语言开发的Oracle归档日志自动化管理工具,适用于DBA日常运维。该工具可根据磁盘使用率阈值(默认90%)智能删除已备份的归档日志,并在紧急情况下(默认98%)强制删除。支持多实例管理(-s参数)、自定义阈值(-n/-f参数)和调试模式(-d参数)。典型应用场景包括数据库迁移时的归档空间管理,以及避免自动删除策略导致的归档缺失问题。用户可通过微信公众号"IT民工的龙马人生"获取脚本,使用时需注意保留必要日志以满足恢复需求。(150字)

2025-07-02 16:08:15 586

原创 读书笔记:为什么我选择把代码写在数据库里?

《为什么我选择把代码写在数据库里?》一文分享了作者基于Oracle数据库的开发理念。文章指出数据库如同"万能工具箱",能跨平台运行,实现"一次编写,到处运行"。作者提出开发优先级:首选SQL语句,次选PL/SQL存储过程,最后考虑C语言或Java。这种"数据库优先"策略的优势在于:SQL与PL/SQL配合流畅、性能优化成熟、减少系统兼容性问题,同时让开发者专注业务逻辑而非底层系统。作为Oracle专家,作者认为该方式能提高开发效率、系统性能和可维护

2025-07-02 14:58:23 466

原创 故障诊断:CSSD进程HANG导致RAC节点重启

本文分析了Oracle RAC集群中OCSSD进程挂起导致节点重启的故障案例。通过模拟实验展示了在Red Hat Enterprise Linux 5.11环境下,手动暂停OCSSD进程后,系统会在30秒后触发节点重启。故障表现为主机日志出现"Oracle clsomon failed with fatal status 13"错误,该状态码表示CSS层出现致命错误需重启。文章详细记录了故障发生时OCSSD和oclsomon日志的关键信息,包括节点间心跳检测失败、即将重配置等警告信息,并

2025-07-02 13:48:04 342

原创 故障处理:一次非常艰难的drop多个pdb的恢复

摘要 本文记录了一个棘手的Oracle数据库恢复案例:客户误删除了RAC CDB环境中的6个PDB(使用including datafiles子句),导致数据文件被彻底清除。作者分析了三种可能的恢复方案: AMDU工具:因ASM 1号文件FILEDIR被清理而无法使用 ODU工具:由于多个PDB存在相同RDBA而无法区分数据块归属 解析ACD/COD日志:通过分析ASM元数据日志寻找删除前的文件扩展信息 最终发现,即使解析ASM的ACD(Active Change Directory)日志记录到了文件删除操

2025-07-01 17:11:36 753

原创 DBA必备工具:Oracle环境中表空间全自动扩容

摘要: 本文介绍了一个基于Go语言开发的Oracle表空间自动扩容工具,旨在智能监控并预测表空间增长需求,自动完成扩容操作。该工具支持预测模式(基于AWR历史数据分析未来N天需求)和阈值模式(设定剩余空间百分比阈值触发扩容),兼容ASM和文件系统存储环境,提供安全检查、预览模式和详细日志功能。通过简化参数配置(如-l设置阈值、-p预览SQL),帮助DBA减少重复性手动操作,提升运维效率。文章详细说明了工具的使用方法、配置要求和实现原理,并附有场景示例和日志说明。 关键词: Oracle、表空间扩容、自动化工

2025-07-01 13:19:04 702

原创 故障处理:ADG模式下MRP进程不能应用日志,子进程出现gc buffer busy release等待

摘要:文章记录了在Oracle 11g RAC环境(AIX系统)中处理ASM实例hang问题的过程。通过hanganalyze和systemstate dump分析发现"gc buffer busy release"和"buffer busy waits"是主要阻塞链。当无法正常取消MRP进程时,作者通过手动kill并重启恢复进程解决问题。分析结果显示会话长时间等待同一数据块(file#7/block#0x229d),存在严重的缓冲区争用情况。文章发布于微信公众号【I

2025-07-01 12:00:08 332

原创 故障诊断:奇怪的ORA-01000故障处理

某银行19.6版本RAC数据库出现MMON从进程(M00n)报ORA-01000游标超限问题,导致AWR/ASH等功能异常。经排查发现仅节点2的M00n进程存在大量未关闭的递归SQL游标(同一SQL打开近千次),且游标状态显示两个月前打开后未关闭。通过processstate dump分析确认是游标关闭异常导致的内存泄漏,最终通过kill异常进程临时解决。该案例暴露出Oracle 19c中可能存在的MMON从进程游标管理缺陷,目前MOS尚未有相关记录。作者黄廷忠(Oracle中国高级服务团队)建议关注此类递

2025-06-30 21:03:12 266

原创 性能调优:表的连接方式介绍(NESTED LOOP, SORT MERGE JOIN, HASH JOIN )

文章摘要: 本文介绍了三种常见的表连接方式:NESTED LOOP(循环嵌套连接)、SORT MERGE JOIN(排序合并连接)和HASH JOIN(哈希连接)。NESTED LOOP适合驱动表结果集小且被驱动表连接列有索引的情况;SORT MERGE JOIN适用于大数据量且缺乏索引的场景,但需要额外排序开销;HASH JOIN则适合无索引的大表连接。文章还通过Oracle数据库的示例SQL和执行计划,展示了每种连接方式的实际应用场景和性能特点,并提供了使用HINTS强制特定连接方式的示例。此外,文中简

2025-06-30 15:14:33 1172

原创 读书笔记:第一章:如何开发成功的Oracle数据库应用

摘要:Oracle数据库应用开发的关键要点 开发成功的Oracle数据库应用需注意三点:合理使用数据库(避免当“黑盒子”)、重视数据价值、配备懂数据库的团队成员。核心在于理解数据库工作原理(存储、查询、事务)、并发控制机制,以及从设计阶段优化性能。避免重复造轮子,善用数据库原生功能,并提升SQL技能(复杂查询、索引优化)。开发者与DBA应协作,确保系统稳定高效。忽视数据库原理将导致性能瓶颈,深入掌握则能构建稳健的应用系统。(150字) 来源:IT民工的龙马人生(微信公众号/博客www.htz.pw)

2025-06-30 14:01:30 569

原创 生活分享:川藏南线(318)自驾露营线路

每一个热爱旅行的人,心中都藏着一条“进藏梦”。川藏南线(318),作为中国最美的自驾路线之一,从成都平原一路穿越高原、雪山、草原、峡谷,最终抵达圣城拉萨。这不仅是一场地理意义上的穿越,更是一次心灵的洗礼。本系列将详细记录从成都出发,沿川藏南线一路自驾到拉萨的全过程。与传统的酒店住宿不同,本攻略选择了“自驾+露营”的方式,沿途在高原草甸、湖畔、村庄等地扎营,深度体验自然与人文的融合。文中会详细介绍每一天的自驾露营线路、营地选择、沿途景点、摄影机位和高原旅行的贴心提示。

2025-06-30 11:37:37 767

原创 特殊恢复:oradebug推进Linux平台SCN的值

文章摘要:本文详细介绍了在Linux平台上使用oradebug工具手动修改Oracle数据库SCN(系统变更号)的高风险操作。作者通过具体实例演示了查询当前SCN值、计算最大允许SCN值、转换数值格式、以及最终修改SCN值的过程。文章强调该操作仅适用于特殊恢复场景,具有极高的风险性,可能导致数据库故障或数据不一致。同时指出该技术仅支持Oracle 9i到11g版本,12c及以上版本已不再支持。文章最后提供了作者的个人简介和联系方式。

2025-06-28 20:46:39 767

原创 特殊恢复:_MINIMUM_GIGA_SCN方式推进SCN的值

摘要:本文介绍了在Oracle 11g环境中推进SCN值的两种方法。当oradebug工具无法使用时,可通过设置"_MINIMUM_GIGA_SCN"参数来增加SCN值(11.2.0.3版本有效,11.2.0.4已失效)。此外,文章还演示了oradebug和event 10015两种推进SCN的方法,指出event 10015在11.2.0.3环境中已失效。作者黄廷忠是Oracle中国高级服务团队成员,提供了详细的操作步骤和环境说明。文章同步发布于微信公众号和博客网站(www.htz.p

2025-06-28 20:30:53 401

原创 特殊恢复:Oracle 12C通过EVENT来手动增加SCN值

Oracle 12C通过事件手动增加SCN值的方法 摘要:本文介绍了在Oracle 12C数据库中通过特定事件(Event)手动增加系统变更号(SCN)的方法。SCN是Oracle用于标识事务顺序和时间戳的重要机制,当遇到ORA-01555错误或延迟块清除等问题时,可能需要手动增加SCN。文章详细说明了如何使用事件21307096来增加SCN值,该事件会在数据库启动时自动以每秒16K的速率增加SCN,增加的幅度由事件级别决定(1-4095,每级对应100万增量)。同时提供了查看当前SCN的方法和操作步骤,并

2025-06-28 20:08:30 901

原创 日常运维:11G RAC环境GRID目录及文件权限被篡改的修复

总结Oracle 11G RAC环境中GRID目录被篡改的修复方案,模拟极端的情况,从实践出发,带领大家一起探寻。

2025-06-28 08:29:18 934

原创 故障处理:Oracle RAC集群CTSS时钟同步故障案例分析与解决

Oracle RAC集群CTSS时钟同步故障处理案例 摘要:某6节点Oracle RAC(11.2.0.4)集群出现CTSS时钟同步异常,其中节点3-6无法与参考节点1同步。分析发现节点3的GIPC通信异常导致"Msg NOT meant for this member"等错误。经排查,该问题由操作系统防火墙配置不当引起,调整防火墙规则后问题解决。案例表明,在部署Oracle RAC时需确保各节点间通信端口畅通,特别是CTSS依赖的6200端口。建议生产环境采用NTP而非CTSS进行时间

2025-06-27 20:08:32 843

原创 性能调优:分页SQL语句的优化

摘要:本文探讨了Oracle分页SQL的性能优化问题。通过分析一个停车场进出记录查询案例,发现原始SQL存在性能瓶颈:执行耗时5.4秒,涉及大量临时表空间(16M)和逻辑读(937K)。优化思路包括:1)简化视图嵌套层级;2)优化JOIN条件;3)添加适当索引;4)减少排序开销。文章展示了完整的执行计划,指出HASH JOIN和SORT操作是主要性能瓶颈。这种分页优化方法适用于大多数业务系统,能显著提升大数据量下的查询效率。(143字)

2025-06-27 20:07:23 904

原创 故障处理:ORA-04031真实案例分享

Oracle数据库ORA-04031内存错误分析与解决方案 摘要:本文分享了Oracle 11.2.0.4 RAC环境中节点2频繁出现ORA-04031(共享内存分配失败)问题的分析过程。该错误通常由Shared Pool内存不足或碎片化导致。通过heapdump分析发现,问题集中在subpool 6 duration 0区域,几乎被perm类型的内存块占用。在RAC环境中,启用AMM/ASMM和duration机制会加剧这种情况。建议在确认shared pool设置合理的前提下,关闭"_enab

2025-06-27 18:49:10 1083

原创 ORA-01555系列:三、ORA-01555总结与高级优化建议

本文总结了ORA-01555(快照过旧)错误的核心原理与系统化解决方案。文章指出,该错误本质上是数据库在空间压力、时间限制和一致性读之间权衡的结果。通过分析UNDO数据生命周期和Oracle的"窃取"逻辑,揭示了错误发生的深层机制。 文章提出三级防御体系: 1)应用与SQL优化,包括缩短查询时间、避免循环内提交等; 2)科学配置UNDO表空间,合理规划容量并监控关键指标; 3)建立高级诊断体系,利用历史快照、AWR报告和专用脚本快速定位问题。文中通过多个典型案例,如ETL作业、LOB字段

2025-06-26 21:30:25 1003

原创 ORA-01555系列:二、ORA-01555的场景分析与解决方案

ORA-01555错误常见场景及解决方案摘要 Oracle数据库中ORA-01555"快照太旧"错误通常由四种场景引发: 长事务与长查询冲突:当查询持续时间超过UNDO保留时间或查询期间有大量DML操作时发生。案例显示报表查询与批量更新冲突、应用层游标处理不当都会引发此问题。建议优化SQL、调整任务调度、避免慢速循环处理模式。 UNDO空间不足:UNDO表空间过小无法满足保留需求时,Oracle会回收未过期数据。案例包括固定UNDO大小导致月末结算失败、UNDO_RETENTION保证引

2025-06-26 21:29:46 681

原创 ORA-01555系列:一、ORA-01555错误的本质与原理

摘要:ORA-01555(快照过旧)是Oracle常见错误,本质是查询需要的数据快照已被覆盖。文章详解其原理:Oracle通过UNDO实现一致性读,当UNDO被覆盖或回收时就会报错。常见触发场景包括长查询、批量DML操作、UNDO空间不足、LOB设置不当等,并澄清了"指定大回滚段可避免"等误区。诊断方法包括收集报错信息、分析UNDO使用情况、检查SQL执行计划等。该错误会影响报表查询、数据同步等业务,需要合理配置UNDO表空间和优化查询来解决。本文为ORA-01555系列的第一篇,后续将

2025-06-26 21:29:01 724

原创 特殊恢复:ORA-00704、ORA-00604、ORA-01555未提交事务时的处理方案

文章摘要 本文介绍了一个Oracle数据库恢复案例,涉及ORA-00704、ORA-00604和ORA-01555错误。故障表现为数据库无法启动,原因是存在未提交事务导致回滚段空间不足。作者详细记录了恢复过程,包括修改文件路径、尝试多种恢复方法、分析日志和跟踪文件等。文章重点分析了索引块和UNDO段信息,提供了技术细节和诊断思路,对处理类似Oracle数据库恢复问题具有参考价值。 (150字)

2025-06-26 00:07:22 919

原创 特殊恢复:ORA-00704、ORA-00604、ORA-01555故障的说明

本文分析了Oracle数据库启动时遇到的ORA-00704、ORA-00604、ORA-01555报错问题。文章指出应从最后一个报错ORA-01555"快照过旧"入手,这是根本原因。作者解释了ORA-01555的产生原理:SQL执行需要访问历史版本数据时,因UNDO回滚段过小或无效导致找不到回滚信息。文中还介绍了Oracle的两种回滚机制,并列举了回滚信息找不到的常见原因。最后预告了下篇文章将详细讲解解决方案。作者黄廷忠是Oracle中国高级服务团队的专家,文章同步发布于微信公众号和博客

2025-06-26 00:05:56 581

原创 特殊恢复:ORA-00704、ORA-00604、ORA-01555故障时快速定位触发报错的数据块

在一次数据库启动过程中,遇到了严重的启动失败,alert日志和trace文件中多次出现 `ORA-01555: snapshot too old` 相关报错,导致数据库无法正常open。本文记录了本次故障的详细遇到此类问题时,如何跟踪问题、分析trace文件,快速定位触发报错的数据库,供遇到类似问题的同仁参考。

2025-06-25 23:35:01 435

原创 案例分享:医院行业数据泵迁移案例

医院数据泵迁移案例总结 本文分享了一个三甲医院从SUN小机到X86平台迁移Oracle 11.2.0.4数据库的实战经验。医院IT系统具有厂商异构、技术壁垒高、LOB字段多、技术迭代慢等特点,迁移面临诸多挑战。作者比较了XTTS、逻辑迁移等多种方案,最终选择impdp+network_link结合rowid分片技术,在2小时内完成2T数据的迁移,满足了4小时停机窗口要求。文章强调了迁移方案选择的重要性,并提供了实际迁移步骤截图,展示了自动化脚本的应用。案例证明针对医院特殊环境,合理的迁移技术组合可以高效完成

2025-06-24 22:32:48 872

原创 ASMFD系列五:UDEV环境迁移到ASMFD环境

本文介绍了将UDEV环境迁移到ASMFD环境的详细步骤。首先检查了RHEL操作系统和Oracle 12.1.0.2.5数据库的版本兼容性,发现内核版本不兼容问题后,通过打补丁(Bug 21162902、21233961)解决了该问题。文章提供了确认平台支持性的方法(afddriverstate supported命令),并详细说明了如何修改ASM_DISKSTRING参数以添加AFD磁盘扫描路径(/dev/mapper/,AFD:)。最后介绍了在所有集群节点上配置ASMFD的过程,强调需要逐个节点执行以保持

2025-06-24 22:18:23 852

原创 特殊恢复:ORA-00704、ORA-00604、ORA-01555的分析与处理

数据库启动时遇到ORA-00704、ORA-00604、ORA-01555报错的分析与处理 摘要:本文针对Oracle数据库启动过程中出现的ORA-00704、ORA-00604、ORA-01555报错进行深入分析。重点指出ORA-01555(快照过旧)是根本原因,由于回滚段过小导致SQL执行失败,进而引发数据库初始化失败。文章详细介绍了报错产生机制,包括Oracle利用undo记录的两种回滚方式,并列举了可能导致undo信息缺失的几种情况。通过实际案例,展示了如何通过修改数据文件位置、重建控制文件等方法解

2025-06-24 22:16:44 1197

原创 ASMFD系列四:检查AFD状态和重新安装AFD

本文介绍了Oracle ASMFD(ASM Filter Driver)的安装异常处理方法。主要内容包括: 检查ASMFD状态: 使用asmcmd afd_state和afddriverstate version命令验证状态 异常时可用/etc/init.d/afd run或start重新加载 查看ASMFD模块: 通过lsmod和modinfo命令检查内核模块 显示模块文件路径和签名信息 验证模块文件完整性: 使用md5sum对比安装目录和系统目录的模块文件 通过stat命令检查文件修改时间 确保模块文件

2025-06-24 21:24:47 951

原创 ASMFD系列二:AFD在CentOS环境中部署

本文介绍了在CentOS 7.9环境中部署Oracle ASMFD(AFD)的方法。由于Oracle官方未认证CentOS平台,需要通过修改AFD部署脚本(osds_acfslib.pm)添加CentOS支持判断。操作步骤包括: 升级GRID软件至19.17版本 修改部署脚本添加CentOS识别 配置磁盘标签(集群环境需临时修改磁盘权限) 使用静默方式安装单机GRID环境 该方法突破了Oracle对CentOS平台的限制,成功实现了AFD在非认证系统的部署。文章提供了详细的操作命令和配置参数,适用于需要将A

2025-06-24 21:08:11 561

原创 ASMFD系列三:Linux平台安装AFD的实操

摘要: 本文介绍了ASMFD(ASM Filter Driver)技术在Linux平台的安装与配置步骤,分为已运行环境和初始化安装两种情况。对于已运行环境,需根据现有磁盘管理方式(如asmlib或udev)采取不同迁移策略。初始化安装部分详细讲解了数据库19c与Oracle Linux 7.9的兼容性验证、软件解压补丁升级、ASMFD内核兼容性检查、OCR磁盘多路径配置(强调生产环境必须使用聚合磁盘),以及通过asmcmd afd_label命令为磁盘打标签的关键操作。最后说明在集群安装时通过参数oracl

2025-06-24 20:56:08 1032

原创 ASMFD系列一:ASMFD的介绍与常见问题

ASMFD是Oracle 12.1.0.2引入的内核模块功能,主要提供固定磁盘组名称权限、过滤非Oracle IO操作和加速RAC节点恢复三大特性。文章介绍了ASMFD与udev、多路径、ASMLIB的兼容性关系,解答了生产环境适用性、内核升级影响等常见问题。作者黄廷忠作为Oracle专家,强烈推荐在生产环境中使用这一成熟技术,可简化配置、提升安全性并加速恢复。文章同时指出目前ASMFD支持Linux和Solaris平台,建议避免与其他磁盘管理技术混用以降低维护复杂度。

2025-06-24 16:38:31 867

原创 迁移升级:一次XTTS因TDE和位图块导致的灾难性回滚

摘要 文章分享了XTTS数据库迁移中的一次失败案例,从成功到灾难性回滚的全过程。作者作为国内早期XTTS技术的实践者,回顾了2015年带领团队完成十余套小机平台迁移的经验,并强调脚本自动化和标准化流程的重要性。2023年某客户采用XTTS迁移后,因TDE和位图块导致的ORA-08031、ORA-00600错误被迫回退,暴露了测试不充分和数据校验不足的问题。 文章提出四点重要思考:1)系统未现故障不代表无风险,需定期漏洞检查;2)重大操作前必须风险评估;3)迁移方案应包含全面数据校验;4)测试比正式迁移更重要

2025-06-24 16:34:02 911

原创 备份还原:RMAN还原数据库离奇的慢的案例分享

RMAN备份还原性能问题案例分享 某客户现场在进行数据库还原时耗时远超预期,经分析发现备份工程师采用了逐个数据文件还原的非最优方案,导致还原速度异常缓慢。文章通过实验模拟了这一场景,具体展示了: 测试环境为Oracle 11g数据库,创建了25个表空间和测试表模拟生产环境 配置归档模式后,使用RMAN进行多通道备份(两个磁盘通道ch00和ch01) 备份过程将数据文件分散到两个通道并行备份,但还原时若采用逐个文件还原的方式会严重影响性能 案例表明,RMAN还原性能不仅取决于参数配置,还原策略同样关键。

2025-06-24 16:21:16 713

原创 故障处理:2分钟处理Oracle RAC中OCR磁盘组丢失磁盘的故障

Oracle RAC环境中OCR磁盘组丢失磁盘故障排查 摘要:在Oracle 19c RAC+Data Guard实验环境中,发现prod02节点OCR磁盘组中一个磁盘被标记为_DROPPED_。通过ASM命令lsdsk确认RAC19C_OCR_0001磁盘丢失。经排查发现,prod02节点的多路径配置将/dev/sdi设备加入黑名单,导致无法创建ora_2多路径设备(WWID:36000c2940c87e09a104cb79a07733e93)。解决方法为修改/etc/multipath.conf配置文件

2025-06-24 16:19:21 1029

原创 备份还原:RMAN还原数据库离奇的慢的案例分享

本文分析了Oracle数据库RMAN备份还原速度慢的问题。作者通过实际案例模拟发现,还原速度慢的主要原因是采用了逐个数据文件还原的非优化方案,而非RMAN配置问题。文章介绍了测试环境(Oracle 11g)、创建了25个测试表空间和数据表,配置了归档模式,并详细展示了备份脚本的执行过程和输出日志。作者指出,虽然可以通过配置参数优化RMAN性能,但在本例中还原方案的选择才是关键因素。文章旨在帮助DBA理解RMAN还原性能问题的根源,并提供优化思路。

2025-06-22 21:47:32 566

原创 Oracle故障处理:分析Oracle数据库离奇的多快读慢

本文分析了Oracle数据库多块读响应时间异常的问题。数据库是从9i通过DG方式升级到11G,数据文件存储在VXFS文件系统上。AWR统计显示多块读平均响应时间是单块读的10倍左右,这明显不正常。文章通过SQL查询展示了不同时间段的等待事件数据,包括"db file sequential read"(单块读)和"db file scattered read"(多块读)的总等待时间和平均响应时间。多块读的响应时间普遍在60-130毫秒之间,而单块读则在5-10毫秒范围内

2025-06-22 21:19:30 810

原创 性能调优:JPPD(连接谓词下推)客户案例模拟

摘要: 本文通过客户案例模拟演示了Oracle JPPD(连接谓词下推)优化技术的应用。在11.2.0.4环境中,作者创建了三个测试表(htz1,htz2,htz3)模拟多表连接查询场景。默认情况下执行计划显示有2480次逻辑读和2408K临时表空间消耗。通过使用/*+ push_pred(d)*/提示强制连接谓词下推后,执行效率得到提升。该案例展示了JPPD技术在复杂SQL查询优化中的实际应用效果,为DBA提供了性能调优的参考实例。完整内容可访问作者微信公众号"IT民工的龙马人生"或博

2025-06-17 23:09:26 619

原创 性能优化:连接谓词下推(JPPD)使用场景详解

连接谓词下推(JPPD)是Oracle优化器处理带视图SQL的重要优化手段,其核心是将外部查询的连接条件推入视图内,以利用视图内部表的索引。文章详解了JPPD的使用场景:适用于未合并视图、外连接视图、UNION/DISTINCT/GROUP BY视图等类型,并受参数_optimizer_extend_jppd_view_types控制。通过实际案例展示如何通过hint(no_merge、push_pred等)强制应用JPPD,使执行计划从全表扫描转为高效的索引范围扫描,显著降低I/O消耗(从2513逻辑读可

2025-06-15 23:18:14 852

原创 性能调优:连接谓词下推(Join Predicate Pushdown(JPPD))

本文介绍了Oracle优化器中的连接谓词下推(JPPD)技术。该技术允许视图与基于索引的嵌套循环连接方法进行连接,通过在视图内部下推连接谓词,从而在基表上开辟新的索引访问路径。文章详细说明了JPPD的工作原理、适用场景(包括UNION视图、外连接视图等)以及适用性评估标准,并通过具体查询示例展示了该优化前后的执行计划差异。最后指出该技术并非总是最优,需要基于成本进行权衡决策。文章来自公司技术博客,旨在为性能调优提供参考。

2025-06-15 00:19:38 858

原创 特殊恢复:通过Trace文件,定位触发报错的sql语句的执行计划、访问的数据库及等待事件

【摘要】本文介绍了在Oracle数据库启动过程中遇到ORA-00704、ORA-00604、ORA-01555报错时,如何通过Trace文件定位触发问题的SQL语句、执行计划、等待事件及访问的数据块。作者以10.2.0.5版本环境为例,演示了通过配置10046和1555 errorstack的跟踪级别来获取详细报错信息的方法。具体展示了如何在trace文件中搜索"Block he"等关键字查找数据块信息和ITL(事务槽)信息,为特殊恢复场景下的问题诊断提供了实用技巧。该方法适用于Orac

2025-06-14 21:55:47 411

空空如也

空空如也

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

TA关注的人

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