Troubleshooting ORA-00600: internal error code, arguments: [kcbbxsv_nwp] and opatch fail one-off patch

几年前在某个客户查看Oracle数据库 RAC补丁时发现节点间存在不一致的现象,当时在这篇《Using ‘opatch lsinventory’ show patched is real? (看到的补丁信息真的靠谱么?) 》记录过, 最近又遇到了一片“沼泽地”环境,运维人的窘境是无法要求建设阶段如何规范化,什么样的环境都要接,即使到处是坑。这里再分享一例有个ora-600错误引起的一系列问题。

, ,

如何在Oracle 19c expdp/impdp 脚本中不使用密码?

MySQL中容易泄露数据库用户密码的地方,如shell、SQL的历史记录、主从复制等,当然也包括部署的一些数据库脚本,如逻辑导出,Oracle也不例外,好多用户在用户密码复杂度上很苛刻,但如在数据库中部署的如RMAN、EXPDP等脚本还是明文的密码那就比较不规范,

,

PCTFRR for index and HOW to find index blocks by key value?

pctfree常用于控制block中预留的空间,对于table insert是发现超过pctfree后分析新空间,但是对于index对象PCTFREE只是在创建索引时(create or rebuild)生效,平时的DML后并不会保留该空间甚至会耗尽做index block split, 之前写过一篇Oracle 12c: index treedump, 这里再延伸一篇,如果根据index key entry查看index block.

浅谈数据库与GPU?

最近有客户咨询数据库可不可以使用GPU (Graphics processing unit)来给数据库负载加速, GPU 是专用的高度并行硬件加速器,最初设计用于加速图像的创建。最近,人们一直在寻找GPU来加速其他工作负载, 对于GPU的非显卡使用场景最火的当属对于虚拟货币的挖矿,

,

Oracle Data Redaction 19c 数据脱敏

前几天见有客户咨询表列数据只让部分用户可见的访问控制问题,Oracle数据库在数据安全上的解决方案也是相当优秀的, 除了权限配置,还有加密与脱敏功能与组件,如列级TDE加密和Data masking对真实数据有修改,同时安全访问还有VPD、DV、 Data Redaction白皮书此类不修改原始数据。这里简单总结分享Data redaction功能特性。在EDB数据库发现同样实现了该功能。

RHEL7(Linux7)安装Oracle 12c RAC 问题小结

之前总结过一篇RHEL7(Linux7)安装Oracle 11g R2(11.2.0.4) RAC 问题小结, 这里记录一个12c安装姊妹篇, 现阶段oracle数据库版本虽然已经不在主推12c,但存在一些客户安装12c时的问题, 这个版本确实存在很多不成熟的地方,在DB安装OUI阶段可能就几个问题。

oracle add column xx default value 增强(二)

oracle11g add default values columns(增加默认值列的改进)11年前 学习oracle初期测试过oracle 11g相对oracle 10g的增强, 对于增加列default not null 时只增加数据字典定义,而不有update 表现有数据,给对于大表比如上亿记录的列增加带来不小的提升, 今天看到同事在使用ogg 从19c to 11g同步DDL 又看到了这个现象。

Can OGG be used to extract capture from oracle dataguard standby for Multitenant database?

最近在测试oracle to postgreSQL项目中,计划使用oracle standby database做为数据库初始化的静态数据,这没有任何问题, 那是否可以从standby database捕捉变化呢?如配置ogg extract抽取进程。

,

Troubleshooting Oracle 19c GIPC start fail with “EXCEPTION[ ret gipcretBadArg (37) ] “

最近一套ORACLE 19C RAC 因一个节点主机故障重启后,其中1节点启动失败, 2节点正常启动,网络traceroute 、 ping 、多播测试均正常,幸存节点也有尝试重启、包括Kill gipc gpnp 进程,及重建过node 1的tmp 下的network soket临时文件, node1 依旧启动失败, 启动分析Init启动进程发现是gipcd启动后直接terminal中断

Oracle logminer笔记(四) 19c 多租户

10多年前测试过10g的logmnr用于从redo或archivelog中分析DDL DML记录, 当做一些误操作无法flashback技术恢复或无备份时,可以尝试用来从redo log中恢复一些操作, 最近测试了一个19c多租户环境中的logmnr,记录如何恢复某个PDB中deleted 记录。

