视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
oracle物化视图同步两个数据库间的数据
2020-11-09 13:47:01 责编:小采
文档


两个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 t

  两个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以便回收空间。

下载本文
显示全文
专题