自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(175)
  • 资源 (1)
  • 收藏
  • 关注

原创 Oracle 时区文件升级实战:解决数据泵导入 ORA-39405 报错(源库与目标库 TSTZ 版本不一致)

当 Data Pump 导入遇到ORA-39405报错时,基本可以断定是源库与目标库的 TSTZ 版本不一致导致的。先确认:分别查询源库与目标库的时区文件版本,明确差异;选方法:Oracle 18c 及以上优先使用自带脚本,低版本使用DBMS_DST包手动升级;做检查:升级前后都要检查和,确保版本一致;防遗漏:如果中的版本没有同步更新,记得手动 update 并 commit。时区文件升级属于数据库级别的敏感操作,执行前务必做好备份,并尽量在维护窗口内完成。

2026-10-29 17:41:02 141

原创 Oracle参数对比脚本分享:对比 SPFILE 参数与内存参数差异,支持 11g 到 19c

本文提供的 SQL 可以用于 Oracle 数据库参数巡检,主要作用是比较 SPFILE 中显式指定的参数值与当前内存中的参数值之间的差异。sid='*'全局参数与实例级参数同时存在时的优先级问题。RAC 环境下多实例参数比对。多值参数的聚合处理。逗号前后空格导致的误报。NULL值差异识别。兼容 Oracle 11gR2 到 Oracle 19c 的常见运维场景。在数据库变更、参数巡检、RAC 一致性检查、重启前检查等场景中,这个脚本都可以作为日常运维工具使用。

2026-10-20 13:59:01 347

原创 Data Guard Switchover 后遭遇 ORA-00600 [ktbdchk1: bad dscn] 与查询耗时 0 秒即返回 ORA-01555:一次 Bug 22241601 记录

这是一篇真实处理过程的记录,环境为 Oracle 11.2.0.4、做过switchover适用版本范围:11.1 之后、12.2 之前;已确认受影响版本包括 11.1.0.7、11.2.0.2、11.2.0.3、11.2.0.4、12.1.0.1、12.1.0.2。相关 Bug:22241601(Doc ID 1608167.1)。

2026-10-19 14:33:15 156

原创 解读 Oracle 官方 Skills,了解官方的数据库性能调优方法论

目录下的 7 篇性能调优文档(explain-plan、optimizer-stats、index-strategy、wait-events、ash-analysis、awr-reports、memory-tuning)

2026-09-23 14:51:01 287

原创 Oracle DG 文件管理深度解析:从两次认知翻车到真正搞懂

场景备库行为手动管理MANUAL无论其他参数如何,备库都不会自动创建数据文件,需 DBA 手动干预自动管理 (OMF)AUTO优先使用指定的目录,按 OMF 规则创建文件。此时忽略主库路径和自动管理 (非OMF)AUTO在没有时,使用的路径映射规则创建文件是对数据文件持续生效的路径翻译器(受 AUTO 和 OMF 制约);是对日志文件只读不写的路径提示牌(不创建、不校验、不强制)。前者是自动链路的一环,后者只是手工链路的一个便利项。把它们当成同一个机制的两面,是所有误解的起点。

2026-09-22 11:02:37 344

原创 Oracle DG 切换卡顿 4 分钟?一次由 MTU 不匹配引发的 ORA-16198 故障深度解析

MTU(Maximum Transmission Unit,最大传输单元)是指网络接口层(如以太网)所能传输的最大数据包大小。标准以太网 MTU:默认值为1500 字节。巨型帧(Jumbo Frames):通常设置为9000 字节。在数据中心内部,启用巨型帧可以显著减少 CPU 中断次数和协议开销,提升大流量(如 Oracle 归档日志传输)的吞吐量。

2026-09-15 12:19:27 239

原创 Oracle 19c ASMB 进程 PGA 内存泄漏排查实战 (Bug 38610635)

