CN109657015B - 一种基于oracle行迁移和行连接的数据提取方法 - Google Patents

一种基于oracle行迁移和行连接的数据提取方法 Download PDF

Info

Publication number
CN109657015B
CN109657015B CN201811588895.XA CN201811588895A CN109657015B CN 109657015 B CN109657015 B CN 109657015B CN 201811588895 A CN201811588895 A CN 201811588895A CN 109657015 B CN109657015 B CN 109657015B
Authority
CN
China
Prior art keywords
record
current
data
row
column
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.)
Active
Application number
CN201811588895.XA
Other languages
English (en)
Other versions
CN109657015A (zh
Inventor
梁效宁
许超明
刘涛
朱星海
张强
董超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xly Salvationdata Technology Inc
Original Assignee
Xly Salvationdata Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xly Salvationdata Technology Inc filed Critical Xly Salvationdata Technology Inc
Priority to CN201811588895.XA priority Critical patent/CN109657015B/zh
Publication of CN109657015A publication Critical patent/CN109657015A/zh
Application granted granted Critical
Publication of CN109657015B publication Critical patent/CN109657015B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于oracle行迁移和行连接的数据提取方法,其特征在于包括以下步骤:S100:查找并判断当前记录是否为oracle数据的记录,如果是,执行步骤S200,否则结束流程;S200:获取当前记录的行管理;S300:判断当前记录是否为行迁移和行连接,如果是,执行步骤S400,否则,表示当前记录是完整记录,步骤S100;S400:判断当前记录是否是头片数据记录,如果是,执行步骤S500,否则,表示当前记录为分片数据记录,执行步骤S600;S500:读取当前行管理的后续记录地址,执行步骤S600;S600:寻址并获取当前记录的当前数据段;S700:判断当前记录的当前数据段是否为结束片,如果是,结束流程,否则,执行步骤S800;S800:根据后续记录地址,寻址并获取后续记录,执行步骤S200。

Description

一种基于oracle行迁移和行连接的数据提取方法
技术领域
本发明属于数据恢复领域,涉及一种基于oracle行迁移和行连接的数据提取方法。
背景技术
随着信息时代的来临,对数据的管理和应用都离不开数据库。数据库***是计算机应用***的重要组成部分之一。数据库技术已广泛应用于数据处理、信息检索、人工智能等诸多方面,数据库应用技术是从事计算机工作的人员必备的技术之一。
甲骨文公司是世界上最大的软件提供商之一。Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理***。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库***是目前世界上流行的关系数据库管理***,***可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。
在数据库的使用过程中,难免会遇到误操作、人为恶意破坏、软硬件故障等原因对数据库造成损坏,丢失重要数据。此时,对数据库进行恢复,找回数据就至关重要。现有技术中,尚无一种基于oracle行迁移和行连接的数据提取方法。
发明内容
本发明针对现有技术的不足问题,提出了一种基于oracle行迁移和行连接的数据提取方法,通过查找记录的行管理并判断是否为行迁移和行连接,获取本条记录及下一片数据的位置并进行数据提取,直到提取完整的记录,包括以下步骤:
S100:查找并判断当前记录是否为oracle数据的记录,如果是,执行步骤S200,否则结束流程;
S200:获取当前记录的行管理;
S300:读取当前行管理的首字节标记及列数,用以判断当前记录是否为行迁移和行连接,如果是,执行步骤S400,否则,表示当前记录是完整记录,步骤S100;
S400:根据当前首字节标记,判断当前记录是否是头片数据记录,如果是,执行步骤S500,否则,表示当前记录为分片数据记录,执行步骤S600;
S500:读取当前行管理的后续记录地址,执行步骤S600;
S600:寻址并获取当前记录的当前数据段;
S700:判断当前记录的当前数据段是否为结束片,如果是,结束流程,否则,执行步骤S800;
S800:根据所述步骤S500中所述后续记录地址,寻址并获取后续记录,执行步骤S200。
优选地,所述行管理的数据结构如下表1所示。
表1:行管理的数据结构
Figure BDA0001919769770000021
优选地,所述当前数据段的数据结构如下表2所示。
表2:当前数据段的数据结构
Figure BDA0001919769770000022
优选地,所述目标文件包括当前目标文件***所支持的所有类型的文件。
优选地,所述行管理包含的1字节长度的所述首字节标记的8个比特位从左至右依次表示为KCHDFLPN,各个比特位功能如下。
K=簇密钥Cluster Key
C=簇表成员Cluster table member
H=列的头片Head piece of row
D=已删除列Deleted row
F=首数据片First data piece
L=末数据片Last data piece
P=接上一片的首列First column continues from previous piece
N=续下一片的末列Last column continues in next piece
优选地,所述步骤S300中,判断当前记录是否为行迁移和行连接的具体方法如下:
①如果所述首数据片First data piece比特位F为1,则表示当前记录为第一片记录;
②如果所述末数据片Last data piece比特位L为1,则表示当前记录为最后一片记录;
③如果所述接上一片的首列First column continues from previous piece S2比特位P为1,则表示当前记录的第一列为当前记录从某列中间分隔的下半部分,当前片数据的首列+上一片数据的末列为一个完整的列;
④如果所述续下一片的末列Last column continues in next piece比特位N为1,则表示当前片记录的末列为当前记录从某列中间分隔的上半部分,当前片数据的末列+上一片数据的首列为一个完整的列;
⑤列个数为0表示发生行迁移,如果不为0表示发生行连接;
如果上述任一比特位为1,表示所述步骤S300中,当前记录为行迁移和行连接,执行步骤S400;
如果上述①、②同时为0,表示当前记录为行迁移,执行步骤S400;
否则,表示当前记录是完整记录,执行步骤S100;
如果上述①、②同时为1,也表示当前记录是完整记录,执行步骤S100。
优选地,所述后续记录地址的字节长度为6字节,包括4字节长度的记录索引信息及2字节长度的片段索引信息,其中,
所述记录索引信息的4字节长度的32比特位中,高10比特位为文件ID,低22比特位为块ID;
所述片段索引信息表示下一分片在当前块中的位置。
本发明的有益效果是解决了现有技术中尚无一种基于oracle行迁移和行连接的数据提取方法的问题。
附图说明
图1为本发明的流程图。
具体实施方式
本发明所提供的方法中,首先找到oracle数据库的一条记录;然后读取该条记录的行格式中的首字节标记fb(first byte),根据首字节标记fb判断是否为数据记录头片、数据记录分片还是数据记录结束片;之后再根据行格式中的列数来判断是行迁移、行连接;如果是行迁移就按照行迁移的方法提取数据,如果是行连接就按照行连接的方法提取数据。下面结合附图和实施例对本发明作进一步阐述。
图1示出了本发明的流程图。
如图1所示,本发明的方法包括以下步骤:
S100:查找并判断当前记录是否为oracle数据的记录,如果是,执行步骤S200,否则结束流程;
S200:获取当前记录的行管理;
行管理的数据结构如下表1所示。
表1:行管理的数据结构
Figure BDA0001919769770000051
行管理包含的1字节长度的首字节标记的8个比特位从左至右依次表示为KCHDFLPN,各个比特位功能如下。
K=簇密钥Cluster Key
C=簇表成员Cluster table member
H=列的头片Head piece of row
D=已删除列Deleted row
F=首数据片First data piece
L=末数据片Last data piece
P=接上一片的首列First column continues from previous piece
N=续下一片的末列Last column continues in next piece
S300:读取当前行管理的首字节标记及列数,用以判断当前记录是否为行迁移和行连接,如果是,执行步骤S400,否则,表示当前记录是完整记录,执行步骤S100;
具体方法如下:
①如果所述首数据片First data piece比特位F为1,则表示当前记录为第一片记录;
②如果所述末数据片Last data piece比特位L为1,则表示当前记录为最后一片记录;
③如果所述接上一片的首列First column continues from previous piece S2比特位P为1,则表示当前记录的第一列为当前记录从某列中间分隔的下半部分,当前片数据的首列+上一片数据的末列为一个完整的列;
④如果所述续下一片的末列Last column continues in next piece比特位N为1,则表示当前片记录的末列为当前记录从某列中间分隔的上半部分,当前片数据的末列+上一片数据的首列为一个完整的列;
⑤列个数为0表示发生行迁移,如果不为0表示发生行连接;
如果上述任一比特位为1,表示所述步骤S300中,当前记录为行迁移和行连接,执行步骤S400;
如果上述①、②同时为0,表示当前记录为行迁移,执行步骤S400;
否则,表示当前记录是完整记录,执行步骤S100;
如果上述①、②同时为1,也表示当前记录是完整记录,执行步骤S100。
S400:根据当前首字节标记,判断当前记录是否是头片数据记录,如果是,执行步骤S500,否则,表示当前记录为分片数据记录,执行步骤S600;
S500:读取当前行管理的后续记录地址,执行步骤S600;
后续记录地址的字节长度为6字节,包括4字节长度的记录索引信息及2字节长度的片段索引信息,其中,
记录索引信息的4字节长度的32比特位中,高10比特位为文件ID,低22比特位为块ID;
片段索引信息表示下一分片在当前块中的位置。
S600:寻址并获取当前记录的当前数据段;
当前数据段的数据结构如下表2所示。
表2:当前数据段的数据结构
Figure BDA0001919769770000071
因为long类型的字段在块中的字节的长度不会超过64K,所以最多用3字节来表示长度就已经足够,再长就采用链接行,因此,当前列内容的长度超过250字节时就用3字节来表示当前列内容的长度。
列内容的长度由如下方法来确定:
①1字节:列内容的长度的内容小于0xFA,表示当前列内容的长度为1字节;
②3字节:列内容的长度的内容不小于0xFA,表示当前列内容的长度为3字节;
③1字节:列内容的长度的内容为0xFF,表示当前列内容为数字类型的null值且其长度为1字节;
S700:判断当前记录的当前数据段是否为结束片,如果是,结束流程,否则,执行步骤S800;
S800:根据步骤S500中后续记录地址,寻址并获取后续记录,执行步骤S200。
通过本发明提供的方法,解决了现有技术中尚无一种基于oracle行迁移和行连接的数据提取方法的技术问题。
应当理解的是,本发明不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (5)

1.一种基于oracle行迁移和行连接的数据提取方法,其特征在于包括以下步骤:
S100:查找并判断当前记录是否为oracle数据的记录,如果是,执行步骤S200,否则结束流程;
S200:获取当前记录的行管理,所述行管理的数据结构如下表1所示;
表1:行管理的数据结构
Figure FDA0004110004640000011
S300:读取当前行管理的首字节标记及列数,用以判断当前记录是否为行迁移和行连接,如果是,执行步骤S400,否则,表示当前记录是完整记录,执行步骤S100;
S400:根据当前首字节标记,判断当前记录是否是头片数据记录,如果是,执行步骤S500,否则,表示当前记录为分片数据记录,执行步骤S600;
S500:读取当前行管理的后续记录地址,执行步骤S600;
S600:寻址并获取当前记录的当前数据段;
S700:判断当前记录的当前数据段是否为结束片,如果是,结束流程,否则,执行步骤S800;
S800:根据所述步骤S500中所述后续记录地址,寻址并获取后续记录,执行步骤S200。
2.根据权利要求1所述的一种基于oracle行迁移和行连接的数据提取方法,其特征在于,所述当前数据段的数据结构如下表2所示。
表2:当前数据段的数据结构
Figure FDA0004110004640000021
3.根据权利要求2所述的一种基于oracle行迁移和行连接的数据提取方法,其特征在于,所述行管理包含的1字节长度的所述首字节标记的8个比特位从左至右依次表示为KCHDFLPN,各个比特位功能如下
K=簇密钥ClusterKey
C=簇表成员Clustertablemember
H=列的头片Headpieceofrow
D=已删除列Deletedrow
F=首数据片Firstdatapiece
L=末数据片Lastdatapiece
P=接上一片的首列Firstcolumncontinuesfrompreviouspiece
N=续下一片的末列Lastcolumncontinuesinnextpiece。
4.根据权利要求3所述的一种基于oracle行迁移和行连接的数据提取方法,其特征在于,所述步骤S300中,判断当前记录是否为行迁移和行连接的具体方法如下:
①如果所述首数据片Firstdatapiece比特位F为1,则表示当前记录为第一片记录;
②如果所述末数据片Lastdatapiece比特位L为1,则表示当前记录为最后一片记录;
③如果所述接上一片的首列Firstcolumncontinuesfromprevious pieceS2比特位P为1,则表示当前记录的第一列为当前记录从某列中间分隔的下半部分,当前片数据的首列+上一片数据的末列为一个完整的列;
④如果所述续下一片的末列Lastcolumncontinuesinnextpiece比特位N为1,则表示当前片记录的末列为当前记录从某列中间分隔的上半部分,当前片数据的末列+上一片数据的首列为一个完整的列;
⑤列个数为0表示发生行迁移,如果不为0表示发生行连接;
如果上述任一比特位为1,表示所述步骤S300中,当前记录为行迁移和行连接,执行步骤S400;
如果上述①、②的比特位同时为0,表示当前记录为行迁移,执行步骤S400;
否则,表示当前记录是完整记录,执行步骤S100;
如果上述①、②的比特位同时为1,也表示当前记录是完整记录,执行步骤S100。
5.根据权利要求4所述的一种基于oracle行迁移和行连接的数据提取方法,其特征在于,所述后续记录地址的字节长度为6字节,包括4字节长度的记录索引信息及2字节长度的片段索引信息,其中,
所述记录索引信息的4字节长度的32比特位中,高10比特位为文件ID,低22比特位为块ID;
所述片段索引信息表示下一分片在当前块中的位置。
CN201811588895.XA 2018-12-25 2018-12-25 一种基于oracle行迁移和行连接的数据提取方法 Active CN109657015B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811588895.XA CN109657015B (zh) 2018-12-25 2018-12-25 一种基于oracle行迁移和行连接的数据提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811588895.XA CN109657015B (zh) 2018-12-25 2018-12-25 一种基于oracle行迁移和行连接的数据提取方法

Publications (2)

Publication Number Publication Date
CN109657015A CN109657015A (zh) 2019-04-19
CN109657015B true CN109657015B (zh) 2023-05-02

Family

ID=66115095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811588895.XA Active CN109657015B (zh) 2018-12-25 2018-12-25 一种基于oracle行迁移和行连接的数据提取方法

Country Status (1)

Country Link
CN (1) CN109657015B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533675A (zh) * 2008-03-11 2009-09-16 深圳市朗科科技股份有限公司 闪存介质扫描和管理方法
CN105324770A (zh) * 2013-04-30 2016-02-10 亚马逊科技公司 有效读出副本

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3703874B2 (ja) * 1995-03-17 2005-10-05 富士通株式会社 ファイル管理方法及びファイル管理装置
JP2004185270A (ja) * 2002-12-03 2004-07-02 Fujitsu Ltd アンロードプログラム,ロードプログラム及びデータ移行方法
JP4306281B2 (ja) * 2003-02-27 2009-07-29 富士通株式会社 リレーショナルデータベースにおける階層型データのマッピングプログラム、装置、および方法
CN101686144A (zh) * 2008-09-22 2010-03-31 华为技术有限公司 一种处理数据的方法、***和节点设备
CN102571949B (zh) * 2011-12-31 2014-05-07 河海大学 一种基于网络的数据自毁方法
US9230008B2 (en) * 2012-04-12 2016-01-05 Ca, Inc. System and method for automated online reorganization of sequential access databases
US9684687B1 (en) * 2014-03-10 2017-06-20 Ca, Inc. Multi-phase data expiration path for a database
JP6668785B2 (ja) * 2016-01-29 2020-03-18 日本電気株式会社 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
US11880716B2 (en) * 2020-08-05 2024-01-23 Ocient Holdings LLC Parallelized segment generation via key-based subdivision in database systems
CN113076221B (zh) * 2021-03-30 2023-05-02 四川效率源信息安全技术股份有限公司 一种针对MongoDB-MMAPv1引擎的数据恢复方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101533675A (zh) * 2008-03-11 2009-09-16 深圳市朗科科技股份有限公司 闪存介质扫描和管理方法
CN105324770A (zh) * 2013-04-30 2016-02-10 亚马逊科技公司 有效读出副本

Also Published As

Publication number Publication date
CN109657015A (zh) 2019-04-19

Similar Documents

Publication Publication Date Title
CN110879813B (zh) 一种基于二进制日志解析的MySQL数据库增量同步实现方法
CN108563711B (zh) 一种基于时间节点的时序数据存储方法
CN102129478B (zh) 数据库同步方法及***
EP1480132B1 (en) System and method for identifying and storing changes made to a table
WO2020103493A1 (zh) 基于fat32文件***的删除文件恢复方法及***
CN100433019C (zh) 一种数据存储与检索的方法及***
CN110569390B (zh) 基于区分存储介质的海量案件数据高效检索方法
KR101547466B1 (ko) 오라클 데이터베이스에서 데이터를 복원하는 방법 및 장치
CN112835918A (zh) 一种MySQL数据库增量同步实现方法
CN113961153A (zh) 一种索引数据写入磁盘的方法、装置及终端设备
CN107273449B (zh) 一种基于内存数据库的断点处理方法及***
CN107169003B (zh) 一种数据关联方法及装置
CN109657015B (zh) 一种基于oracle行迁移和行连接的数据提取方法
CN109344163B (zh) 一种数据校验方法、装置和计算机可读介质
CN111694853B (zh) 基于世系的数据增量采集方法、装置、存储介质和电子设备
CN110297781B (zh) 一种基于写时复制来恢复apfs中被删除数据的方法
CN111813773A (zh) 一种电网抄表数据存储方法、上传方法、装置和存储装置
CN108021472B (zh) ReFS文件***的格式化恢复方法及存储介质
CN112394876A (zh) 大文件存储/读取方法、存储/读取装置和计算机设备
Azeem The Data Carving-The Art of Retrieving Deleted Data as Evidence
CN114416751A (zh) 一种基于倍增位图的rbac优化算法
CN112307233A (zh) 基于区块链的云存储中的重复图像删除方法和***
US10037148B2 (en) Facilitating reverse reading of sequentially stored, variable-length data
CN116166472B (zh) 一种用于存储数据的数据恢复方法及***
CN109874049B (zh) 一种优化提取视频帧读取速度的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant