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。

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 又是一个较为罕见的等待事件。为了便于后续跟踪和分析,这里记录一下该问题及其相关细节。

,

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代码。

,

恢复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问题,简单记录。

,

有哪些技术可以减少PostgreSQL/openGauss数据库的存储空间?

试想一下如果你的OpenGauss或postgreSQL数据库主机告警使用率超过了90%, 且因为使用local 存储,所有硬盘槽位已用完,除了迁移或扩展外部存储以外,是否可以给数据库做”瘦身”, 在PostgreSQL数据库中,有几种技术可以帮助减少数据库存储空间的使用

Troubleshooting XFS filesystem损坏恢复,与ASM start fail案例

上个月那次“盆泼大瓢”式的暴雨差点导致一客户的服务器上船,但还是导致电源故障,在UPS支撑了一会儿中断,再次启动RAC中的一个节点,查看/u01 oracle 软件所在的文件系统无法使用, 重启后操作系统无法启动,后修复文件系统再次出现ASM无法启动问题,简单记录一下这个故障。

,

Troubleshooting oracle 19c datapatch Fails with Error:”ORA-25153: Temporary Tablespace is Empty”

一套oracle 19c 多租户环境,安装19.19RU时datapatch失败,日志提示其中某个PDB执行SQL时,ORA-25153: Temporary Tablespace is Empty (DBD ERROR: OCILobCreateTemporary) ,简单记录处理方法.

,

Oracle RAC Multiple Private Interconnects注意配置rp_filter

前段时间一套Oracle Exadata的环境, 2个ib做的private network和cell存储网络,但总有一条存储链路从db server到cell server ping不通,但是ibstat ibping rds-ping都正常, 因为一个IB链路出问题同样影响IO,无法做到高可用。后分析发现是出于安全检查只是从内存级修改了rp_filter值为1启用了严格的反向路径校验,禁用rp filter后恢复正常。

Troubleshooting Oracle 19c PDB受限,SQL patch ID/UID xxx … ROLLBACK with status WITH ERRORS in the xxx.

oracle最近的问题遇到了越来越少, 今日一客户oracle 19c数据库重启后pdb进入受限模式(restricted), 回想前几日有安装一个小补丁one-off patch,运行过datapatch当时没有重启应该是问题没有暴露出来,查看pdb_plug_in_violations确认问题原因并非该one-off patch,因早期该库是Dataguard standby激活,软件RU新于原主库。

, ,

如何从oracle 备份集恢复数据库?未知DBID DBNAME, 无controlfile

上周一客户咨询如果只有几个RMAN备份集文件,无任何地方得知controlfile, 如何恢复数据库?通常我们做RMAN备份会建议spfile, controlfile, datafile,archivelog一起备份,但如果没有rman备份日志,也没有备份controlfile如何恢复呢? 同时再增加一步,如果dbid 和dbname也不知道呢?

,

Oracle sqlnet.ora配置sqlnet.expire_time 需要重启吗?

最近有个Exadata客户总是出现12c R1数据库等待library cache lock, 根据P3值能发现是Last_Successful_Logon_Time的namespace,关于该特性确实引入了一些问题,之前在《Oracle19c 建议的 One-off patch之disable LAST SUCCESSFUL LOGIN TIME》和Oracle 12c New Feature: Last Login Time for Non-Sys Users及对于登录相关的 LAST SUCCESSFUL LOGIN TIME的Library cache lock又出新参数 记录过该问题,是与登录相关的问题,如果我们在这个版本没有相应的补丁怎么办?是否可以通过降低链接频率规避问题发生?理论上是的。通常是配置SQLNET.EXPIRE_TIME,那需要重启吗?

How stop Oracle ASM diskgroup REBALANCE force? (ORA-15067)

最近某电力行业客户Oracle数据库反馈I/O 慢,查看 gv$asm_operation现在存在几块DROPING状态的OFFLINE的disk,正在做reblance(power 1),业务高峰期DISK BUSY 接近100% ,因为是SATA HDD,DB业务性能受到影响,且该ASM DISKGROUP 100TB以上RBLA预计要2天多的时间, 有没有办法停止当前的RBLA呢?

,

移除DataGuard Standby配置导致Primary启动失败

Datagaurd是oracle 数据库常用的容灾保护方案,但standby不再需要或删除后,在primary 需要清理之前的配置,通常认为很容易,比如禁用日志传输,no force logging, 清理log_archive _destN \LOG_ARCHIVE_CONFIG相关的参数等。是否很容易? 但里面隐藏着一个风险。上周一个政F行业客户遇到个案例,主库Oracle RAC 11.2.0.4原来有dataguard,但是清理后,直到有1个节点重启后实例无法启动,

Troubleshooting DBA_TABLESPACE_USAGE_METRICS or GV$FILESPACE_USAGE query empty

Oracle提供了非常有用的工具和视图来帮助数据库管理员进行数据库管理。其中包括一些处理空间问题的方案。其中一个这样的视图是DBA_TABLESPACE_USAGE_METRICS, DBA_TABLESPACE_USAGE_METRICS是基于GV$FILESPACE_USAGE,另外有些ORACLE周边工具为了简化查询,利用该VIEW日常监控表空间使用率,一客户反馈页面无返回数据,记录一下监控工具的遗漏.

Troubleshooting Oracle 19c RAC gipcd start fail after a node reboot

前不久某银行客户oracle 19c(19.6) RAC,其中一节点计划性操作系统重新启动后,gipcd无法正常启动,导致CRS无法启动的问题。之前曾经记录过2篇Troubleshooting Oracle 19c GIPC start fail with “EXCEPTION[ ret gipcretBadArg (37) ] “和Exadata X7, RAC gipcd 无法启动,因为Network socket files, 这里简单记录.

,