ORACLE同步数据(dblink+物化视图)
1.创建dblink
1 2 3 4 5 6 7 8 9 | create public database link xirEvalDBlink connect to "XIR_TRD" identified by "xpar" USING ' (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 191.168.0.11)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ' ; |
2.创建物化视图(可二选一)
(一.全量刷新)
CREATE MATERIALIZED VIEW mv_sync_eval REFRESH COMPLETE AS SELECT * FROM TCB_BOND_EVAL@xirEvalDBlink;
(二.增量刷新)
实体化视图日志是在创建增量物化视图时必需的,因为它们用于跟踪源表中的更改并更新物化视图。如果表TCB_BOND_EVAL没有实体化视图日志,则无法创建增量物化视图。
要解决此问题,您需要在表TCB_BOND_EVAL上启用实体化视图日志。可以使用以下命令来执行此操作:
ALTER TABLE TCB_BOND_EVAL ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
此命令将为表TCB启用实体化视图日志,并允许您创建增量物化视图。
请注意,启用实体化视图日志可能会对系统性能产生一定的影响。因此,在为表启用实体化视图日志之前,请确保已充分评估其影响。
CREATE MATERIALIZED VIEW mv_sync_B REFRESH FAST ON DEMAND AS SELECT * FROM TCB_BOND_EVAL@xirEvalDBlink;
3.创建定时任务作业
BEGIN DBMS_SCHEDULER.create_job ( job_name => 'sync_xir_to_xspeval', job_type => 'PLSQL_BLOCK', job_action => 'BEGIN DBMS_MVIEW.REFRESH(''mv_sync_eval'', ''C''); INSERT INTO TCB_BOND_EVAL SELECT * FROM mv_sync_eval; END;', start_date => SYSTIMESTAMP, repeat_interval => 'FREQ=DAILY; BYHOUR=1', --每天1点执行 enabled => TRUE); END;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
2018-05-18 Java中使用Jedis操作Redis
2018-05-18 Redis数据库