近期,在巡检 Oracle 19c RAC 环境时,发现数据库服务器的内存使用率异常偏高。通过操作系统层面排查,发现大量ora_asmb进程占用了极其夸张的内存(RSS)。执行ps aux可以看到,多个ASMB进程 RSS 均高达左右合计占用90GB以上,这是极不正常的。首先我们先来了解一下ASMB进程是什么。ASMB(ASM Background Process)是 Oracle 自动存储管理(ASM)架构中的核心通信进程。它的核心职责是充当与之间的“信息桥梁”和“心跳通道”。

2026-09-15 10:36:27 440

原创 RMAN 恢复后同一条 SQL 执行计划变了?可能是 XMLIndex PATH TABLE统计信息丢了

这种表是 Oracle 的XMLIndex 路径表(Path Table)。XMLType是 Oracle 用来存储 XML 数据的数据类型。当 XML 数据很大、结构复杂时,直接在 XML 列上做 XPath 查询会很慢。XMLIndex就是 Oracle 为 XMLType 设计的专用索引,类似于 Oracle Text 的 CONTEXT 索引,属于domain index(域索引)。当你在XMLType路径表(Path Table):把 XML 文档的节点拆解成关系型行存储二级索引。

2026-08-25 11:13:56 362

原创 【真实经验分享】Linux Crontab 时区之谜:为何运行时间与预设时间相差8小时

修改系统时区后,务必重启相关长运行进程,尤其是crondsyslogd等守护进程。无法确定的话,可以重启操作系统。一句话总结:在 Linux 中,date命令看到的时区是"现在"的时区(显示层面),而crond的调度时区可能是"六年前"的时区(进程缓存层面)。

2026-08-21 16:38:47 367

原创 【真实经验分享】Oracle 12c MMON_SLAVE 频繁报 ORA-12850 根因分析与修复方案

Oracle 12.1 引入了MMON 后台进程定期扫描自动识别资源消耗大的 SQL(CPU、IO、Elapsed Time 等)自动生成 SQL Monitor 报告,保存到 AWR 中方便 DBA 后续通过等包查看历史报告这个特性本身很有价值,但在 12.1.0.2 的实现中存在缺陷。这次排查再次印证了“从现象到根因,需要结构化分析”先看谁报的错再看在做什么再看做了什么 SQL最后匹配已知问题很多时候,Oracle 的报错并不是"新大陆",而是已经被记录在案的问题。

2026-08-19 15:02:35 187

原创 Oracle 26ai新特性:Priority Transactions(优先级事务)

维度传统方式阻塞处理DBA 手动 kill session自动按优先级回滚事务Session 影响连接断开,需重连Session 保持存活粒度无LOW / MEDIUM / HIGH 三级可预测性依赖人工响应基于配置阈值自动触发运维成本高(on-call 救火)低(自愈合)如果你的环境中经常遇到"某个长事务不提交导致全系统阻塞"的问题,这个特性可以显著降低事故率和 DBA 夜间起夜频率。建议先在测试环境用 TRACK 模式摸清业务等待基线,再逐步在生产 PDB 中推广。

2026-08-19 09:36:08 307

原创 Oracle 26ai新特性:Lock-Free Reservations(无锁预留)

Lock-Free Reservations = 对数值列做"软锁定"(预留额度),提交时才真正扣减,从而避免高并发下的行锁阻塞。特别适合那种"多人同时抢同一商品库存"但又不想互相等待的场景。

2026-08-12 11:26:16 279

原创 【真实经验分享】Oracle GoldenGate Replicat Abend:Key Column Missing 根因分析与修复

源端 UPDATE (只改 UPDATER/STATUS/UPDATETIME)│▼Extract 识别源端 Key = SRTCONTAINERID│▼Trail 记录包含:修改列 + SRTCONTAINERID│▼Replicat 识别目标端 Key = DATAID + SRTCONTAINERID│▼构建 UPDATE ... WHERE DATAID=?│▼Trail 中无 DATAID ────────► Key column DATAID is missing。

2026-08-11 17:49:49 396

