`

ORACLE数据快照技术在数据交换中的应用

 
阅读更多
Oracle数据快照技术在数据交换中的应用


摘要:该文介绍了ORACLE数据快照技术在数据交换中的应用,并且举例说明了如何应用数据快照来实现跨库数据间的同步。

关键词:ORACLE;SNAPSHOT The Snapshot Technology of Oracle in the Data Exchange Application

PAN Cheng-bin

(Touris College of Zhejiang,Hangzhou 311231,China)

Abstract: This paper describe the snapshot technology of oracle in the data exchange application,and illustrate how to apply snapshot to achieve inter-library data synchronization.

Key words: ORACLE; SNAPSHOT



      ORACLE数据库的快照是包括一个查询结果的数据库对象,它包含有对一个本地或远程数据库上一个或多个表或视图的查询的结果。正因为快照是一个主表的查询子集,使用快照可以加快数据的查询速度;在保持不同数据库中的两个表的同步中,利用快照刷新,数据的更新性能也会有很大的改善。快照允许你在本地维护远程数据的副本,但这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时, 你可以从快照中抽取。

1 快照的具体结构

快照的用途比较广泛,主要可以用于性能优化,数据抽取等方面,是Oracle数据仓库处理中的一个重要技术。限于快照技术的复杂性和本人能力的有限,具体内容请查询相关官方帮助文档。

快照技术提供给我们三种刷新机制,分别是:

1) Complete 完全刷新机制,即对表的所有数据进行刷新,如果表的数据量十分庞大的,此法会消耗相当的时间;

2) Fast 快速刷新,即只对数据增量进行刷新;

3) Force 强制刷新,首先判断是否能用快速刷新机制,如不行则用完全刷新机制。

建立快照的基本语法如下:

Create snapshot<具体快照名字>as
建立刷新机制语句如下:

Alter snapshot<具体快照名字>refresh<刷新方式>start with<第一次刷新时间>next<间隔时间表达式>

下面将对Complete和Fast两种刷新机制分别进行介绍

首先我们假定已创建了一个名testshot的快照,具体语句如下:

Create snapshot testshot as< select查询语句>

1.1 完全刷新快照

1)完全刷新快照的建立

Alter snapshot testshot refresh complete start with sysdate 1/720 next sysdate 1/2

上述语句的意思在快照建立的后的第2分钟,将进行第一次刷新,然后每隔12小时,快照自动进行刷新

2)如果想要进行手动刷新,既不受间隔时间的限制,具体语句如下

begin

dbms_refresh.refresh(‘testshot’,’c’)

end

1.2 快速刷新快照即增量刷新快照

如要创建快速快照,则先要的源端数据表上建立快照日志,具体流程如图1所示。

1)在源端数据表上建立快照日志

Create snapshot log on test

2)设定快照刷新时间

Alter snapshot testshot refresh fast start with sysdate next sydate 1/2

从上面的语句中我们可以到其实完全刷新和快速刷新的基本语句是一样,只是刷新机制有所不同,需要的注意的如果你想使用快速刷新方式,则源端主表不能是视图,因为快照日志不能建立在视图上。

如果在应用过程发现快照不能正常工作,我们可以通过查询表user_jobs,来获取相应的信息,其表结构如表1所示。

2 数据快照建立前的准备工作

上面我们基本介绍了快照语句的基本写法和刷新时间的设置,下面我们将介绍应用数据快照我们所要做的准备工作,首先我们需要在本地Oracle数据上建立一个数据库账号,并在其下建立远程数据库链接。
创建账号的语句如下:

Create user binbin identified by binbin default tablespace pan temporarytablespace temp;

Grant connect ,resource to binbin;

Grant create synonym to binbin;

Grant create snapshot to binbin;

Grant create database link to binbin;

上述语句的意思是创建账号binbin,密码为binbin,并赋予其相应的权限,具体含义请查询Oracle官方介绍

建立远程数据库链接,具体语句如下

Create database link <链接名>connectto<远程服务器用户名>identified by“密码” using “TNS配置的实例名“

下面我们将用上述基本语句创建一个名为 bintobin的数据库链接

Create database linke bintobin connect to sa identifiede by “sa” using“test”

创建好数据库链接,意味着我们可以访问远程数据库上的数据了,并可以具体到其中的一个具体表,下面就是一个访问远程数据库上user表的一个快照

Create snapshot testshot as select * from user@test

3 数据快照技术的具体应用

由于现在学校各个部门都建立有自己的应用系统,各个应用系统数据库的建立时间不一,其中的数据结构、数据类型各不相同,所使用的数据库软件也不尽相同,如何快速准确的实现这些数据之间的交互同步,是我一直在研究的课题。使用快照技术就可以很方便的解决现有的问题。

本文来源于 www.14edu.com(论文网) 原文链接:http://www.14edu.com/ligong/jisuanji/05203H122010.html



下面是我院应用快照技术实现各个子系统间数据读取的实例。图2是各个数据库的分布。

关于快照刷新间隔的方面,由于各应用系统数据的更新要求不一。像一卡通消费数据要求隔天就能查到前一天的数据,而有的数据只需要隔两天进行一次更新即可,所以各个快照的具体刷新方式需要根据具体要求进行相应的设置。该方案至实施以来,在网络情况得以保证的前提下,数据的读取工作基本得以正常进行。

4 结束语

Oracle提供的快照技术为我们提供了一个快速读取远程数据的方法。利用快照可以容易的实现不同数据库间的数据同步和复制问题,特别是在实现数据的增量复制问题。一般都采用增量复制的方法来实现数据的同步,特别是在原数据量很大的情况,可以避免因出错而难以实现数据同步的问题。
分享到:
评论

相关推荐

    ORACLE数据快照技术在数据交换中的应用.pdf

    Oracle数据快照技术在数据交换中扮演着关键角色,它提供了数据的本地化访问和高效同步,有助于提升系统的响应速度和数据一致性。然而,正确地使用和管理快照需要对Oracle数据库有深入的理解,以确保性能优化的同时...

    Oracle复制技术在地震前兆元数据交换中的应用.pdf

    Oracle复制技术在地震前兆元数据交换中的应用主要涉及到Oracle数据库的高级特性,特别是快照复制技术。在地震预测和监测领域,及时、准确的数据交换至关重要。本文详细介绍了如何利用Oracle快照复制来管理和交换地震...

    Oracle 9i数据复制技术在教务系统中的应用 (1).pdf

    在教务系统中应用Oracle 9i数据复制技术,可以提升系统的稳定性和可靠性,尤其是在大型教育机构中,教务数据的实时性和准确性至关重要。例如,课程安排、成绩管理、学生信息等都需要在不同的部门之间共享和更新。...

    Oracle高级复制技术在分布式数据库系统中的应用.pdf

    在实际应用中,例如在一个公司集团中,总部与分布在各地的分支机构之间可能存在数据交换需求。通过Oracle高级复制技术,可以构建一个分布式数据库系统,使得各个分支的数据能够实时或按需同步到总部,实现统一管理和...

    SQL Server 2005与Oracle之间数据复制技术的研究.pdf

    研究这两者之间的数据复制技术,主要是为了在异构的数据源之间实现数据交换和同步。 描述中指出,文章研究了SQL Server 2005的几种复制类型,包括事务复制、合并复制等,并探讨了它们的具体配置实现,这为异构数据...

    基于Oracle分布式技术的地理信息系统的开发应用.pdf

    总的来说,基于Oracle的分布式技术在地理信息系统的开发应用中起到了关键作用。通过合理的数据库设计和利用Oracle的分布式特性,可以高效地管理和处理大规模的空间数据,提高系统的响应速度和可靠性,同时降低了系统...

    基于Oracle数据库海量数据的查询优化研究.pdf

    该技术通常应用在涵盖有海量数据的 大型表中。分区技术的应用省掉了技术人员进行实时分析和数据存储位置的确定工作,而只需要把表当成一个整体来进行数据查询。 根据分区方法,其分区划分有根据字段值范围的分区、...

    oracle数据库同步交换的方法-我收集的常见

    5. **数据库链接(DATABASE LINK)**:在两个数据库之间创建数据库链接,可以直接在另一个数据库中写入新数据,实现数据交换。 6. **SQLPLUS的COPY命令**:SQLPLUS的COPY命令可以用来快速地在本地和远程数据库之间...

    Oracle数据库高级复制技术的应用.pdf

    网络传输速度也非常重要,尤其是当数据交换频繁且量大时。此外,服务器应始终保持开机或定时开机状态,以避免延迟任务累积。执行DDL(数据定义语言)语句时要格外小心,因为这可能破坏Oracle为复制设置的触发器和包...

    oracle dblink 创建过程

    ### Oracle DBLink创建过程及快照同步方法 #### 一、Oracle DBLink概念与创建步骤 DBLink(Database Link)是Oracle提供的一...需要注意的是,在实际应用过程中,还需要考虑网络延迟、数据量大小等因素对性能的影响。

    Oracle分布式数据库结构及实现技术.pdf

    实例(Instance)是由Oracle后台进程和SGA组成的,SGA主要包含数据缓冲区缓存、重做日志缓冲区、共享池和PGA等组件,它们共同协调数据库的运行和数据交换。 总的来说,Oracle分布式数据库提供了强大的数据管理和...

    精通Oracle 9i(PDG)

    通过深入学习和实践"精通Oracle 9i(PDG)",读者不仅可以掌握Oracle 9i的核心技术,还能了解如何在实际环境中应用这些知识,提升数据库管理的专业水平。虽然Oracle 9i已是较旧的版本,但其基础概念和技术原理对于理解...

    oracle ocp老外笔记

    7. **XML支持**:Oracle 9i对XML的处理能力得到提升,内置了XML DB,可以直接存储和查询XML文档,提高了数据交换和集成的能力。 8. **数据整合**:通过Advanced Queuing(AQ)和Materialized Views,9i提供了强大的...

    Oracle数据库10g信息集成.ppt

    4. **复制和共享技术**:Oracle 10g提供了多种数据复制技术,如高级复制、对称复制、只读快照复制等,确保数据的同步和一致性。此外,数据可以被共享,使得多用户和多应用之间可以访问同一份数据,降低了数据冗余。 ...

    Oracle9i数据库管理实务讲座PDF

    Oracle9i数据库管理系统是Oracle公司推出的数据库产品,其全称为Oracle9i Database,是9.0...通过深入学习,你可以掌握如何安装配置、性能调优、安全管理、故障排查等关键技能,从而在实际工作中更好地运用Oracle9i。

    oracle数据库dba管理手册

    3.2.2 分离应用程序数据段:DATA 48 3.2.3 分离应用程序索引段:INDEXES 48 3.2.4 分离工具段:TOOLS 49 3.2.5 分离回滚段:RBS 50 3.2.6 分离临时段:TEMP 50 3.2.7 分离用户:USERS 51 3.3 扩展OFA 51 3.3.1 分离...

    基于ORACLE数据库应用系统的优化探讨.docx

    - **使用聚簇**:通过将多个表的数据存储在同一Oracle块中来提高查询性能。 综上所述,通过对硬件性能、数据库设计以及应用程序等多方面的综合优化,可以显著提升基于Oracle数据库的应用系统的性能。这些优化措施...

    数据库高可用性——SQLServer2005数据库复制简单图解[归类].pdf

    对于非SQL Server的数据源,如Oracle,可能会使用TXT文件进行数据交换。分发代理则负责将快照数据和后续的事务从发布服务器传输到订阅服务器。 在实际操作中,为了配置快照复制,首先需要检查和统一服务器名称,...

    Oracle+DBA日常工作手册

    - **查看Oracle数据文件、控制文件、联机日志及归档日志存放的文件系统或裸设备空间使用情况**: - 目的是确保这些关键文件有足够的存储空间,并且文件系统的健康状态良好。这有助于预防由于磁盘空间不足导致的...

Global site tag (gtag.js) - Google Analytics