交流群讨论精选1

2022-08-19 21:45:17 浏览数 (1)

讨论话题1:

想请教个问题oracle到pg有什么好的工具同步几十张表

讨论精选:

U1:如果您用的是 enterprise db (postgresql 商业版),他们是有自动化移植 工具的。如果是普通的 postgresql,就得看看有没有开源的工具了,若没有,恐怕要自己写程序导入了。

U2:实时同步可以做到吗

U2:或者准实时也行

U1:据说现在 goldengate 也支持 oracle到 pg 的同步,但我没用过

U3:navicat里面有同步的功能,不知道是不是可以直接同步到PG

U4:不能实时

U2:那个可以的,但是我需要实时,或者准实时也行

U5:应该是kettlel吧,ETL工具

U6:https://www.kettle.net.cn/

免费开源的、可视化的、功能强大的ETL工具

U6:阿里云 DTS 了解一下

U7:非Oracle往Oracle同步的话Ogg应该是可以的,有license的话support会想尽办法帮你搞。反向的话应该比较困难的吧。非专业回复。

U2:开源的吗Dts

U6:不开源 云服务

U2:亚马逊云上有同类产品吗

U6:也有

讨论话题2:

有没有大神知道怎么静默按照19c rac的呢?可以给下文档吗

讨论精选:

U1:在Centos7.6上安装Oracle19c RAC集群,文档巨详细值得收藏

https://mp.weixin.qq.com/s/Maj9jAJVrKDKMPDJl5-Hrw

U2:静默安装官方不支持的

U2:不过RAC on docker的官方方法里有步骤

U3:Oracle在容器里运行?

U4: Docker加RAC还不支持的吧

U4:Docker加Single是没问题的。

U2:是不支持,但里面步骤可以参考

讨论话题3:

dg gap只有一个归档时,查询select * from v$archive_gap;返回的是0行?查看应用的日志可以看到这个归档没有应用到。不应该返回一行吗

讨论精选:

U1:没错,系统就是设计的

U2:为啥?有一个就应该看到一个呀,不然会以为没有gap呢?我这是实验自己知道有一个

U1:简单地说,比较的是 varchived_log 的 sequence# 和 vlog_history的 sequence# 1 谁更大。若 v

U3:有人说,varchived_log 是归档的记录,vlog_history是归档应用的记录,不知道对不对。

U1:再做了一次,只有一个gap返回一行了哦

U1:对这两个视图没有深入研究,搞不懂

U1:只能工作中遇到要多检查下是否应用才行

U2:是否应用,是查看备库有无应用日志吗

U1:

代码语言:javascript复制
  SQL> select * from v$archive_gap;


     THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
  ---------- ------------- -------------- ----------
           1           144            145          1
           2           144            145          1

  SQL> ALTER DATABASE REGISTER LOGFILE '/home/oracle/thread_2_seq_144.598.1074613691';
  Database altered.


  SQL> select * from v$archive_gap;


     THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
  ---------- ------------- -------------- ----------
           1           144            145          1
           2           145            145          1
  SQL> ALTER DATABASE REGISTER LOGFILE '/home/oracle/thread_1_seq_144.599.1074613691';


  Database altered.


  SQL> select * from v$archive_gap;


     THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
  ---------- ------------- -------------- ----------
           1           144            145          1
           2           145            145          1


  SQL> ALTER DATABASE REGISTER LOGFILE '/home/oracle/thread_1_seq_145.601.1074613715';


  Database altered.


  SQL> select * from v$archive_gap;
  
     THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#     CON_ID
  ---------- ------------- -------------- ----------
           2           145            145          1

U1:第一次确实是只有一个gap时是看不到的,

代码语言:javascript复制
    Thread Last Seq Received Last Seq Applied
---------- ----------------- ----------------
         1               146              144
         2               146              144

你看我现在还差145没有注册进去,他就没有应用到146,停留在144那里

U3:看一下v$arcihived_log的applied列是什么状态。然后看看alert日志里面mrp进程在应用145的时候是否有什么信息输出。

U2:你现在是 real time apply 吗?146的 日志,在备库 用 rman 的 list archivelog all 能显示出来吗?

U1:

我这个只是实验哈,我注册145进去了,就应用到最新的了

我试验的过程是:

先defer dest_2的传输。然后archive log current产生归档然后scp到备库,再删除归档。再enable dest_2的传输以此来产生gap做实验的

是实时应用的

0 人点赞