近日公司有一个9i 的Oracle数据库,运行效率低下。想要将其升级到11G. 但是升级之前 要将数据进行同步,好在表不是很多。只有三张表。业务压力也不大,就想到了使用物 化视图的方式将数据同步过来。

1.1 环境

数据库主机 IP地址 TNS DB_LINK ORACLE 版本
db2 10.100.99.114   to_118 11G
db1 10.100.99.118     9iG

上面是本次操作测试的环境。说明: 将9i 数据库中的表实时同步到11G.

1.2 在db2配置指向db1的tns

配置tns 方便创建dblink。当然不配置也可以创建。此步完全依赖于个人爱好。 我习惯配置,在创建dblink时,会更简洁一些。TNS如下:

t118 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.100.99.114)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = ktdb)))

1.3 在db2的数据库中创建dblink

create public database link to_118 connect to test identified by test123 using 't118';

1.4 给db1中相应的表上添加物化视图日志

1.4.1 有主键表

create table test(id number,name varchar2(20));
alter table test add constraint pk_testid primary key(id);
create materialized view log on test  with primary key;

对于有主键的表,日志依赖于主键。

create materialized view log on test  with primary key;

1.4.2 无主键表

对于无主键的表,依赖于rowid

create table test_noprimarykey(id number,name varchar2(20));
create materialized view log on test_noprimarykey  with rowid;

1.5 在db2上创建物化视图

分布式查询中(也就是使用db_link), 不能以on commit 方式指定刷新方式,创建时会遇到ORA-12054.

1.5.1 有主键表的物化视图

CREATE MATERIALIZED VIEW dbmon.test
(id,name)
REFRESH force
start with sysdate next sysdate+1/1440  # 指定刷新频率为1分钟
AS
SELECT id,name FROM dbmon.test@to_118;

1.5.2 无主键表的物化视图

CREATE MATERIALIZED VIEW test_noprimarykey
(id,name)
REFRESH force
start with sysdate next sysdate+1/1440  # 指定刷新频率为1分钟
WITH rowid
AS
SELECT id,name FROM dbmon.test_noprimarykey@to_118;

1.6 测试数据同步

在db1数据库插入数据后,稍等 1分钟,然后连到db2数据库查看结果。

1.6.1 有主键表

在db1 上向表中插入一行数据:

insert into test values(1,'aaa');
commit;

1.6.2 无主键表

insert into test values(1,'bbb');commit;

转载于:https://www.cnblogs.com/halberd-lee/p/10757376.html

物化视图(materialized view) 实现数据迁移、数据定时同步相关推荐

  1. 傅老师课堂:Oracle高级应用之物化视图(materialized view)

    原文地址:http://hi.baidu.com/gukeming888/blog/item/2682f69481c8237154fb9662.html 物化视图 (Materialized View ...

  2. 物化视图 materialized view

    一.物化视图作用 1)起源于数据仓库,早先用于预先计算,并保存表连接或表聚集等耗时较多操作的结果.以便于在执行查询时,避免在基表上进行这些耗时的操作(基表上进行耗时操作是不是会影响其他用户使用这个基表 ...

  3. 【Clickhouse】Clickhouse 物化视图 MATERIALIZED VIEW

    文章目录 1.概述 2.物化视图 2.案例 2.1 案例1 参考: 1.概述 2.物化视图 物化视图支持表引擎,数据的保存形式由表的引擎决定. 创建语法: CREATE [MATERIALIZED] ...

  4. Clickhouse 物化视图 MATERIALIZED VIEW

    MATERIALIZED VIEW 物化视图物化视图支持表引擎,数据的保存形式由表的引擎决定.创建语法: CREATE [MATERIALIZED] VIEW [IF NOT EXISTS] [db. ...

  5. Flask 数据生成/数据迁移/数据事件

    数据生成 flask中生成数据表只需要提前创建好数据库(例如:test), 写好models数据模型后运用Flask实例app和SQLAlchemy实例db通过 db.creat_all() 即可获取 ...

  6. 混合云备份服务 > 数据迁移 > 文件同步 > ECS同步到NAS教程 > 文件同步

    文件同步 更新时间:2020-04-22 17:06:26 本页目录 步骤一:创建源数据地址 步骤二:创建目的数据地址 步骤三:创建同步任务 文件同步会占用源地址和目的地址的网络资源.若您的业务比较重 ...

  7. DataGrip使用: 表的数据迁移-数据导出sql和执行sql

    导出数据: 导入数据: 到Files栏目里面右键:Attach Directory选择sql所在目录 右键sql文件 执行sql文件 也可以直接拖拽sql文件 然后在打开的窗口上右键执行sql文件

  8. oracle数据库定时同步工具,[每天自动同步一个数据库表的数据]sql server定时同步oracle数据表...

    –*********************************************************************** –Copyright (c) 2003 Microso ...

  9. 物化视图实践(1)----实现远程数据同步

    概念: 首先澄清:Oracle9i 以前叫做快照(snapshot),自9i开始更名为物化视图(materialized view) . 早先的关键词snapshot被保留并与materialized ...

最新文章

  1. 互联网企业安全高级指南3.7.1 攻防驱动修改
  2. 交互式讲解傅里叶变换
  3. jmeter—操作数据库
  4. kernel 3.10内核源码分析--内核栈及堆栈切换
  5. 阿丽塔大脑是机器人哪_阿丽塔——和机器人结合的未来离我们有多远?
  6. 异常作业2(2018.08.22)
  7. 网贷大数据什么时候会好_如果人类把地球钻穿了,会发生什么?大数据分析告诉你多可怕...
  8. Kubernetes 搭建 Kafka 和 Zookeeper 集群(完整教程)
  9. 挑战程序设计竞赛-小笔记
  10. 安装增强功能,弹出“未能加载虚拟光盘 ...\VBoxGuestAdditions.iso 到虚拟电脑 CentOS.“
  11. pinphp3.0后台系统权限管理的bug
  12. 二维向量的叉乘判断凹凸多边形
  13. 网络没有运行wmi服务器,win7系统中没有wmi服务如何解决_win7没有wmi服务的解决方法...
  14. 一个超赞的开源串口虚拟示波器项目,玩起来!
  15. JAVA实现K-means聚类
  16. 第十七届全国大学生智能汽车竞赛创意组-百度智慧交通(丝绸之路)
  17. MySQL的自身防御机制_自我防御机制
  18. 测试用例详解用例模板
  19. Lect1 String相关题目
  20. 小学的四则运算(输入结果)

热门文章

  1. 微软云架构服务器,微软云存储架构(Azure Cloud Storage)
  2. matlab线检测,车道线检测(matlab)
  3. csharp为何不流行_“我太南了”这些年度流行语到底是怎么选的?
  4. 使用SQL2005 递归查询结合Row_Number()实现完全SQL端树排序
  5. 相分离在聚集多价信号蛋白过程中的作用Phase transitions in the assembly of multivalent signalling proteins
  6. apache php 调优_Apache的性能优化实例(一)
  7. 回归分析什么时候取对数_技术派|SPSS数据分析心得小结及心得分享!必备收藏...
  8. data transformation python_Data augmentation: 利用python进行图像扩建
  9. python3小游戏源代码_Python入门塔防小游戏,开发步骤和源码,带你轻松学python...
  10. JWT 教程_1 SpringBoot与JWT整合