CN105320769A - 一种Oracle数据库的数据同步方法及系统 - Google Patents
一种Oracle数据库的数据同步方法及系统 Download PDFInfo
- Publication number
- CN105320769A CN105320769A CN201510713972.XA CN201510713972A CN105320769A CN 105320769 A CN105320769 A CN 105320769A CN 201510713972 A CN201510713972 A CN 201510713972A CN 105320769 A CN105320769 A CN 105320769A
- Authority
- CN
- China
- Prior art keywords
- logminer
- data
- oracle database
- file
- log file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了Oracle数据库的数据同步方法及系统,该方法包括:获取原Oracle数据库中的归档日志文件;利用logminer从归档日志文件中提取待同步数据;将待同步数据同步至目标Oracle数据库。由于logminer工具是Oracle数据库本身自带的完全免费的分析工具,使用该工具可以轻松获得Oracle归档日志文件(重做日志文件)中的具体内容,即使当同步数据的数据量较大时资源消耗也很小。显然,应用本发明能够达到资源消耗小和成本低的目的。
Description
技术领域
本发明涉及数据同步技术领域,特别是涉及一种Oracle数据库的数据同步方法及系统。
背景技术
目前,随着信息技术的飞速发展,企业信息化建设的不断深入,企业业务系统的数量也在不断增加。这时,各业务系统之间数据同步,各子业务系统与核心业务系统之间数据同步。因此,诸如上述场景中各数据库(主流数据库为Oracle数据库)之间的数据同步需求不断出现,使得IT部门应对此类同步需求的压力也越来越大。
现在比较常见的将原数据库中的数据同步至目标数据库中的方法有以下几种:触发器、物化视图、goldengate以及Oracledataguard,其中,触发器、物化视图需要修改原数据库的结构,而且这两种方式随着同步数据量的增加,由于资源消耗大会导致效率急剧下降,进而对原数据库造成很大的影响;goldengate这款软件是收费的,而且收费标准很高,普通企业无法承受;如果采用oracledataguard物理模式的话,目标数据库无法提供数据写入服务会造成的资源浪费。
基于此,亟需提供一种新的Oracle数据库的数据同步方法,以达到资源消耗小和成本低的目的。
发明内容
有鉴于此,本发明提供了一种Oracle数据库的数据同步方法及系统,以达到资源消耗小和成本低的目的。
为解决上述技术问题,本发明提供一种Oracle数据库的数据同步方法,包括:
获取原Oracle数据库中的归档日志文件;
利用logminer从所述归档日志文件中提取待同步数据;
将所述待同步数据同步至目标Oracle数据库。
上述方法中,优选的,所述利用logminer从所述归档日志文件中提取待同步数据,包括:
利用logminer对所述归档日志文件进行日志分析,得到日志分析结果;
从所述日志分析结果中提取所述待同步数据。
上述方法中,优选的,在所述利用logminer对所述归档日志文件进行日志分析,得到日志分析结果之前,还包括:
生成所述原Oracle数据库的数据字典文件,以便所述logminer参考所述数据字典文件对所述归档日志文件进行日志分析。
上述方法中,优选的,在所述利用logminer对所述归档日志文件进行日志分析之后,通过表v$logmnr_contents获得所述日志分析结果。
本发明还提供了一种Oracle数据库的数据同步系统,包括:
获取单元,用于获取原Oracle数据库中的归档日志文件;
提取单元,用于利用logminer从所述归档日志文件中提取待同步数据;
同步单元,用于将所述待同步数据同步至目标Oracle数据库。
上述系统中,优选的,所述提取单元包括:
分析子单元,用于利用logminer对所述归档日志文件进行日志分析,得到日志分析结果;
提取子单元,用于从所述日志分析结果中提取所述待同步数据。
上述系统中,优选的,还包括:
生成单元,用于在所述利用logminer对所述归档日志文件进行日志分析,得到日志分析结果之前,生成所述原Oracle数据库的数据字典文件,以便所述logminer参考所述数据字典文件对所述归档日志文件进行日志分析。
上述系统中,优选的,所述分析子单元具体用于在所述利用logminer对所述归档日志文件进行日志分析之后,通过表v$logmnr_contents获得所述日志分析结果。
以上本发明提供的一种Oracle数据库的数据同步方法及系统,首先,获取原Oracle数据库中的归档日志文件;然后,利用logminer从所述归档日志文件中提取待同步数据;最后,将所述待同步数据同步至目标Oracle数据库。由于logminer工具是Oracle数据库本身自带的完全免费的分析工具,使用该工具可以轻松获得Oracle归档日志文件(重做日志文件)中的具体内容,即使当同步数据的数据量较大时资源消耗也很小。显然,应用本发明能够达到资源消耗小和成本低的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种Oracle数据库的数据同步方法的流程图;
图2为本发明实施例提供的一种Oracle数据库的数据同步系统的结构框图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的核心是提供一种Oracle数据库的数据同步方法及系统,以达到资源消耗小和成本低的目的。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
参考图1,图1示出了本发明实施例提供的一种Oracle数据库的数据同步方法的流程图,该方法具体可以包括如下步骤:
步骤S100、获取原Oracle数据库中的归档日志文件。
在实际应用中,需要预先设置原Oracle数据库为归档模式,这样才能生成归档日志文件。
归档日志文件是非活动的重做日志备份。通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档日志中.当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。
在具体实施过程中,可以参考以下代码实现对原Oracle数据库的归档模式设置:
ALTERSYSTEMSETlog_archive_dest="D:\oracle\oradata\practice\ARCHIVE";
ALTERSYSTEMSETlog_archive_format="ARC%S_%R.%T"SCOPE=SPFILE;
步骤S101、利用logminer从归档日志文件中提取待同步数据。
在实际应用中,logminer工具即可以用来分析在线,也可以用来分析离线日志文件,即可以分析本身自己数据库的重作日志文件,也可以用来分析其他数据库的重作日志文件。
为了能顺利读懂logminer在分析过程中挖掘出来的数据的具体意思,需要在利用logminer对归档日志文件进行日志分析之前,先生成原Oracle数据库的数据字典文件。
具体地,提取待同步数据的具体过程如下:利用logminer对归档日志文件进行日志分析,得到日志分析结果;从日志分析结果中提取待同步数据。
进一步地,在利用logminer对归档日志文件进行日志分析之后,通过表v$logmnr_contents获得日志分析结果。最后调用分析终止脚本终止日志分析事物。
在具体实施过程中,可以参考以下代码实现上述技术方法涉及到的一些内容:
(1)LogMiner设置
创建LOGMNR文件夹,路径为"D:\oracle\oradata\practice\LOGMNR"
CREATEDIRECTORYutlfileAS'D:\oracle\oradata\practice\LOGMNR';
altersystemsetutl_file_dir='D:\oracle\oradata\practice\LOGMNR'scope=spfile;
(2)开启LogMiner日志补充模式
alterdatabaseaddsupplementallogdata;
(3)使用LogMiner读取在线日志
BEGIN
dbms_logmnr.add_logfile(logfilename=>'D:\oracle\oradata\practice\REDO03.LOG',op
tions=>dbms_logmnr.NEW);
END;
/
EXECUTE
dbms_logmnr.start_logmnr(dictfilename=>'D:\oracle\oradata\practice\LOGMNR\dicti
onary.ora');
(4)得出结果
SELECTsql_redo,sql_undo,seg_ownerFROMv$logmnr_contentsWHERE
seg_name='AAAAA'ANDseg_owner='LOGMINER';
步骤S102、将待同步数据同步至目标Oracle数据库。
综上,由于logminer工具是Oracle数据库本身自带的完全免费的分析工具,使用该工具可以轻松获得Oracle归档日志文件(重做日志文件)中的具体内容,即使当同步数据的数据量较大时资源消耗也很小。显然,应用本发明能够达到资源消耗小和成本低的目的。
基于上述本发明实施例提供的Oracle数据库的数据同步方法,本发明实施例还提供了一种Oracle数据库的数据同步系统,参考图2,该系统200可以包括如下内容:
获取单元201,用于获取原Oracle数据库中的归档日志文件;
提取单元202,用于利用logminer从归档日志文件中提取待同步数据;
同步单元203,用于将待同步数据同步至目标Oracle数据库。
本发明中,上述提取单元202具体可以包括以下内容:
分析子单元,用于利用logminer对归档日志文件进行日志分析,得到日志分析结果;
提取子单元,用于从日志分析结果中提取待同步数据。
本发明中,上述系统200还可以包括生成单元,用于在利用logminer对归档日志文件进行日志分析,得到日志分析结果之前,生成原Oracle数据库的数据字典文件,以便logminer参考数据字典文件对归档日志文件进行日志分析。
本发明中,分析子单元具体用于在利用logminer对归档日志文件进行日志分析之后,通过表v$logmnr_contents获得日志分析结果。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种Oracle数据库的数据同步方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种Oracle数据库的数据同步方法,其特征在于,包括:
获取原Oracle数据库中的归档日志文件;
利用logminer从所述归档日志文件中提取待同步数据;
将所述待同步数据同步至目标Oracle数据库。
2.如权利要求1所述的方法,其特征在于,所述利用logminer从所述归档日志文件中提取待同步数据,包括:
利用logminer对所述归档日志文件进行日志分析,得到日志分析结果;
从所述日志分析结果中提取所述待同步数据。
3.如权利要求2所述的方法,其特征在于,在所述利用logminer对所述归档日志文件进行日志分析,得到日志分析结果之前,还包括:
生成所述原Oracle数据库的数据字典文件,以便所述logminer参考所述数据字典文件对所述归档日志文件进行日志分析。
4.如权利要求3所述的方法,其特征在于,在所述利用logminer对所述归档日志文件进行日志分析之后,通过表v$logmnr_contents获得所述日志分析结果。
5.一种Oracle数据库的数据同步系统,其特征在于,包括:
获取单元,用于获取原Oracle数据库中的归档日志文件;
提取单元,用于利用logminer从所述归档日志文件中提取待同步数据;
同步单元,用于将所述待同步数据同步至目标Oracle数据库。
6.如权利要求5所述的系统,其特征在于,所述提取单元包括:
分析子单元,用于利用logminer对所述归档日志文件进行日志分析,得到日志分析结果;
提取子单元,用于从所述日志分析结果中提取所述待同步数据。
7.如权利要求6所述的系统,其特征在于,还包括:
生成单元,用于在所述利用logminer对所述归档日志文件进行日志分析,得到日志分析结果之前,生成所述原Oracle数据库的数据字典文件,以便所述logminer参考所述数据字典文件对所述归档日志文件进行日志分析。
8.如权利要求7所述的系统,其特征在于,所述分析子单元具体用于在所述利用logminer对所述归档日志文件进行日志分析之后,通过表v$logmnr_contents获得所述日志分析结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713972.XA CN105320769A (zh) | 2015-10-28 | 2015-10-28 | 一种Oracle数据库的数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510713972.XA CN105320769A (zh) | 2015-10-28 | 2015-10-28 | 一种Oracle数据库的数据同步方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105320769A true CN105320769A (zh) | 2016-02-10 |
Family
ID=55248155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510713972.XA Pending CN105320769A (zh) | 2015-10-28 | 2015-10-28 | 一种Oracle数据库的数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105320769A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868343A (zh) * | 2016-03-28 | 2016-08-17 | 上海携程商务有限公司 | 数据库迁移方法及系统 |
CN108614892A (zh) * | 2018-05-09 | 2018-10-02 | 浪潮软件集团有限公司 | 一种基于redolog的Oracle数据实时同步方法 |
CN109597791A (zh) * | 2018-11-30 | 2019-04-09 | 华录光存储研究院(大连)有限公司 | 基于OpenStack平台的归档系统 |
CN110569142A (zh) * | 2019-08-29 | 2019-12-13 | 天津大学 | 一种oracle数据增量同步系统及方法 |
CN112181992A (zh) * | 2020-10-27 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种oracle数据库增量数据采集实现方法 |
CN113515573A (zh) * | 2021-05-08 | 2021-10-19 | 上海英方软件股份有限公司 | 一种oracle数据库一对多协商复制断点的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成系统和数据集成方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103678718A (zh) * | 2013-12-31 | 2014-03-26 | 金蝶软件(中国)有限公司 | 数据库同步方法及系统 |
-
2015
- 2015-10-28 CN CN201510713972.XA patent/CN105320769A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488690A (zh) * | 2013-09-02 | 2014-01-01 | 用友软件股份有限公司 | 数据集成系统和数据集成方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103678718A (zh) * | 2013-12-31 | 2014-03-26 | 金蝶软件(中国)有限公司 | 数据库同步方法及系统 |
Non-Patent Citations (1)
Title |
---|
SEASON0891: ""oracle logminer分析在线 离线日志方法"", 《HTTP://BLOG.ITPUB.NET/90618/VIEWSPACE-660550/》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868343A (zh) * | 2016-03-28 | 2016-08-17 | 上海携程商务有限公司 | 数据库迁移方法及系统 |
CN105868343B (zh) * | 2016-03-28 | 2019-05-21 | 上海携程商务有限公司 | 数据库迁移方法及系统 |
CN108614892A (zh) * | 2018-05-09 | 2018-10-02 | 浪潮软件集团有限公司 | 一种基于redolog的Oracle数据实时同步方法 |
CN109597791A (zh) * | 2018-11-30 | 2019-04-09 | 华录光存储研究院(大连)有限公司 | 基于OpenStack平台的归档系统 |
CN110569142A (zh) * | 2019-08-29 | 2019-12-13 | 天津大学 | 一种oracle数据增量同步系统及方法 |
CN112181992A (zh) * | 2020-10-27 | 2021-01-05 | 浪潮云信息技术股份公司 | 一种oracle数据库增量数据采集实现方法 |
CN113515573A (zh) * | 2021-05-08 | 2021-10-19 | 上海英方软件股份有限公司 | 一种oracle数据库一对多协商复制断点的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320769A (zh) | 一种Oracle数据库的数据同步方法及系统 | |
TWI521363B (zh) | Method, device and system for implementing incremental data extraction | |
CN105279045A (zh) | 一种数据库的数据恢复方法及系统 | |
ATE470903T1 (de) | Bereitstellen eines scnappschusses von einer teilmenge eines dateisystems | |
CN104573056A (zh) | 一种基于oracle数据库大数据量在线迁移的方法 | |
CN105843707B (zh) | 数据库快速恢复方法及设备 | |
CN103034658A (zh) | 一种数据查询和报表导出的方法及系统 | |
CN104331285A (zh) | 一种代码自动生成方法及系统 | |
CN102915336A (zh) | 一种基于时间戳和日志的增量数据捕获和抽取方法 | |
CN108228726B (zh) | 配电网红黑图的增量异动内容获取方法及存储介质 | |
CN111651519B (zh) | 数据同步方法、数据同步装置、电子设备及存储介质 | |
CN112214453B (zh) | 大规模工业数据压缩存储方法、系统及介质 | |
CN105262812A (zh) | 一种基于云计算平台的日志数据处理方法、装置及系统 | |
ATE463797T1 (de) | Datenbank-datenwiederherstellungssystem und - verfahren | |
CN103778259A (zh) | 基于Sqlite3实现智能手机数据恢复的方法 | |
CN104317957A (zh) | 一种报表处理的开放平台、系统及报表处理方法 | |
CN103106200A (zh) | 非关系型数据库同步系统及双写同步方法 | |
CN105760485A (zh) | 财务数据抽取方法及系统 | |
CN106844694B (zh) | 用于同步数据的方法及设备 | |
CN105447069A (zh) | 基于bw平台的对账平台数据同步方法及系统 | |
CN105159820A (zh) | 一种系统日志数据传输方法及装置 | |
CN104778252A (zh) | 索引的存储方法和装置 | |
CN104346378B (zh) | 一种实现复杂数据处理的方法、装置及系统 | |
CN107665153A (zh) | 一种大数据系统中数据备份方法、恢复方法和装置 | |
CN108228592B (zh) | 基于二进制日志的数据归档方法及数据归档装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160210 |