Troubleshooting Oracle 19c RAC CSSD process cannot get real-timepriority

When CSSD process is unable to get real-time priority and is not running in real-time, it may lead to various HA issues. From 19c, this is treated as a fatal error.CSS cannot start normally if failed to get real-time priority.

,

Performance tuning ‘free buffer waits’ and ‘db file async I/O submit’

环境Oracle 11g(11.2.0.4) on RHEL6.9, 文件存储在SATA SSD的文件系统,每秒redo 50-100MB, 存在部分时间段40多组2GB online redo logfile 同时”active”状态的现象,cpu使用率60%左右。除了优化checkpoint外发现有2个少见的TOP event, 查看FG top event为’free buffer waits’, BG top event为 ‘db file async I/O submit’。

,

Troubleshooting ASM allocation is failed due to ORA-4030 though OS has enough free memories.

某客户一套Oracle 11.2.0.4 4-node RAC ON RHEL 7.6 环境 ,ASM High冗余Diskgroup 有600TB存储(没错是个超级大库), 其中有1个1TB的ACFS DG. 一日突然节点1个节点ASM和DB实例crash, 重启后正常, 分析当时的日志是ASM 实例的VDBG后台进程出现的ora-4030错误,目前需要分析一下原因。 简单记录。

,

Troubleshooting Oracle redo file on SSD wait event ‘log file sync’

最近某客户一套Oracle19c RAC 环境,在负载相对空闲时也面临一个常见的问题”log file sync”, 数据库存储已经是较快的SSD设备, 下面记录一下容易忽略的RAID配置,居然对数据库的影响如此之大的案例。

, , ,

Troubleshooting DB Logon failed ORA-01017 when Listener show Service has 2 instances

一套oracle 12c physical casecade dataguard 多租户环境,a–>b –>c, 用户在登录B standby数据库时间隔性提示ora-1017密码错误, 并且发现只是其中一个Pdb 存在这样的问题,如连续多次登录中其中有部分登录成功。

Troubleshooting Library cache lock (OPTIMIZER EXPRESSION HEADER ) on oracle 19c

The environment is Oracle 19.14 RAC 4-nodes, After the database was upgraded to 19c, there was a performance problem. From AWR, I saw a large number of library cache locks and library cache pins in the top event. namespace was OPTIMIZER EXPRESSION HEADER

Know more about ORACLE’S RECYCLEBIN

Recyclebin回收站是oracle数据库对于drop table的一种回退机制,可以使用flashback before drop特性闪回已drop还在recyclebin中的对象。纵观其他数据库像SQL Server也提供了类似功能, MySQL可以利用recycle_bin插件,但是作用在MySQL slave实例上,当在master实例上进行drop操作时,slave实例可以拦截drop操作,先进行数据备份再进行删除操作。 而在PostgreSQL中可以利用event trigger和pg_event_trigger_dropped_objects 来手动实现drop时 rename对象的方式变相实现recyclebin功能, 当然也可以使用一些插件如Pgtrashcan、postgresql-recycle-bin;在Opengauss中也增强了flashback的功能,但是需要注意更新方式是使用Ustore还是Astore, recyclebin不支持Ustore,只支持Astore,而且同样支持Truncate。

How to Recover Oracle Standby Database Using an Incremental Backup?

Oracle Standby database容灾库有时因为一些原因缺少了Primary database的archivelog未应用而中断同步,如备库归档目录使用率100%,或主库未传输删除了归档等。重新搭建DATAGUARD对于较大的数据库可能是费时费力,通常可以采用增量备份的方式,最近刚好是在处理一个ogg不同步的问题时。

,

Troubleshooting performance event ‘enq:CR – block range reuse ckpt’

enq:CR – block range reuse ckpt 出现该问题时分析等待链通常是前台进程等待CKPT进程在完成checkpoint, 通常是在DBWR进程在争用CPU或I/O 性能时,通常该event会非常短暂,如果该event已经在AWR dbtime中占据了较大占比时,需要引起关注。

Troubleshooting ORA-39002: invalid operation during datapump TZ version Difference

最近有个datapump跨数据库迁移数据时,提示”ORA-39002: invalid operation”错误, 排除过目录文件权限和语法兼容问题,后来发现是目标库的Timezone Version低于源库的TZ version. 需要升级目标库的TZ VERSION