[转] Oracle的快照复制

Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询截获。正因为快照是一个主表的查询子集,使用快照可以加快数据库的查询速度;在保持不同数据库中的连个表的同步中,利用快照刷新,数据库的更新性能也会有很大的改善。
   由于工作和学习的需要,下面是在测试库上建立的快照总结:
  具体步骤如下:
   一、建立快照日志
   create snapshot log on full_information;
 
   二、建立数据库链
   Create database link link_TSZX
   Connect to wll identified by wll using 'intszx';  
 
   三、验证
   select *from full_information@link_tszx;

   四、建立快照:
   create snapshot full_information as select *from full_information@link_tszx;
   
   五、建立刷新:
   Alter snapshot full_information refresh fast
   Start with sysdate+1/1440 next sysdate+1/144;
 
   说明:
  1、因为快照刷新是服务器自动完成的,所以要保证oracle数据库启动了快照刷新进程。查看oracle数据库是否启动了快照刷新进程,可以以数据库sys身份查看视图V_$SYSTEM_PARAMETER中的参数snapshot_refresh_processes的值是否为1,如果不为1,则快照刷新进程未启动。
  2、启动快照刷新进程的方法为:修改oracle数据库的初始化文件initorcl.ora,将其中的snapshot_refresh_processes参数的值改由0改为1,然后重新启动oracle数据即可。
  3、需要说明的是:建立快照日志时oracle数据库为我们建立了一个基于yh_qfcx的触发器tlog$_yh_qfcx和快照日志表mlog$_yh_qfcx;建立快照时oracle数据库为我们建立了一个表、两个视图、一个索引,它们分别为:
  一个表:snap$_s_yh_qfcx;
  两个视图:mview$_s_yh_qfcx和s_yh_qfcx;
  一个索引:I_snap$_s_yh_qfcx(
  基于表snap$_s_yh_qfcx中的m_row$$字段。 
 

Trackback: http://blog.csdn.net/bigtreeforshadow/archive/2007/06/06/1640616.aspx

原文地址:https://www.cnblogs.com/xinyuxin912/p/1034729.html