原创 Oracle 通过 DG4ODBC 建立 MySQL DBLink 操作手册

通过以上 10 个步骤,我们成功在 Oracle 19c RAC 环境中配置了 DG4ODBC 透明网关,实现了 Oracle 通过 DBLink 直接访问 MySQL 数据。名称一致性:odbc.ini 的 DSN 名称、listener.ora 的 SID_NAME、tnsnames.ora 的 SID、init.ora 的文件名必须完全一致。用户权限区分:RAC 环境下监听配置在 grid 用户下操作,网关/ODBC 配置在 oracle 用户下操作。环境变量。

2026-08-07 15:48:51 286

原创 【真实经验分享】Oracle ASM 在 Solaris 上添加磁盘报错 `SVR4 Error 5: I/O error` 排查实录

Solaris 上新 LUN 映射后,ASM 报,先检查format里有没有写 VTOC Label —— 没 Label,slice 就是"假设备",内核不认,ASM 自然打不开。

2026-08-04 17:53:12 408

原创 【真实经验分享】ORA-12516 排查实录:共享服务器模式下 SHARED_SERVER_SESSIONS 不足引发的监听故障

对于 Oracle 数据库运维工程师而言, 是一个既熟悉又令人头疼的错误,尤其当它表现为 偶发性 时。不同于持续性资源耗尽导致的报错,间歇性的 ORA-12516 往往与瞬时并发峰值、连接复用机制以及数据库服务模式密切相关。近日处理了一起客户环境中的备份任务失败案例,现象正是偶发性 ORA-12516。网上搜索大多指向 和 参数,但实际排查下来,发现根因在于共享服务器(Shared Server)模式下 参数配置不足。本文将还原完整排查与解决过程,为遇到类似问题的同行提供参考。在 Oracle 官方文

2026-08-03 16:29:27 685

原创 【真实经验分享】Oradebug抓取阻塞源SQL语句

oradebug是Oracle数据库专供高级管理员使用的内部诊断“手术刀”,核心价值在于通过生成各类转储(如系统状态和Hang分析)来精准定位数据库挂起、崩溃或慢SQL的根源,并能探查甚至修改内存结构;但它属于高风险且无官方文档详细承诺的调试工具,必须持有SYSDBA权限,强烈建议仅在Oracle技术支持指导下使用,否则操作不当极易导致实例宕机。客户反馈最近系统经常锁表,但是阻塞源会话状态是inactive导致无法追踪到具体是哪个SQL语句导致,最后通过oradebug工具来查找可能导致阻塞的SQL。

2026-07-17 16:10:25 428

原创 【真实经验分享】Oracle RAC + ASM 下 db_recovery_file_dest 路径格式导致 ORA-01261 无法 NOMOUNT

在 Oracle RAC + ASM环境中,使用PFILE 将数据库启动到 NOMOUNT 状态时,遇到 ORA-01261 参数解析错误。

2026-07-16 16:57:57 232

原创 【真实经验分享】Oracle RAC 修改 db_file_name_convert / log_file_name_convert 参数实践

最近在维护一套 Oracle RAC(双节点) 环境时,需要调整 db_file_name_convert 和 log_file_name_convert 两个参数,用于 Data Guard 环境下的文件路径转换。按照常规思路,使用 ALTER SYSTEM … SCOPE=SPFILE 修改后重启实例即可生效。然而,在RAC环境无法滚动重启生效。

2026-07-16 14:18:08 241

原创 【真实经验分享】Oracle 软件应用补丁中断后数据库启动异常

节点1数据库软件顺利打完补丁,但是节点2在打软件补丁的过程中,由于虚拟机异常被迫重启,导致应用补丁中断,开机后检查节点2数据库软件补丁已应用,但无法正常开启节点2数据库实例。

2026-07-14 13:56:43 243

原创 【真实经验分享】OGG抽取进程报错 ORA-07445 [kgherrordmp()+986] ORA-00600 [17114]分析步骤

今天收到接收到一个问题需要处理。数据库报错如下。

