物化视图(materialized view) 实现数据迁移、数据定时同步
近日公司有一个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) 实现数据迁移、数据定时同步相关推荐
- 傅老师课堂:Oracle高级应用之物化视图(materialized view)
原文地址:http://hi.baidu.com/gukeming888/blog/item/2682f69481c8237154fb9662.html 物化视图 (Materialized View ...
- 物化视图 materialized view
一.物化视图作用 1)起源于数据仓库,早先用于预先计算,并保存表连接或表聚集等耗时较多操作的结果.以便于在执行查询时,避免在基表上进行这些耗时的操作(基表上进行耗时操作是不是会影响其他用户使用这个基表 ...
- 【Clickhouse】Clickhouse 物化视图 MATERIALIZED VIEW
文章目录 1.概述 2.物化视图 2.案例 2.1 案例1 参考: 1.概述 2.物化视图 物化视图支持表引擎,数据的保存形式由表的引擎决定. 创建语法: CREATE [MATERIALIZED] ...
- Clickhouse 物化视图 MATERIALIZED VIEW
MATERIALIZED VIEW 物化视图物化视图支持表引擎,数据的保存形式由表的引擎决定.创建语法: CREATE [MATERIALIZED] VIEW [IF NOT EXISTS] [db. ...
- Flask 数据生成/数据迁移/数据事件
数据生成 flask中生成数据表只需要提前创建好数据库(例如:test), 写好models数据模型后运用Flask实例app和SQLAlchemy实例db通过 db.creat_all() 即可获取 ...
- 混合云备份服务 > 数据迁移 > 文件同步 > ECS同步到NAS教程 > 文件同步
文件同步 更新时间:2020-04-22 17:06:26 本页目录 步骤一:创建源数据地址 步骤二:创建目的数据地址 步骤三:创建同步任务 文件同步会占用源地址和目的地址的网络资源.若您的业务比较重 ...
- DataGrip使用: 表的数据迁移-数据导出sql和执行sql
导出数据: 导入数据: 到Files栏目里面右键:Attach Directory选择sql所在目录 右键sql文件 执行sql文件 也可以直接拖拽sql文件 然后在打开的窗口上右键执行sql文件
- oracle数据库定时同步工具,[每天自动同步一个数据库表的数据]sql server定时同步oracle数据表...
–*********************************************************************** –Copyright (c) 2003 Microso ...
- 物化视图实践(1)----实现远程数据同步
概念: 首先澄清:Oracle9i 以前叫做快照(snapshot),自9i开始更名为物化视图(materialized view) . 早先的关键词snapshot被保留并与materialized ...
最新文章
- 互联网企业安全高级指南3.7.1 攻防驱动修改
- 交互式讲解傅里叶变换
- jmeter—操作数据库
- kernel 3.10内核源码分析--内核栈及堆栈切换
- 阿丽塔大脑是机器人哪_阿丽塔——和机器人结合的未来离我们有多远?
- 异常作业2(2018.08.22)
- 网贷大数据什么时候会好_如果人类把地球钻穿了,会发生什么?大数据分析告诉你多可怕...
- Kubernetes 搭建 Kafka 和 Zookeeper 集群(完整教程)
- 挑战程序设计竞赛-小笔记
- 安装增强功能,弹出“未能加载虚拟光盘 ...\VBoxGuestAdditions.iso 到虚拟电脑 CentOS.“
- pinphp3.0后台系统权限管理的bug
- 二维向量的叉乘判断凹凸多边形
- 网络没有运行wmi服务器,win7系统中没有wmi服务如何解决_win7没有wmi服务的解决方法...
- 一个超赞的开源串口虚拟示波器项目,玩起来!
- JAVA实现K-means聚类
- 第十七届全国大学生智能汽车竞赛创意组-百度智慧交通(丝绸之路)
- MySQL的自身防御机制_自我防御机制
- 测试用例详解用例模板
- Lect1 String相关题目
- 小学的四则运算(输入结果)
热门文章
- 微软云架构服务器,微软云存储架构(Azure Cloud Storage)
- matlab线检测,车道线检测(matlab)
- csharp为何不流行_“我太南了”这些年度流行语到底是怎么选的?
- 使用SQL2005 递归查询结合Row_Number()实现完全SQL端树排序
- 相分离在聚集多价信号蛋白过程中的作用Phase transitions in the assembly of multivalent signalling proteins
- apache php 调优_Apache的性能优化实例(一)
- 回归分析什么时候取对数_技术派|SPSS数据分析心得小结及心得分享!必备收藏...
- data transformation python_Data augmentation: 利用python进行图像扩建
- python3小游戏源代码_Python入门塔防小游戏,开发步骤和源码,带你轻松学python...
- JWT 教程_1 SpringBoot与JWT整合