- 浏览: 253573 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (232)
- 瞎扯两句 (8)
- 操作系统 (5)
- 工作笔记 (33)
- 设计模式 (1)
- java (57)
- Java IDE (7)
- hibernate (17)
- oracle (46)
- ms sql (2)
- spring (9)
- struts2 (0)
- javascript (16)
- java_code (2)
- java之集合 (2)
- java之线程 (4)
- java之IO (4)
- java之虚拟机 (6)
- java之异常 (0)
- EJB (4)
- XML (4)
- 数据结构-算法 (2)
- 架构设计 (5)
- 配置信息 (2)
- 阅读笔记 (6)
- IT专业英语 (1)
- PI (0)
- 单元测试 (1)
最新评论
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数据快照技术在数据交换中的应用,并且举例说明了如何应用数据快照来实现跨库数据间的同步。
关键词: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 sql优化
2013-09-23 14:29 6521.绑定变量 不适用在OLAP系统中。 因为在OLAP中, ... -
阅读笔记 SQL
2013-08-14 18:24 825Start with...Connect By子句递归查询一般 ... -
oracle 锁 分析
2013-06-18 10:57 4731. 分为 tx 和 tm 。 即 行级 和 表级 其中 ... -
Oracle的TX锁(行级锁、事务锁)
2013-06-18 10:04 933问题:如何使用事务? ... -
mysql 时间戳自动更新
2013-04-09 10:24 978-- Table "pnodetail" ... -
阅读笔记
2013-02-07 17:24 431. 在OLTP系统装要注意sql的硬解析,但是在OLA ... -
synonym
2013-02-07 16:58 950建立一个同义词可以排除一个对象名字的限制. 如果你的数据库有多 ... -
oracle schema
2013-02-07 16:50 762A schema is a collection of dat ... -
物化视图的使用分析
2013-02-05 17:27 7811. 在 深入浅出 系列中,作者列举了一个例子来说明。 ... -
Oracle编程艺术阅读笔记-2
2013-01-29 10:40 7741. 位图索引。 不 ... -
Oracle:位图索引与死锁-2
2013-01-28 18:24 833位图索引被存储为压缩的索引值,其中包含了一个范围内的ROWID ... -
Oracle:位图索引与死锁-1
2013-01-28 18:04 865B 树索引更适合索引动态表的 OLTP 环境,而位图索引更适合 ... -
Oracle编程艺术阅读笔记-1
2013-01-24 18:48 8641. 绑定变量。 不使用会产生的影响: 每次运 ... -
JAVA完全控制Oracle中BLOB、CLOB说明
2012-12-28 17:07 847网络上很多关于JAVA对Oracle中BLOB、CLOB类型字 ... -
H2数据库的使用
2012-12-13 18:40 7671.下载h2的jar,例如h2-1.3.170.jar 2.c ... -
JTA
2012-12-05 17:35 972要理解 JTA 的实现原理 ... -
oracle 体系结构
2012-12-03 23:13 716[img][/img] oracle工作原理 ... -
oracle 存储过程实例-4
2012-12-03 23:04 536--错误处理部分。 --自 ... -
oracle 存储过程实例-4
2012-12-03 23:02 842--错误处理部分。 --自定义异常处理 CREATE OR ... -
oracle 存储过程实例-3
2012-12-03 21:42 812PROCEDURE autoissuereturns ( ...
相关推荐
Oracle数据快照技术在数据交换中扮演着关键角色,它提供了数据的本地化访问和高效同步,有助于提升系统的响应速度和数据一致性。然而,正确地使用和管理快照需要对Oracle数据库有深入的理解,以确保性能优化的同时...
Oracle复制技术在地震前兆元数据交换中的应用主要涉及到Oracle数据库的高级特性,特别是快照复制技术。在地震预测和监测领域,及时、准确的数据交换至关重要。本文详细介绍了如何利用Oracle快照复制来管理和交换地震...
在教务系统中应用Oracle 9i数据复制技术,可以提升系统的稳定性和可靠性,尤其是在大型教育机构中,教务数据的实时性和准确性至关重要。例如,课程安排、成绩管理、学生信息等都需要在不同的部门之间共享和更新。...
在实际应用中,例如在一个公司集团中,总部与分布在各地的分支机构之间可能存在数据交换需求。通过Oracle高级复制技术,可以构建一个分布式数据库系统,使得各个分支的数据能够实时或按需同步到总部,实现统一管理和...
研究这两者之间的数据复制技术,主要是为了在异构的数据源之间实现数据交换和同步。 描述中指出,文章研究了SQL Server 2005的几种复制类型,包括事务复制、合并复制等,并探讨了它们的具体配置实现,这为异构数据...
总的来说,基于Oracle的分布式技术在地理信息系统的开发应用中起到了关键作用。通过合理的数据库设计和利用Oracle的分布式特性,可以高效地管理和处理大规模的空间数据,提高系统的响应速度和可靠性,同时降低了系统...
该技术通常应用在涵盖有海量数据的 大型表中。分区技术的应用省掉了技术人员进行实时分析和数据存储位置的确定工作,而只需要把表当成一个整体来进行数据查询。 根据分区方法,其分区划分有根据字段值范围的分区、...
5. **数据库链接(DATABASE LINK)**:在两个数据库之间创建数据库链接,可以直接在另一个数据库中写入新数据,实现数据交换。 6. **SQLPLUS的COPY命令**:SQLPLUS的COPY命令可以用来快速地在本地和远程数据库之间...
网络传输速度也非常重要,尤其是当数据交换频繁且量大时。此外,服务器应始终保持开机或定时开机状态,以避免延迟任务累积。执行DDL(数据定义语言)语句时要格外小心,因为这可能破坏Oracle为复制设置的触发器和包...
### Oracle DBLink创建过程及快照同步方法 #### 一、Oracle DBLink概念与创建步骤 DBLink(Database Link)是Oracle提供的一...需要注意的是,在实际应用过程中,还需要考虑网络延迟、数据量大小等因素对性能的影响。
实例(Instance)是由Oracle后台进程和SGA组成的,SGA主要包含数据缓冲区缓存、重做日志缓冲区、共享池和PGA等组件,它们共同协调数据库的运行和数据交换。 总的来说,Oracle分布式数据库提供了强大的数据管理和...
通过深入学习和实践"精通Oracle 9i(PDG)",读者不仅可以掌握Oracle 9i的核心技术,还能了解如何在实际环境中应用这些知识,提升数据库管理的专业水平。虽然Oracle 9i已是较旧的版本,但其基础概念和技术原理对于理解...
7. **XML支持**:Oracle 9i对XML的处理能力得到提升,内置了XML DB,可以直接存储和查询XML文档,提高了数据交换和集成的能力。 8. **数据整合**:通过Advanced Queuing(AQ)和Materialized Views,9i提供了强大的...
4. **复制和共享技术**:Oracle 10g提供了多种数据复制技术,如高级复制、对称复制、只读快照复制等,确保数据的同步和一致性。此外,数据可以被共享,使得多用户和多应用之间可以访问同一份数据,降低了数据冗余。 ...
Oracle9i数据库管理系统是Oracle公司推出的数据库产品,其全称为Oracle9i Database,是9.0...通过深入学习,你可以掌握如何安装配置、性能调优、安全管理、故障排查等关键技能,从而在实际工作中更好地运用Oracle9i。
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块中来提高查询性能。 综上所述,通过对硬件性能、数据库设计以及应用程序等多方面的综合优化,可以显著提升基于Oracle数据库的应用系统的性能。这些优化措施...
对于非SQL Server的数据源,如Oracle,可能会使用TXT文件进行数据交换。分发代理则负责将快照数据和后续的事务从发布服务器传输到订阅服务器。 在实际操作中,为了配置快照复制,首先需要检查和统一服务器名称,...
- **查看Oracle数据文件、控制文件、联机日志及归档日志存放的文件系统或裸设备空间使用情况**: - 目的是确保这些关键文件有足够的存储空间,并且文件系统的健康状态良好。这有助于预防由于磁盘空间不足导致的...