- 博客(23)
- 收藏
- 关注
原创 闪回搞不定时怎么办?Oracle数据恢复的终极武器
如果你在生产环境中经历过数据恢复的实战,欢迎在评论区分享你的经验和踩过的坑。需要提醒的是:ODU、DUL、PRM均为SF软件,网上能下载到的试用版通常有数据条数限制,生产环境使用需要购买正式授权。FY_RECOVER_DATA是一个专门用于TRUNCATE恢复的工具包,核心原理是构造傀儡表,将被TRUNCATE表的数据块内容嫁接到傀儡对象上,从而实现数据恢复。方法A的优势是数据完整性100%有保证,缺点是耗时长(需要全库restore+recover),且需要一台空闲的辅助服务器,适合大型灾难场景。
2026-07-02 17:42:35
368
原创 Oracle闪回技术全景实战:Flashback全家桶,从误删数据到完美恢复的终极指南
今天这篇文章,我把Oracle闪回技术的全家桶梳理一遍,每种都配合实验演示,从原理到操作到适用场景,一次讲透。从行级别到库级别,从轻到重,Oracle提供了6种不同粒度的闪回能力,覆盖绝大多数误操作场景。闪回数据库是闪回技术中"最重"的方案,可以将整个数据库回退到过去某个时间点。Oracle的闪回技术体系非常完善,从行级到库级,从查询到恢复,覆盖了绝大多数误操作场景。它可以显示每行数据在某个时间段内经历的所有变更,包括每次变更的SCN、事务ID、操作类型(I/D/U)以及变更前后的值。
2026-06-29 19:15:56
379
原创 Oracle表碎片整理实战:SHRINK还是MOVE?完整实验对比
大家好,我是睿。表碎片是Oracle DBA日常维护中经常遇到的问题。很多表在经过大量数据插入和删除后,高水位线一直居高不下,即使实际数据已经很少,全表扫描时还是会读很多无效块,导致性能变差。最近我专门做了一个实验,用同一张表对比了 SHRINK 和 MOVE 两种缩表方式的实际效果,包括操作步骤、资源消耗、整理后的段大小和索引情况等。今天把整个过程完整分享出来,供大家参考。
2026-06-26 14:45:35
363
原创 Oracle 19c Active Data Guard DML 重定向:让只读备库也能“写”!生产环境神级特性详解
Oracle 19c 正式引入的 DML Redirection(DML 重定向)特性完美解决了这个问题:在备库执行 DML 时,Oracle 会自动把操作重定向到主库执行,执行完后再把结果同步回备库,对应用几乎透明!在传统的 Active Data Guard(ADG)中,备库只能做只读查询,这让很多“读多写少”的应用场景非常痛苦——报表系统偶尔要写点临时数据,就得切到主库,增加主库压力。Oracle 官方建议:仅用于偶尔的 DML(建议重定向 DML 占比 < 10%),避免对主库造成额外负担。
2026-06-24 16:17:11
330
原创 一次紧急DMP导入:12c导出到11g生产库,踩过的版本与字符集大坑
心想应该不难,结果问了客户导出信息后,客户表示这是“转了好几手”的文件,无法提供原始导出语句。这不,今天刚处理完一个“看似简单、实则暗坑”的DMP导入任务,分享出来供大家参考,避免走弯路。原因:高版本(12c)导出的DMP文件,直接导入低版本(11g)时,必须在导出时指定 VERSION=11.2 参数,对方没有加。这次看似简单的DMP导入,前后折腾了三次才搞定,再次提醒大家:DMP不是万能的,跨版本、跨字符集时一定要谨慎。上午客户电话打来:“有个DMP文件要紧急导入生产库,文件已经传到服务器上了,很急!
2026-06-10 10:37:54
389
原创 Oracle 10046事件深度解析:比SQL_TRACE更强的“X光机”,抓绑定变量+等待事件,一招搞定生产疑难杂症!
在上一篇文章中,我们介绍了 SQL_TRACE + TKPROF 这对性能诊断黄金组合,很多读者反馈“干货满满,实战好用”。但当你遇到更棘手的问题时——这时,10046诊断事件 就该登场了!它是 Oracle 官方未公开的扩展诊断工具,被无数 DBA 称为“性能排查的核武器”。今天我们从原理到实战,手把手教你用好它,读完你就能在生产环境精准定位“隐形杀手”。点赞 + 关注 + 转发,下期继续分享进阶组合拳,一起成为 Oracle 性能优化高手!10046 是 Oracle 的扩展诊断事件(Diagnosti
2026-04-15 10:26:21
349
原创 Oracle SQL_TRACE + TKPROF 性能诊断神器:5分钟定位慢SQL,DBA必备“X光机”!
这里有两个参数比较实用,一个是排序参数,可根据各种SQL的时间因素进行排序,如选项fchela,即按照elapsed time fetching来对分析的结果排序(需要设置初始化参数time_statistics=true),转换输出的文件将把最消耗时间的SQL放在最前面显示。Oracle经典诊断利器——SQL_TRACE能把SQL执行的每一毫秒、每一次IO、每一次等待事件全部“扒光”,再搭配 **TKPROF** 一键生成美观报告,问题SQL瞬间现形。SQL_TRACE 是“会话级SQL跟踪”工具。
2026-04-14 15:23:28
192
原创 Oracle存储过程被覆盖找回实战
DBMS_OUTPUT.PUT_LINE('错误码:' || SQLCODE || ',错误信息:' || SQLERRM);,基表数据的闪回查询窗口已超出限制,通过查询数据字典历史版本的方式也无法获取原始内容;虽在业务用户对象中为空,但在系统表的底层操作中依然有效,这是本次恢复成功的核心技术点。对象的核心字典表,是本次恢复的关键突破口,其操作记录完整保留了对象的版本变更轨迹;-- 每插入1条提交(原逻辑保留,若想批量提交可调整)统计结果的印证,再到系统表记录的精准提取,形成完整的技术逻辑闭环;
2025-12-19 15:59:48
602
原创 医疗HIS数据库双节点故障排查实战案例
最终根源确认:单节点测试正常、双节点异常的现象,结合集群启动报错,最终锁定心跳链路故障,而光模块损坏是网络异常的根本原因。1、关闭节点一数据库实例,仅保留节点二数据库实例运行:等待事件查询正常,无gc buffer busy acquire;2、关闭节点二数据库实例,仅保留节点一数据库实例运行:等待事件查询正常,无异常等待。消失后,数据库出现新的异常:等待事件查询仍时快时慢,延迟时卡顿超。相关等待仅在双节点同时运行时出现,确属集群跨节点通信引发的问题。通过会话关联分析,所有异常等待均指向。
2025-11-01 21:10:32
805
原创 RAC 容灾环境归档传输异常溯源
规范故障排查参考流程:借助网络技术帖子、社区案例时,需结合自身环境(如版本、架构、配置)验证适配性,同时与客户充分确认配置意图,避免因。资源的子网掩码配置,使其与操作系统实际配置一致,避免因修改操作系统配置引发其他网络依赖问题。检查容灾环境监听状态,发现监听服务已开启,但数据库实例未正确注册到监听;无法启动,进而阻塞监听启动、实例注册及归档传输,引发一系列容灾同步问题。触发生效,重新检查监听注册状态,问题依旧,排除参数配置异常。,操作无异常,确认网卡基础功能正常,排除网卡驱动或硬件问题。
2025-10-16 19:46:39
817
原创 Oracle DataGuard 搭建关键参数详解
本文档聚焦 Oracle DataGuard 搭建过程中的核心参数,从主库与备库基础配置参数、日志传输相关参数、备库恢复相关参数、监控与性能优化参数四大维度,详细解析每个参数的作用、取值范围、配置建议及注意事项,为DataGuard 环境的搭建、稳定运行与性能优化提供技术支撑。若主库重做日志文件路径为 /u01/app/oracle/oradata/ORCL/redo/,备库重做日志文件路径为 /u02/app/oracle/oradata/ORCL_STANDBY/redo/,配置如下:。
2025-08-25 12:52:12
1047
原创 一场由“消失的进程”引发的追踪:数据库备份异常背后的暗战
2025年X月2日,客户核心数据库出现备份异常,RMAN、expdp备份及文件拷贝进程均被异常终止。经排查,确认系恶意程序入侵所致,该程序通过暴力破解植入,旨在破坏数据备份机制。团队紧急处置后恢复正常,后续已完成深度清理及安全加固。
2025-08-14 19:21:49
855
原创 存储裂缝之“救赎” ——Oracle 数据坏块故障修复纪实
本文记录了一场由存储硬件故障引发的 Oracle 数据库抢救全过程。在 AIX 系统单机环境下,22GB 关键数据文件因存储损坏仅余 20.4GB 可读,导致数据库无法启动。通过冷备现场、屏蔽损坏 Undo 段、修复坏块及调整隐含参数,数据库成功重启后,核心表 XXX.SECRET_TABLE_OLD 因数据块损坏出现查询异常。团队创新采用 rowid 定位法,结合存储过程逐行筛查,从 "好坏掺杂" 的记录中提取 138823 条有效数据,仅缺失 105 条。
2025-08-11 13:43:15
1038
原创 OGG 同步奇案:医疗数据 “消失” 之谜
本文是一则关于 OGG 同步故障的技术分享,聚焦医疗客户数据同步异常问题。通过还原 “数据失踪案” 的排查过程,展现从初期怀疑 trandata 缺失,到发现配置文件中用户过滤规则这一关键线索的转折,最终找到 B 应用数据因账号被排除而未同步的根源。
2025-08-06 15:19:20
416
原创 子夜代码:当调度器陷入沉睡
本文讲述了一次数据库定时任务故障的解决历程:某客户因创建定时 Job 时持续出现 “ORA-04063 package body SYS.DBMS_ISCHED 有错误” 提示求助,技术团队远程排查发现该系统包体失效且无法通过常规编译修复。在同版本测试环境复现故障后,团队发现编译此核心包会引发依赖对象连锁失效,因调用关系复杂难以手动修复。
2025-08-01 12:34:31
331
原创 一次数据库升级中的函数兼容风波:DBA团队的攻坚记录
本文记录了 DBA 团队处理 Oracle 数据库升级问题的过程:在为客户将数据库从 11g 升级至 12c 后,因 12c 废弃 WM_CONCAT 函数,导致依赖该函数的存储过程及 SQL 报错(ORA-00904)。技术团队通过在测试环境复现问题,上传特定安装包(owmctab.plb 等)至 /tmp 目录并确保权限,手动创建该函数以兼容旧业务,升级期间需暂停业务,最终成功解决问题,保障了系统正常运行。
2025-07-31 14:05:22
915
原创 补丁织就的迷雾,与数据库归途的晴光
某医疗客户 Oracle 19c RAC 环境升级至 19.24 补丁后,数据库启动遇阻,仅能停留在 NOMOUNT 状态,ASMB 进程报错与权限疑云交织。几经排查,从调整文件权限到应对登录报错,最终借 MOS 文档指引,发现症结在于 oracle 与 grid 用户未加入关键组 oinstall。经权限修正与重启,数据库终返正常运行轨道,恰似迷雾散尽,晴光铺就归程。
2025-07-30 10:14:57
901
原创 SYSTEM 文件“走失”后的修复手记
某医疗机构 Oracle 数据库因 SYSTEM 表空间新增数据文件被误删宕机,且数据库处于非归档模式,恢复难度较大。技术团队通过挂载数据库、重建缺失文件、恢复数据文件及打开数据库等步骤,借助未被覆盖的 REDO 日志完成修复。针对 REDO 日志缺失、新增文件含对象创建等复杂场景,本文分别提供了 BBED 工具修复 SCN 信息、手动清理基表或使用 DBMS_SPACE_ADMIN 包等解决方案。此案例印证了掌握 SCN 与 REDO 日志逻辑、灵活运用工具的重要性,也凸显了规范运维与启用归档模式等预
2025-07-28 15:09:05
352
原创 磁盘流转:19C RAC 环境下 + Normal ASM盘的 “旧去新来”
本文复盘 19C RAC 环境下 + DATA 磁盘组的磁盘更换操作。在 Normal 冗余模式下,因移除旧盘后剩余磁盘不足 3 块,触发 ORA-59048 报错并导致磁盘状态异常。通过新增磁盘恢复磁盘组功能后,最终以修改异常磁盘权限的方式彻底解决问题,印证了该模式下需保留至少 3 块存活磁盘的操作原则。
2025-07-26 14:42:23
543
原创 当 Oracle 19C 在午后 “走神”:PDB 时区里藏着的隐形推手
本文针对某医院Oracle 19C PDB架构数据库午后卡顿问题展开分析与解决。故障发生时,数据库出现大量library cache lock异常等待,排查排除了对象编译、DDL操作等常见原因后,聚焦于自动统计信息调度。通过查询发现,统计信息任务配置执行时间为晚22点,实际却在午后13:03执行,与故障时间吻合。进一步检查显示,CDB时区为中国标准时间(PRC),但PDB时区误设为PST8PDT,结合Oracle 19C未发布BUG(30076391),确认时区转换错误导致任务执行时间错乱是卡顿根源。
2025-07-25 15:28:46
739
原创 临时统计 SQL 的 “暗礁”:ORA-00600 [xtydty2ldi] 排查实录
本文聚焦于客户在 PLSQL 环境下使用临时统计 SQL 时遭遇的 ORA-00600 [xtydty2ldi] 错误。这一如同 “暗礁” 般突然出现的数据库内部错误,像一道 “代码谜题” 打乱了数据统计工作的节奏。文中从报错现象出发,追溯错误根源,梳理了从接收客户反馈、分析 SQL 语句结构,到排查异常触发场景的全过程,并针对该错误提出相应的解析思路与解决方向,为同类问题的处理提供参考。
2025-07-24 14:44:44
1028
原创 Oracle SCN 手工推进:各版本适用方法及操作指南
SCN 在数据库中起着至关重要的作用,用于确保数据的一致性、可恢复性以及读一致性等。例如,在数据库恢复过程中,SCN 用于确定哪些数据块需要恢复以及恢复到哪个时间点的状态。
2025-07-24 14:43:36
919
原创 以 “探” 为名:一名 Oracle DBA 的数据库问题拆解与成长
从最初接触数据库时的基础运维,到后来处理复杂的性能调优、容灾架构设计,再到应对各类突发故障的应急处理,这十多年里积累了不少实战中的经验与思考 —— 有踩过的坑,有优化成功的案例,也有对技术细节的反复打磨。接下来,我打算在这个平台陆续分享这些内容:既有过去沉淀的数据库问题解决方案、技术总结,也会有未来工作中遇到的新问题与应对思路。需要说明的是,所有内容仅代表我个人的技术理解,由于数据库技术本身在不断发展,且实际场景复杂多样,若分享中存在疏漏或错误,非常欢迎大家随时指正交流。
2025-07-24 14:42:09
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