文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发数据库教程 → oracle物化视图同步两个数据库间的数据

oracle物化视图同步两个数据库间的数据

时间:2011/2/12 10:39:22来源:本站原创作者:清晨我要评论(0)

两个oracle 10g 数据库,通过物化视图同步数据的具体实施流程

 源库是  192.168.1.81

目标库是192.168.1.96

 

统计库用的服务器是 81

在统计库81上创建只读用户snap_query,用于查询
conn /as sysdba

 create user snap_query identified by snap_query
default tablespace users
temporary tablespace temp;

 grant connect to snap_query;
grant select on userb.test1 to snap_query;

 为表建立实体化视图日志,要求这些表带有PRIMARY KEY
CREATE MATERIALIZED VIEW LOG
    ON userb.test1
TABLESPACE ts12
WITH PRIMARY KEY
EXCLUDING NEW VALUES;

----------------------------
在测试库96上

以sys用户登陆,查看并修改job_queue_processes的值

SQL> show parameter spfile  --先检查是否是spfile(服务器端初始化文件)
SQL> show parameter job_queue_process  --如果为零 用以下命令修改
SQL> alter system set job_queue_processes=10 scope=spfile;

 创建表空间,用于存放物化视图内容(即test1)
create tablespace ts_event
 datafile 'i:\ts_event_01.dbf' size 5000m,
          'i:\ts_event_02.dbf' size 5000m;

创建用户
create user ts12_st identified by ts12_st_2010
 default tablespace ts_event
 temporary tablespace temp;

 grant connect,resource,create snapshot to ts12_st;
grant create database link to ts12_st;

在tnsnames.ora中配置网络别名ts12tj连接到81

创建数据库链

conn ts12_st/ts12_st_2010

 create database link DBLINK_SNAP_QUERY
  connect to snap_query identified by snap_query
  using 'ts12tj';

测试:

select event_id,test1YPE
 from userb.test1@DBLINK_SNAP_QUERY where rownum<10


创建物化视图

CREATE MATERIALIZED VIEW test1_st2
BUILD IMMEDIATE 
USING INDEX
REFRESH FORCE
NEXT sysdate + 12/24
AS
SELECT
Event_ID,
EVENT_CODE,
CALL_TIME,
TELE_X,
TELE_Y,
test1YPE,
EVENT_CONTENT,
ROAD_CODE,
PLACE,
DIRECTION,
PLACE_X,
PLACE_Y,
UPDATE_TIME,
MAIN_ASSISTANT_ROAD
 FROM userb.test1@DBLINK_SNAP_QUERY;

----------------------------
创建完毕后在统计库81上执行
grant select on mlog$_test1 to snap_query;


在81上检查需要更新情况:
select '数据量   '||count(0) from test1 union
select '需更新量 '||count(0) from mlog$_test1;

----------------------------
在96上手工刷新物化视图方法:
exec dbms_mview.refresh('test1_st');

 公司环境测试300万条耗时1 小时

经过长时间(1年)运行后,日志表mlog$_test1可能需要move以便回收空间。

相关视频

    没有数据

相关阅读 Oracle PRKC-1002错误原因和解决方案oracle10g安装图解(win7)Oracle错误代码大全oracle查看实例名方法Oracle表空间恢复方案微软亚太研发集团总部大楼 扎根中国"硅谷"亚马逊网络服务推出Oracle RDS如何关闭oracle rac选项 make rac_off

文章评论
发表评论

热门文章 oracle10g安装图解(wi

最新文章 数据库流行度排行2019oracle10g安装图解(wi SQL2008全部数据导出导入两种方法SQL2005新建复制“找不到存储过程 错误:28Dos远程登录mysql数据库详细图文教程mysql怎么开启远程登录功能

人气排行 mysql自动定时备份数据库的最佳方法-支持wiVisual Foxpro 6.0安装向导图文教程SQL Server 2008 安装图文教程SQL2008全部数据导出导入两种方法SQL 2000/2005/2008 的收缩日志方法,和清理mysql出 Can't connect to MySQL server onoracle10g安装图解(win7)sql2005安装图解_(sql server2005)安装教程