2026-07-03 15:06:14 292

原创 MySQL数据恢复实践:binlog2sql数据追加

InnoDB表空间文件(.ibd)丢失,需基于历史备份与二进制日志(binlog)进行数据恢复: IMPORT TABLESPACE恢复基础数据 → binlog2sql解析并追加增量数据。

2026-06-15 16:14:46 319

原创 恢复DELETE数据的PACKAGE(操作手册篇)(仅做研究使用)

恢复DELETE数据的PACKAGE(操作手册篇)关于package的介绍和使用演示,请见《Oracle恢复DELETE数据的PACKAGE(介绍篇)》

2026-06-04 17:53:58 304

原创 没有备份、没有闪回,DELETE 数据怎么办?分享Oracle 数据恢复脚本(原理与演示)(仅做研究使用)

Oracle的数据存储于数据文件当中,而delete一个表后,被delete的数据不会立刻消失,在被复用之前仍会存储在数据文件上。此时只需要找到目标表数据存储的位置,并将底层数据读取出来并进行对应转换,就能得到真实的数据,再将这些数据插入到一张结构一致的新表上,数据就成功恢复了。

2026-06-04 17:53:23 317

原创 【真实经验分享】Oracle 索引并行度引发的进程风暴分析与处理

近期某客户生产环境出现进程数(process)暴涨的异常现象,经排查发现系某业务表索引创建时未显式指定并行度,导致后续维护操作默认使用系统级最大并行度,消耗大量数据库进程资源。本文记录问题排查过程及优化建议。索引的PARALLEL属性是一把双刃剑。在未显式指定并行度的情况下,Oracle 会按服务器 CPU 规模自动计算默认值,这在高配置环境中极易引发进程资源耗尽。建议 DBA 在索引设计和后续维护中,始终明确并行度策略,避免将"默认"留给系统。

2026-06-03 17:26:37 318

原创 【真实经验分享】Oracle EBS 磁盘空间上 *.tmp 文件占用过高

某客户发现 Oracle EBS 系统某个目录下占用高达1.6T,查看发现该目录下都是 *.tmp 文件。

2026-06-03 09:40:15 200

原创 【真实经验分享】Grid管理仓库 (GIMR/MGMTDB) 迁移重建实战指南

某客户MGMTDB数据库空间占了OCR磁盘组的大量空间,目前OCR磁盘组无法扩展,根据现状,制定的方案是将MGMTDB数据库重建到其他磁盘组。

2026-06-02 17:39:01 274

原创 【真实经验分享】ORA-03113 ORA-7445[evaopn3()+240]根因定位:从通信中断到内核空指针崩溃的完整排查实录

客户端偶发 ORA-03113 “通信通道的文件结尾”,服务端进程崩溃:Oracle Bug 12672969 — ORDER BY 消除优化导致evaopn3()空指针解引用:使用USE_HASHHint 锁定 Hash Join 执行路径,绕开触发 Bug 的执行计划。

2026-06-02 16:15:13 1376

原创 【真实经验分享】Oracle Data Guard 化身分裂之谜:一个 VALID_FOR 参数引发的级联灾难

VALID_FOR不是"可有可无"的修饰语,而是Data Guard 日志路由的"交通规则"。VALID_FOR=(日志类型, 数据库角色)日志类型(自己产生) vs(含备用日志)数据库角色vsvsALL_ROLES在级联架构中,最危险的配置就是让 STANDBY 角色下的数据库拥有向其他备库发送 Online Redo 的权限。Oracle 的"小问题"往往藏在最不起眼的参数里。VALID_FOR从ALL_ROLES改为,只是几个单词的改动,却挽救了整个级联 Data Guard 架构的稳定性。

2026-06-02 11:32:38 593

原创 【真实经验分享】ORA-600 [4187]发生在回滚段(undo segment)的 wrap# 接近最大值时

