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年年头,习惯性在次年春节前前总结一年的经历,这一年都很难, 大疫三年,时间也不短,当家里的小孩儿都不再唱雇佣者,听我说谢谢你变成尬舞,临近年末宣布疫情新入新阶段,但也无奈有些人可能无法熬过这个春节,因为疫情影响实在太大,“二舅”可能都没冶好的矫情,在不断“续杯”疫情防控封小区囤菜打回现实,放开后报复性消费击倒了“海克斯科技”的冷静。
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 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中我们应该选哪个字符集?会有什么影响?
如何增加新表到Goldengate已存在的同步链路?
在日常Goldengate日常运维中最常见的是在现有的同步进程中增加新的同步表, 这里记录简单的使用class mode典型模式时,增加新表的过程。