Troubleshooting Goldengate OGG-02171 and OGG-02191 Pump Extract process ABENDED
最近处理了一起Goldengate Pump Extract进程abended的案例, 进程日志提示ERROR OGG-02171 Error reading LCR from data source和 ERROR OGG-02191 Incompatible record 104 错误,属于trail文件中的事务记录损坏, 通常是跳过文件中的错误记录,重新启动进程,环境是集成模式的goldengate 18.1。
Oracle 19c Top event show “dispatcher listen timer” ?
今天在调试我的oracle数据库巡检脚本odbhc时,发现一套19c rac 测试库的top 1 event为 “dispatcher listen timer” , 影响脚本的显示,该数据库并没有配置共享会话模式,实际上是一个idle wait event算是AWR统计类Bug 19865595 , 后期版本已修复。
Troubleshooting RMAN backup datafile slow , ASM wait ‘buffer busy’ and ‘GCS lock esc’
最近在做一批Oracle database datafile 从1个ASM diskgroup 迁移到另1个ASM diskgroup时,单个datafile一直无法完成或挂起或多出几倍的时间,正常时1个datafile 30g在150s, 而突然间变的600s都没有完成, 数据库版本oracle 11.2.0.4 。 问题时尝试查询v$asm_diskgroup[_stats]或asmcmd lsdg一样很慢或hang。 登录ASM实例查询会话在等待“buffer busy”和”GCS lock esc” 这里简单的记录一下。
V$RECOVERY_FILE_DEST与V$FLASH_RECOVERY_AREA_USAGE显示不一致
最近一个客户的数据库归档空间满,导致数据库挂起,无法连接,sys登录时提示ORA-00257: Archiver Error, 确认数据库使用的是flash recovery area,从oracle 10g R2提供了V$FLASH_RECOVERY_AREA_USAGE 可以查看flash recovery area中每类文件使用的比例,但是加起来不足10%,且当前flash recover area size已经达2TB, 因为无法远程,临时更改数据库归档路径为具体ASM DISKGROUP不再使用FRA, 这里简单记录一下排查方法
Troubleshooting Oracle 11g ‘latch free’ 166# “mostly latch-free SCN”
近期一个客户oracle 11g 11.2.0.4 的环境, 业务出现拥堵, 活动会话的等待事件是latch free, 并且P2# 显示是一个不常见的mostly latch-free SCN ,简而言之就是过去oracle版本用这个latch 保护scn,现在已经不在需要的一个latch bug.
介质污染 ORA-00600: internal error code, arguments: [16703], [1403], [20] 修复
如果你不幸数据库在启动时提示ora-600 16703,那很可能是从网上下载安装的oracle数据库软件安装介质中被人篡改了, 增加了启动时判断启动时间,然后删除tab$数据字典的老套的破坏方法, 这个网上的修复方法很多,情况有时也不同,建议找专业人事修复且不要造成二次破坏,这种如果只是最初的版本,修复还是相对比较简单,顺利的话个半小时,0数据丢失恢复
Goldengate Replicat Abends With ORA-00001处理方法
当GoldenGate复制进程(Replicat)在目标数据库上遇到ORA-00001唯一性冲突错误时,可以采取以下常见解决方法:
2023-1-617:57:36 WARNING OGG-02544 Unhandled error (ORA-00001: unique constraint (.) violated
ORA-00001: unique constraint (
LICAT will retry in Direct mode.
Troubleshooting “enq: XR – database force logging” Wait Event
当您尝试在其中一个数据库会话正在执行 NOLOGGING 操作时,尝试将数据库置于 FORCE LOGGING 模式时,将观察到“enq: XR – database force logging”等待事件。这很容易证明。 连接到数据库(例如会话 1)并执行 NOLOGGING 操作:通过从不同的会话(例如会话 2)执行以下 SQL,将数据库置于 FORCE LOGGING 模式:您将观察到 Session-2 不会立即完成,而是等待enq: XR – database force logging。
HighGo(瀚高)V6 数据库单机初体验
瀚高数据库在我好多年前预学习PostgreSQL时就有耳闻,有瀚高公司维护,该公司在PostgreSQL国际社区贡献度中也是中国排名靠前的组织,发起了另一个开源项目IvorySQL,同样是兼容oracle的postgresql数据库,两者都是在PostgreSQL路线做了大量的创新与生态工具,我记录体验一把HighGo企业版。
如何查询OceanBase的数据字典或VIRTUAL TABLES?
在oracle数据库中有dictionary(dict)和v$fixed_table可以查询数据字典表和v$相关的系统内部对象,查询数据库内部对象不记的完整名称是可以直接从两个根对象记录中查找(TanelPoder‘s d.sql) , 对初学OceanBase的新手,也希望可以找到数据库中自带了哪些数据字典或view?兼容了oracle哪些view数据来源是哪里?如同在oracle中查询V$FIXED_VIEW_DEFINITION.
Oracle ASM rebalance 完成还有多久?
oracle ASM 从12c后引入了诸多特性,如FLEX ASM、Increased ASM storage limits、ASM instance V$ACTIVE_SESSION_HISOTRY 、ASM Disk Scrubbing外,最近发现还有一个关于ASM DISK rebalance 的增强EXPLAIN WORK FOR命令。12c 中新的 EXPLAIN WORK FOR 语句测量给定 ASM rebalance所需的工作量,并将结果输入 V$ASM_ESTIMATE 动态视图中.
Troubleshooting Oracle 19c wait event latch free 39 “object stats modification”
近日,一位客户的Oracle 19c(19.18)环境中出现了一些查询堵塞等待较高的“latch free”情况。通过分析AWR报告中的ASH(Active Session History)数据,我们发现某些查询频繁等待“latch free”,并且p2值对应的latch号为39,latch名称为“object stats modification”。
“latch free”等待事件在Oracle 11g之后相对较少见到,通常我们会看到具体的latch名称。 “object stats modification” latches 又是一个较为罕见的等待事件。为了便于后续跟踪和分析,这里记录一下该问题及其相关细节。
案例:openGauss/postgreSQL 数据库手动清理膨胀Heap Bloat (dead tup)
前段时间整理过一篇《有哪些技术可以减少PostgreSQL/openGauss数据库的存储空间?》,记录过postgresql系数据库出现的膨胀表(索引也一样)可能会导致数据库空间浪费,在openGauss中发现存在一个现象,比如对一张几千万行的table做过千万级大事务更新或平时更新比例较多时,autovacuum的清理并不理想,导致出现几十倍的空间膨胀,记录一则处理案例。
Troubleshooting Oracle ASM ORA-15041 & ORA-15074 after disk offline DROPPED.
oracle 11g R2环境1组normal冗余的ASM DISKGROUP包含3个cell的,每个cell为1个failgroup, 每个failgroup有48块ASM disks.因为一些硬件原因1个cell掉了19块disk,但offline后并未reblance完成,超过了“_asm_disk_repair_time”时间内没有online,被磁盘组自动drop force, 手动reblance时因为有1块asm disk使用不均衡free接近0MB,所以rebance会提示ora-15041错误。 此时add force与undrop均报错ora-15047. 处理rebalance需要空间,但加空间需要等上一个reblance完成的死结循环中。
Oracle 12c feature: SQL Translation Framework(文本替换) & event 10601
SQL Translation框架是 12c 中的一项新功能,使开发人员能够在不更改底层代码的情况下替换SQL代码。这个特性是sql profile baseline的增强,原来是可以不动SQL文本替换执行计划,现在是连sql文本都可以“隐式”替换。这功能可用于在异构数据库向oracle迁移时,替换SQL代码。
openGauss ERROR: inserted partition key does not map to any table partition Call getNextException to see other errors in the batch.
opengauss系数据库insert失败因缺少匹配分区表,提示inserted partition key does not map to any table partition ,在oracle中一样存在该问题,建议月末或年末提前查询下个月的分区是否存在,匹配oracle的dba_tab_partitions,在postgresq 11后查询pg_partitioned_table,而在openGauss中查询pg_partition.
恢复sys.IDL_UB1$被rename了
《如何恢复Truncate sys.IDL_UB1$?》之前分享过这个对象被清空时的恢复,近期又有用户发现system表空间占用较大,发现IDL_UB1$是top对象,于是乎采用取表DDL,rename原表名,新建该表,数据导出导入方式重建该表。但是发现rename IDL_UB1$表,新创建IDL_UB1$后,exp无法导出,所有DDL无法执行, 包括无法rename回退,庆幸的是当前数据库还没有重启,否则就无法正常启动了,恢复更加复杂。
Troubleshooting oracle 12c error ORA-4021 and alert show “qsmqChkOCMV : Timeout while locking“
前不久一套oracle 12c RAC环境,客户反馈数据库出现过行锁enq: tx row content和library cache lock。blocker session为dbms_scheduler执行的sql是在收集统计信息,同时db alert log频繁提示qsmqChkOCMV : Timeout while locking object:NNNN, 简单记录.
Troubleshooting Oracle 19c cascade Dataguard Gap ORA-03135: connection lost contact
最近客户一套oracle 19.14 standalone Database做的cascade dataguard环境,暂且认为是A->B->C三台单实例, 但总是A->B的延迟,从oracle 12c后引入real time cascade,所以如果依赖该特性对延迟要求较高, 分析A->B延迟发现,B库总时会出现GAP,并且未自动FAL,需要人为干预, 并且主库alert日志报错出现:
ORA-03135: connection lost contact
TT02 (PID:64459): Error 3135 for LNO:3 to“xxx”。
Troubleshooting ORA-00600 [kjucvl:!busy], [8] crash & Different datetime between RAC nodes after restart
最近一套oracle 11.2.0.3 2-nodes RAC on AIX环境数据库,触发ora-600 [kjucvl:!busy] 和 ORA-00600: , : [kjuscv]后db instance crash, 但重启后使用plsql dev客户连接实例的两个节点,sysdate返回不同的时间,同时从db alert log 的时间也能发现实例重启后日志倒退了8小时,看来还是timezone问题,简单记录。