Oracle 的回滚段(Undo Segment)内部,有一个事务表(Transaction Table),通常位于回滚段的段头块(Segment Header Block)中。这个事务表由多个槽位(Slot)组成,每个槽位可以记录一个活动事务的状态。

2026-06-01 14:47:19 877

原创 【真实经验分享】记一次数据库负载异常增长的问题分析

某客户在数据库日常负载监测过程中,发现 19 日 14:00 至 20 日 13:00 期间,数据库负载出现异常增长的现象。

2026-06-01 14:00:43 171

原创 【真实经验分享】Oracle11.2.0.4 mmon进程无法正常开启

对某客户的Oracle11.2.0.4的数据库进行巡检,发现mmon的进程不存在,awr快照无法正常生成。

2026-06-01 13:41:03 275

原创 【真实经验分享】MySQL两个线程同时对表新增字段,被异常取消,导致表结构崩溃

某客户同时发起两个线程对表新增字段,被异常取消,导致表结构崩溃。

2026-06-01 13:20:14 728

原创 【真实经验分享】 ORA-600 [qesmaGetTblSeg1]

某客户的Oracle 11.2.0.4 版本的数据库,alert日志中报错 ORA-600 [qesmaGetTblSeg1]。查看MOS文档,与Bug 17957017描述的内容相似。查看了相应的trc文件后发现。

2026-06-01 12:06:49 254

原创 Oracle 26ai 新特性: True Cache(真实缓存)

True Cache 是 Oracle 26ai 引入的内存中、一致性、自动管理的缓存层,它位于主数据库(Primary Database)和应用程序之间,专门用于加速只读工作负载。│ 应用程序层 ││ │ 应用 A │ │ 应用 B │ │ 应用 C │ ││ │ (读写) │ │ (只读) │ │ (只读) │ ││ │ │ │ ││ │ │ ││ │ │ │ ││ │ ▼ ▼ ││ │ │ True Cache │ │ True Cache │ ◄── 内存中 │。

2026-04-08 16:39:09 439

原创 Oracle 26ai新特性:时区、表空间、审计方面的新特性

SYSDATE和现在可以按每个 PDB(可插拔数据库)单独设置时区,而不是继承操作系统时区。:Oracle Scheduler、Flashback 等内部功能也会遵循此设置,实现真正的多租户隔离。

2026-04-08 16:22:44 310

原创 Oracle 26ai新特性:SQL Firewall(SQL 防火墙)的使用方法

SQL Firewall 是 Oracle Database Vault 的内置组件,用于防止 SQL 注入、异常访问和凭证滥用。它通过**允许列表(Allow-List)**机制,仅允许显式授权的 SQL 语句执行。

2026-04-08 15:53:03 307

原创 Oracle 26ai 的 SQL 语言增强特性

自动按 SELECT 列表中所有非聚合列分组,无需显式列出所有列。:使用 SELECT 列表中的别名或位置号进行分组,更简洁。:当 SELECT 列表有很多列时,简化代码并避免遗漏。:生成标准 UUID,替代手动生成或调用外部函数。:通过列名而非位置指定插入值,顺序无关,更清晰。:直接过滤窗口函数的结果,无需嵌套子查询。

2026-04-08 15:45:21 145

原创 REDO文件误删除故障恢复

本场景针对**Oracle数据库未正常关闭(处于运行/mount状态)联机重做日志文件(redo log)被误删除、标记为deleted(已删除)**的故障问题。

2026-03-20 11:54:09 80

原创 Oracle UNDO表空间文件误删除故障恢复

本篇针对Oracle数据库UNDO表空间数据文件误删除后的两类典型故障场景。

2026-03-20 11:27:18 544

适配 Python2.7 的 binlog2sql 一键部署包

适配 Python2.7 的 binlog2sql 一键部署包

2026-06-18

Oracle数据库delete表数据恢复

Oracle数据库delete表数据恢复的Package,适用于无备份无闪回等任何常规恢复手段的情况下,对delete的表数据进行无害恢复。

2026-06-04

空空如也

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

TA关注的人

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