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将极大地帮助我们理解内部发生了什么
RMAN Fails With RMAN-20021: Database Not Set On Physical Standby
前段时间一套11.2.0.4环境standby db因为password file问题与primary db产生了一个月的Archivelog GAP,修复密码文件后Standby已同步跟上Primary db ,但是原备份软件在Standby上的备份任务从那天起一直失败报错RMAN-20021
2022年年终总结
Anbob建站跨进第14年年头,习惯性在次年春节前前总结一年的经历,这一年都很难, 大疫三年,时间也不短,当家里的小孩儿都不再唱雇佣者,听我说谢谢你变成尬舞,临近年末宣布疫情新入新阶段,但也无奈有些人可能无法熬过这个春节,因为疫情影响实在太大,“二舅”可能都没冶好的矫情,在不断“续杯”疫情防控封小区囤菜打回现实,放开后报复性消费击倒了“海克斯科技”的冷静。
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 11.2.0.4 SDO ORDIM XDB CATPROC XQQ invalid after install ojvm psu
在安装oracle 11.2.0.4后在应用OJVM PSU后错误执行了readme中的exec dbms_java_dev.disable; 后,数据库多个之前的组件都失效(INVALID), 大量invalid对象,查看dba_registry显示如下,像SDO ORDIM XDB CATPROC XQQ.
如何在mysql脚本中不使用明文密码?
之前在如何在Oracle 19c expdp/impdp 脚本中不使用密码? 一文记录过在Oracle备份的shell脚本中不配置明文密码,MySQL同样可以使用mysql_config_editor工具生成存储加密登陆的方式,使用的模糊处理可防止密码以明文形式显示,并提供 通过防止无意中泄露密码来衡量安全性
PostgreSQL维护索引相关查询
PostgreSQL 具有一组丰富的索引功能,人们开发数据库一段时间后,当需要对软件架构进行更改时,他们忘记了对以前的索引进行清理。这种方法会造成混乱,有时会因为索引过多而减慢数据库的速度。
PostgreSQL所有历史版本列表(时间)
在Github看到这个项目postgres_all_versions,是Greg Sabino Mullane 开发的一个Perl脚本,可以解析在线Postgresql的官方文档,从中把所有PostgreSQL的版本及新特性变化,生成一个大的html文件。
Oracle 23c 几个开发相关新特性
Oracle 23c是19c后又一个长期支持版本(long term release),因为疫情的影响和Oracle版本策略调整,19c后一直未发现可本地部署的版本,23c 目前还是beta版仅ACE Direct和合作伙伴等部分人员下载测试,今天10月份William Hardie发部了申请beta的申请方式,
oracle 如何调用 postgresql中的procedure、function?
在去O的过程中或当前多种数据库并存时,有些存在跨DB的调用,如可以使用gateway,dblink或fdw在oracle和postgresql间跨数据库访问数据,当前有个项目存在2个数据库存储过程的依赖调用,如果从oracle调用postgresql中的存储过程呢?
How to config Hugepage when 1M hugepagesize on IBM LinuxOne
对于oracle、Postgresql都建议配置Hugepages, 通常RHEL linux上看到的hugepage size默认都是2M, 并且在Oracle 19c的db alert log中实例启动时有对于hugepage 使用个数的提示, 但是只有4k, 2M, 最近发现一客户IBM linuxone环境的Linux默认hugepage size为1MB(for IBM Z the hardware page size is 1 MB.), 那在配置hugepage时, DB alert log关于hugepage会如何显示?
MySQL 8.0:字符集用utf8mb4还是utf8mb3?
前几天有套MySQL业务上线,开发提供的那表脚本中默认表级字符集为utf8bm3, 印像是utf8mb4在MySQL8为默认首选字符集,所以针对这块做个小功课,utf8bm3和utfbm4在MySQL8中我们应该选哪个字符集?会有什么影响?