Oracle快照原理及实现总结
Oracle数据库的快照是一个表,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。对于中大型数据库,业务数据库里所有的数据同步到另外一个处理服务器上最佳的选择还是使用SnapShot方式,即快照的方式。
由于工作需要,今天需要将业务数据库里所有的数据同步到另外一个处理服务器上。在做方案的时候,想了很多方法,当然最快的办法还是使用物理热备的方式。
但是我个人认为如果对于中大型数据库(我们的数据库有300G左右)最佳的选择还是使用SnapShot方式,即快照的方式。
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数据库实时同步是指将一个Oracle数据库(称为源数据库或主数据库)的数据变化实时复制到另一个Oracle数据库(称为目标数据库或备用数据库)的过程。这一过程确保了目标数据库的数据与源数据库保持一致,即使源...
Python实现两个Oracle数据库同步工作
Oracle数据库同步技术是确保数据在多个数据库之间保持一致的重要手段,尤其在分布式系统或灾难恢复策略中发挥着关键作用。Oracle提供了多种内置的数据同步解决方案,包括DataGuard、Streams、Advanced Replication...
压缩包中包含的文件:数据库建表、存储过程(生成指定格式的字符串,供后台服务写文件)、数据同步的后台服务,三个文件; 希望对刚好有这需求的人有帮助,同时也欢迎指正程序中的不足,共同进步。
Oracle 12.2 主从数据同步方法可以实现容器数据库的数据同步,目前只支持 DML 的数据同步,不包含 DDL 的同步。下面将详细介绍 Oracle 12.2 主从数据同步方法的实现步骤。 一、背景 Oracle 12.2 主从数据同步方法...
针对“oracle12C数据库同步”这个主题,我们将深入探讨Oracle GoldenGate在Oracle 12c中的应用、配置过程以及它的重要性。 首先,Oracle GoldenGate支持双向同步,这意味着数据可以同时在源和目标数据库之间流动,...
两个版本的数据库对比,同时支持sqlserver,oracle,MySql ,代码差异高亮显示 具体功能 介绍博客有图片 :https://blog.csdn.net/wwja_chen/article/details/89336728 如开发库和正式库之间的结构和数据同步,此工具可以...
对在分布式环境下的Oracle数据库实现数据同步时,涉及的几个主要问题进行探讨,通过日志分析方法,分析了日志文件的归档,采用LogMiner对Oracle归档日志进行解析,解析和重构归档日志中的SQL语句等问题。设计了一个分布式...
- 触发器是Oracle数据库中的一个数据库对象,它在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。在这个场景中,我们可以创建一个DML(数据操纵语言)触发器,当表的数据发生变化时,触发器会被激活...
内存数据库与Oracle数据库的数据同步设计与实现.pdf
利用kettle和oracle数据库进行多表全量同步教程
Oracle10G数据库同步是IT领域中一个关键的议题,特别是在多数据中心或灾备环境的管理中。Oracle10G是Oracle数据库的一个重要版本,它引入了许多增强功能,旨在提高性能、安全性和可用性。本方案针对Oracle10G数据库...
2. 视图比较:除了表之外,视图也是数据库中重要的组成部分。工具会检查视图的定义,确保它们在源数据库和目标数据库中的定义相同。 3. 存储过程比较:存储过程是数据库中的可执行代码块,用于执行特定任务。工具会...
1. 表结构分析:工具可以深入解析Oracle数据库中的每个表,包括字段名、数据类型、主键、外键、索引等信息。 2. 差异检测:通过比较生产库和测试库的表结构,找出字段、约束、索引等方面的差异。 3. 可视化展示:...
1. **结构比对**:比较两个数据库的表结构,包括字段名、字段类型、主键、外键、索引等,找出差异并提供同步方案。 2. **数据比对**:检查表中的实际数据,查找记录的增删改情况,帮助用户定位数据不一致的问题。 ...
通过对Oracle数据库中不同类型的SCN及其用途的详细了解,我们可以更好地理解数据库如何确保数据的一致性和完整性,以及如何在发生故障时有效地进行恢复。掌握SCN的相关知识对于Oracle数据库管理员来说至关重要,有助...
oracle数据库同步perl脚本示例 其中有2个文件,一个是 perl同步脚本,另一个是存储过程;...大致思路是:perl脚本从数据库A同步数据至库B的临时表中,再通过存储过程将库B中的临时数据过滤导入正式数据当中。
这里,`username/password`是Oracle数据库的用户名和密码,`dumpfile`指定导出的二进制文件名,`directory`是Oracle数据库中定义的目录对象,指向实际的文件系统路径,而`logfile`则记录了备份过程的日志。...