oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。也就是说快照根本的原理就是将本地或远程数据库上的一个查询结果保存在一个表中。
以下是建立的Snapshot,目的是从业务数据库上将数据Copy到处理数据库上,是不同的两个服务器之间对数据copy。
第一步:在处理服务器上的Oracle终端,建立database link,业务数据库服务器SID为TEST
create database link TEST_DBLINK.US.ORACLE.COM
connect to AMICOS identified by AMICOS
using 'test';
第二步:在业务数据库上对应的表建立快照日志
Create snapshot log on A_Table;
第三步:建立Snapshot 快照名称为:Test_SnapShot
Create snapshot Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
as select * from A_Table@TEST_DBLINK
说明:REFRESH 是刷新方法
刷新方式有:COMPLETE 和FAST两种,
而START WITH 是说明开始执行的时间。
Next是下次执行的时间
而AS以后是构成快照的查询方法。
相关的方法:
更改快照
ALTER SNAPSHOT Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;
手动刷新快照 在命令界面执行:
EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
第一个参数是要刷新的快照名
第二个参数是刷新的方式,F----FAST, C---COMPLETE
查看快照最后刷新的日期
SELECT NAME,LAST_REFRESH
FROM ALL_SNAPSHOT_REFRESH_TIMES;
最后非常的方案:
1:为需要做Snapshot的表建立Snapshot日志
create snapshot log on t1 with rowid; 这里使用ROWID建立日记的参数
2:采用Fast的方式建立快照,使用rowid做为参考参数
create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;
最好能按照rowid来建立快照。要不然就必须要为表建立Primary Key。
Oracle 快照及 dblink使用 (两台服务器数据同步)
--名词说明:源——被同步的数据库
-- 目的——要同步到的数据库
/*一、创建dblink:*/
--1、在目的数据库上,创建dblin
drop database link dblink_anson;
Create public
database link dblink_anson
Connect to lg identified by lg using 'SDLGDB';
--源数据库的用户名、密码、服务器名k
/*二、创建快照:*/
--1、在源和目的数据库上同时执行一下语句,创建要被同步的表
drop table tb_anson;
create table tb_anson(c1 varchar2(12));
alter table tb_anson add constraint pk_anson primary key (C1);
--2、在目的数据库上,测试dblink
select * from tb_anson@dblink_anson;
select * from tb_anson;
--3、在目的数据库上,创建要同步表的快照日志
Create snapshot log on tb_anson;
--4、创建快照,快照(被同步(源)数据库服务必须启动)
Create snapshot sn_anson as select * from tb_anson@dblink_anson;
--5、设置快照刷新时间
Alter snapshot anson refresh fast Start with sysdate+1/24*60 next sysdate+10/24*60;
--oracle自动在1分钟后进行第一次快速刷新,以后每隔10分钟快速刷新一次
Alter snapshot anson refresh complete Start with sysdate+30/24*60*60 next sysdate+1;
--oracle自动在30钞后进行第一次完全刷新,以后每隔1天完全刷新一次
--6、手动刷新快照
begin
dbms_refresh.refresh('"CS"."SN_ANSON"');
end;
分享到:
相关推荐
Oracle 12c RAC原理及关键技术. 该文讲述Oracle RAC原理,机构,关键技术,优缺点,架构延伸。
有时候我们不小心把数据删掉,或者数据莫名其妙的丢失,这时候我们可以借助Oracle本身自带的快照来进行数据的恢复。
有关oracle9i原理的课件内容很相近,很实用 包括10章有关oracle9i原理的课件
oracle 最新ogg12.3原理文档,更透彻的了解ogg同步原理。
巧用dblink结合oracle快照实现两台服务器的数据同步
Oracle-RAC原理及关键技术、进阶版必看内容、Oracle-RAC原理及关键技术、进阶版必看内容、Oracle-RAC原理及关键技术、进阶版必看内容
Oracle RAC原理
第3章 关系模型及ORACLE对象关系数据库 第4章 ORACLE SQL和PL/SQL 第5章 关系数据库设计理论 第6章 数据库的设计与维护 第7章 数据库保护 第8章 ORACLE的企业管理器(Enterprise Manager) 第9章 分布式数据库...
该文档详细介绍了oracle数据库备份的原理以及其具体的实现方式。
利用ORACLE的快照功能实现远程数据库的复制.pdf
Oracle数据库原理及应用教学大纲.pdf
详细阐述oracle工作原理及调优手段及各种专业名词,不错的文档
oraclerman备份原理[参照].pdf
oracle dataguard 原理与功能,优点,如何自动同步,培训
oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结oracle游标的总结
Oracle数据库原理课件 详细讲解Oracle数据库原理 适合初学者或者复习用
oracle数据快照
oracle的checkpoint工作原理
oracle 数据恢复 误删恢复 111111111111111111111111111111111111111111111111111111111111111111111111
ORACLE数据库原理及备份容灾的应用.ppt ORACLE数据库原理及备份容灾的应用.ppt