如何将生产环境 Oracle 数据库某张表数据准实时复制到本地环境? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
la0wei
V2EX    Oracle

如何将生产环境 Oracle 数据库某张表数据准实时复制到本地环境?

  •  
  •   la0wei 2023-05-19 15:53:52 +08:00 1675 次点击
    这是一个创建于 944 天前的主题,其中的信息可能已经有所发展或是发生改变。
    生产环境 RHEL+Oracle
    本地 Windows
    服务器无权限,oracle 有完整权限,但是不会操作:(

    想要数据库中某张表的数据,只要最新的 45 天的,可接受手动管理删除过期数据
    1.该表每天 3W 新增数据,期望获得准实时数据,如这样对数据库影响大,可以每天一次获取数据

    2.该数据库另有一张表每天有 600W 新增数据,有非常明的峰谷波动(此现象正常),有两年的历史数据,此外有其他行为读写数据库,因此希望能降低对数据库影响

    3.搜索发现有个叫 ogg 的工具,但是需要在服务端安装软件,不考虑

    4.曾考虑过本地自建 oracle ,将数据同步过来,但是不会操作

    5.曾经听说过数据抽取这个概念,好像和我的需求吻合,但是仅限于知道这个名词。

    6.需要对服务器端及数据库低操作,低负载影响

    7.本地数据库无所谓 oracle 、mysql 、sql server 、sqlite 都可以

    以上是我的需求,还请 v2exer 给点意见,哪怕关键词也好,谢谢大家。
    11 条回复    2023-05-22 17:38:26 +08:00
    F281M6Dh8DXpD1g2
        1
    F281M6Dh8DXpD1g2  
       2023-05-19 15:55:20 +08:00   1
    debezium cdc 拉出来呗
    la0wei
        2
    la0wei  
    OP
       2023-05-19 16:02:51 +08:00
    @liprais 似乎是实时信息获取,可以抓到历史数据吗?有篇比较 ogg 和 debezium cdc 的文章,写 ogg 不需要在源端安装软件,那 ogg 似乎也可以。感谢!
    la0wei
        3
    la0wei  
    OP
       2023-05-19 16:09:45 +08:00
    @liprais 我搜了下 ogg ,似乎要开启归档模式,我要去数据库验证下,有什么低侵入性的替代吗
    d2moqi
        4
    d2moqi  
       2023-05-19 16:28:52 +08:00
    ETL 工具 数据抽取 定时增量同步?
    工具:kettle
    可以了解一下
    F281M6Dh8DXpD1g2
        5
    F281M6Dh8DXpD1g2  
       2023-05-19 16:29:54 +08:00
    @la0wei xstream api 不用开归档应该,你有 ogg 应该可以直接用 debezium xstream
    la0wei
        6
    la0wei  
    OP
       2023-05-19 16:52:21 +08:00
    @d2moqi ETL 这个词听说过,估计有戏:)
    @liprais debezium xstream 这两个我都看看
    la0wei
        7
    la0wei  
    OP
       2023-05-19 17:17:50 +08:00
    @d2moqi 看到一篇文章《超详细的六款主流 ETL 工具介绍及功能对比》,对 ETL 工具对比,声称 kettle(pantaho)对数据库表结构有要求,存在一定侵入性。对这个工具不了解,是这样的设计吗?对数据库无 /低侵入性优先,易用性第二,开源免费第三
    d2moqi
        8
    d2moqi  
       2023-05-19 17:34:44 +08:00   1
    @la0wei 只是数据同步的话我觉得是完全没有入侵性的,需要一个能同时连通 线上数据库和本地数据库的环境,然后 kettle 编辑任务(可视化编辑),读线上数据库数据 然后 处理(也可以不处理)输出到本地数据库。最简单的数据同步就完成了
    bl
        9
    bl  
       2023-05-19 17:43:49 +08:00
    kettle
    bl
        10
    bl  
       2023-05-19 17:44:13 +08:00   1
    datax
    la0wei
        11
    la0wei  
    OP
       2023-05-22 17:38:26 +08:00
    @d2moqi @bl
    踩坑如下,不管结果如何,记录下来,方便后来人

    oralce 版本都是 11g11.2.0.1.0
    服务器是 centos6
    客户机是 win7
    下载文件 pdi-ce-9.4.0.0-343.zip

    Pentaho data integration(kettle),spoon 反正不管啥名字,这软件运行起来了,功能界面倒是很容易理解,但是在连接数据库那里卡住了

    首先报错 driver class 'oracle.jdbc.driver.OracleDriver' could not be found,make sure the 'Oracle' driver (jar file) is installed.
    显然没有连接驱动的关系,下载 ojdbc6.jar 放 pdi 的 bin 目录即可,需要重启软件加载。至于更高版本的 ojdbc 没有尝试。

    依然连接数据库报错,特意复现了下:
    Connection failed.verify all connection parameters and confirm that the appropriate driver is installed.Listener refused the connection with the following error:ORA-12505,TNS:listener does not currently know of SID given in connect descriptor
    搜索才知道要在数据库名称前加 / ,不然会报 ORA-12505

    以为表输入、插入更新两个步骤就行了,看报错是对 NULL 处理有问题,然后加了个 if field value is null 的步骤

    但是又有问题了,插入那对 NUMBER(13,6)转换有问题,提示 java.lang.String cannot be cast to java.lang.Double

    估计是在 if field value is null 的转换还是有问题。

    暂时踩坑这么多,后面看情况,字段太多,每个都来一遍太累了,后面可能退而求其次直接 dump 数据库
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     890 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 21:14 PVG 05:14 LAX 13:14 JFK 16:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86