Troubleshooting Oracle RAC node OS shutdown (‘crsctl stop crs -f’) cause db instance stop on another node

ORACLE 2-NODES RAC只关闭了node1上的db instace,当然此时业务不受影响,node2上的实例正常依旧可以对外提供服务, 1小时后OS组准备就绪,在节点1关闭操作系统,同步收到了业务无法访问,查看node2 db实例已自动shutdown, 其它资源正常,手动立即起动db实例2恢复业务,刺激,为什么停实例1 CRS会触发停实例2 的db instance?

Troubleshooting Oracle 19c sessions hang wait “enq: SS – contention” and “DFS lock handle” event

背景是了解到当晚B库的节点1有大量的数据加载操作。实例2 FG 并行查询Sort segment allocations空间紧张,通知所有实例CIC 等待DFS LOCK HANDLE, 其它会话等它完成 等ENQ SS, 而实例1一直未答复sort segment清理完成。 因为 Sort Segments cleanup是后台进程SMON责任,实例1 DBW似乎在等SMON或DBW很忙未完成,TEMP表空间已大到1.5TB,

Index Rebuild in Postgresql vs Oracle

在关系型数据库中,索引是SQL查询性能优化的常用技术,mysql可能不会创建太大的数据库,但是pg和oracle表达到100G或TB以上时,慢查询可能会比较明显,需要考虑创建适当的索引,但随着时间的推移,索引可能需要一些维护来保持性能. 通常当涉及到表时更新时,Oracle管理UNDO的方式和PostgreSQL中的MVCC工作方式略有不同,然而索引仍然可能碎片化,因此需要重新构建。

12cR2 ASM start fail when using multiple private interconnects, HAIP issue

Oracle从11.2.0.2开始引入了一个新特性网络冗余技术HAIP。HAIP的目的用来代替操作系统级别的网卡绑定以实现Active-Active的模式进行数据传输。Oracle HAIP 支持多个私网,之前通常使用OS层的网卡绑定,但Oracle一直在希望使用自己的技术而不依赖其他,但HAIP存在较多bug,个人还是比较推荐OS bond网卡,这里简单记录一个案例,当使用2个HAIP网卡时,节点间HAIP 1缺失并且交叉在两个网卡上的,导致ASM无法启动。

PostgreSQL explain解析(一): buffers

通过扩展EXPLAIN添加值来描述postgresql数据库中SQL的执行计划每个操作读/写的数据,需要使用ANALYZE参数,从Postgres 13开始,它可以额外报告planner的缓冲区使用情况。默认情况下,BUFFERS是关闭的。在更多的情况下,使用BUFFERS将极大地帮助我们理解内部发生了什么

2022年年终总结

Anbob建站跨进第14年年头,习惯性在次年春节前前总结一年的经历,这一年都很难, 大疫三年,时间也不短,当家里的小孩儿都不再唱雇佣者,听我说谢谢你变成尬舞,临近年末宣布疫情新入新阶段,但也无奈有些人可能无法熬过这个春节,因为疫情影响实在太大,“二舅”可能都没冶好的矫情,在不断“续杯”疫情防控封小区囤菜打回现实,放开后报复性消费击倒了“海克斯科技”的冷静。

Troubleshooting Oracle ORA-04031 Due To KGLH0 Heaps growth

KGLH0 associated with the SQL Area in the Shared Pool. Each child cursor consumes KGLH0. Large allocation in KGLH0 can occur due to many child cursors and a lack of sharing of the parent cursor.A library_cache dump(“library_cache level 16”) reveals that each child cursor is associated with one KGLH0 and one SQLA, where KGLH0 stores environment information, and SQLA parsing tree and xplan.

Oracle 12c后的安全增强查询sys.user$ ORA-01031

Oracle 12c后的安全增强可能会导致运维中出现些差异, 如有时需要非sys用户查询sys的user$、link$等基表,这些表是因为存有password hash值,在之前一些安全部门查询是否有弱密码时喜欢采集user$,之前授权select any dictionary系统权限或dba role可以,但在是12c后增强不再允许,还有像Toad这种第三方工具如11.6的老版本在连接数据库时还以检测select any dictionary 判断user$权限也提示ORA-1031错误

AIX 平台分析TOP CPU使用进程ps和topas差异

近日一客户应用反馈数据库使用较慢,每个数据库的性能分析应该先从操作系统负载分析开始,当CPU耗尽时,其它指标可能失真变的没有意义, 当系统缓慢时不应仅从DB里找原因,数据库中几乎无负载,查看OS层发现idle接近个位数, 操作系统为AIX, 从OS层定位top process的命令通常有topas, ps, vmstat,nmon -t等,发现ps和topas显示cpu占比存在较大差异,4%和90%. 简单记录一下。

如何恢复Truncate sys.IDL_UB1$?

近日一客户咨询truncate table sys.IDL_UB1$如何恢复, 为什么会有这样的需求?后来我在测试统计了一下system表空间的TOP 10的大对象,它确实在TOP 1。猜想应该是看到system表空间使用率高, 也未评估IDL_UB1$表的重要性,直接truncate释放了空间。 然后数据crash无法再启动。我找了个19c PDB测试库测试一下如何恢复?不要在生产库测试,也不要轻易删sys Schema下的对象。

Oracle迁移到PostgreSQL注意事项: to_date

近年来国家xc的推广,现阶段国产或开源库迁移逐渐列上日程,目前看已大势所趋, 在选择部分国产(基于)或开源数据库里安全健康的开源协议需要考虑, PostgreSQL是功能强大最接近Oracle的并有全球客户经过长期磨炼过生态健全的关系型数据库,最近有一个项目在原有一套Oracle的应用数据迁移到PG后,在两个PG环境中双数据源双写数据时,其中一套PG的数据库入库存在问题

Troubleshooting ORA-20 on ASM instance after ‘ntpdate’ change OS date

环境oracle 11.2.0.4 2-nodes RAC, 有一套ASM instance登录实例时总是提示ORA-20 进程数耗尽, 该错误常见于DB instance ,本次多台数据库同时出现该问题,但数据库实例暂时未挂,后发现所有机器有部署ntpdata crontab同步OS时间,最后一次错误向前调整了2年的时间后,又修改后出现的该问题,简单记录。

Oracle 23c 几个开发相关新特性

Oracle 23c是19c后又一个长期支持版本(long term release),因为疫情的影响和Oracle版本策略调整,19c后一直未发现可本地部署的版本,23c 目前还是beta版仅ACE Direct和合作伙伴等部分人员下载测试,今天10月份William Hardie发部了申请beta的申请方式,