2024年年终总结

按照过去十几年的惯例,每逢农历年末我都要整理回顾过去的一年, 岁月流转,多年的坚持犹如一场漫长的旅程,而在这趟旅途中,一个问题愈发强烈地萦绕在我的心头:我到底在执着于什么?这一切的付出与努力,是否真正值得?

如何配置Oracle Gateway 到MySQL?

oracle 的gateway透明网管支持像oracle dblink一样访问异构数据库如mysql, sql server等,在十四年前当时在维护oracle和sql server时,安装配置过还写了个整理了《安装透明网关 for sql server》,时间过的真快,没想到这次oracle的交接已经全面展开,在过渡阶段可能会存在一些异构数据库的访问,使用 Oracle ODBC 网关和异构服务技术从 Oracle 系统访问 MySQL 数据,本文介绍如何使用 ODBC Driver for MySQL 创建MySQL 和 Oracle 的数据库链接,并通过 SQL*Plus 工具查询 MySQL 数据。

OGG Integrated replicat process Abend with error Ora-4031 “streams pool” “apply shared t”,”commbuf_knasctx[0]”

在 Oracle GoldenGate 中使用集成模式时,STREAMS_POOL 起着至关重要的作用。集成进程从“STREAMS POOL”获取共享内存。STREAMS POOL 是 SGA 的内存组件之一。STREAMS_POOL_SIZE 的大小应根据数据库系统中使用的集成提取的数量来确定。我们还应该考虑在数据库中使用 STREAMS POOL 的其他进程。最近一个案例ogg异常报错,因ora-4031 streams pool不足,简单记录。

如何在 PostgreSQL中强制Join连接顺序?

在oracle多表关连中有SQL hint可以干预CBO产生的不合理的表join顺序,如ordered, leading等,但PostgreSQL和部分基于PG国产数据库如Highgo V9.5, 目前也还不支持SQL hint。当遇到SQL性能问题,明确某个join 顺序更好时,如何影响PG数据库优化器执行指定的执行计划呢?如果您真的需要SQL hint,在pg中可以安装 pg_hint_plan 扩展,但目前应该是因为highgo的oracle和pg的双兼容模式,如果实现pg_hint_plan在解析器上隔离上要复杂了些,所以暂未实现,又或者不想安装第三方扩展,在这种情况下,记录几个可以强制执行join ordered的替代方法。

Oracle ASM normal /high redundancy DISKGROUP 丢失 1 failgroup影响:将继续运行,但无法重新启动

在oracle数据库中, 避免磁盘故障对于避免数据损坏至关重要,但有时,即使 ASM 具有冗余,也可能会发生多个故障。最近有个客户给两个存储做了2个Faigroup+1 Quorum  third voting disk on a NFS server,在测试高可用时,断开一个存储链路后发现些疑问,一个是断开期间有业务近10秒的挂起,另一个是重启节点后实例无法启动。