|
|
|
|
移动端

【技术实战】Oracle数据库数据提取的方法

数据库是信息系统中不可或缺的部分。随着大数据时代的到来,数据库已经成为犯罪分子的目标,大量数据库被用于存放网络盗窃和网络诈骗中产生的数据。将涉案数据库的数据提取出来,成为了打击犯罪的重要手段之一。

作者:源妹来源:效率源科技|2018-07-03 15:05

【新品产上线啦】51CTO播客,随时随地,碎片化学习

数据库是信息系统中不可或缺的部分。随着大数据时代的到来,数据库已经成为犯罪分子的目标,大量数据库被用于存放网络盗窃和网络诈骗中产生的数据。将涉案数据库的数据提取出来,成为了打击犯罪的重要手段之一。

在众多数据库中,Oracle (全称OracleDatabase),一直是一款处于领先地位的关系数据库管理系统。因为其系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境,它是一种高效率、可靠性好的、适应高吞吐量的数据库解决方案。

也因为稳定性好、安全系数高等优势,Oracle数据库是众多大型企事业单位首选的数据库,如公安局的身份证数据信息存储、中国银行的数据信息存储、淘宝数据存储等。这些单位有一个共同特点:数据量大,要求数据准确,要求系统性能高。

现阶段,在众多案件的电子取证过程中我们也常常看到Oracle数据库的身影,今天,源妹儿就跟大家分享一种通过附加Oracle数据库提取数据库数据的方法。

数据提取思路

1、将Oracle数据库文件提取恢复出来;

2、在取证电脑上安装Oracle数据库,Oracle版本号需要与案例检材中Oracle版本号一样,然后将检材中的Oracle数据库文件拷贝到取证电脑,附加数据库文件(PS:附加数据库是整个数据提取过程中的核心所在,本文档将详细讲解附加数据库的过程);

3、附加完成后即可打开Oracle数据,提取记录数据。

操作步骤

1、使用专业的电子取证工具:DRS6800数据恢复系统(以下简称DRS),加载案例服务服务器镜像,提取镜像中的Oracle数据库文件,提取出来的Oracle数据库文件如下图:

2、在取证电脑中安装与检材中Oracle数据库版本相同的Oracle软件,并且创建与检材中相同实例名的数据库(Oracle安装过程本文档不详细介绍,网上很多Oracle的安装教程)。

3、Oracle安装成功并且创建了实例后,将数据库服务关闭,建议在cmd命令行使用如下语句完成:

  1. sqlplus /nolog  
  2. conn /as sysdba  
  3. shutdown immediate  

4、关闭数据库后,将从检材中提取出来的Oracle数据文件替换到当前电脑的Oracle数据文件所在路径

5、Oracle数据文件替换完毕后,在cmd命令行以无挂载的方式重新启动数据库,使用如下命令完成 :startup nomount;

6、因为控制文件的记录了数据库的创建时间,数据文件的位置,日志文件的位置等,其作用是指导数据库找到数据文件,日志文件并将数据库启动到open状态,因为迁移的原因改变这些参数,因此需要重构控制文件,使用如下语句重构控制文件:

CREATE CONTROLFILE REUSE DATABASE "qsdb" NORESETLOGS ARCHIVELOG

MAXLOGFILES 5

MAXLOGMEMBERS 3

MAXDATAFILES 100

MAXINSTANCES 1

MAXLOGHISTORY 226

LOGFILE

GROUP 1

'F:\app\xly\oradata\qsdb\redo01.log' SIZE 800M,

GROUP 2

'F:\app\xly\oradata\qsdb\redo02.log' SIZE 800M,

GROUP 3

'F:\app\xly\oradata\qsdb\redo03.log' SIZE 800M,

DATAFILE

'F:\app\xly\oradata\qsdb\system01.dbf',

'F:\app\xly\oradata\qsdb\system02.dbf',

'F:\app\xly\oradata\qsdb\undotbs01.dbf',

'F:\app\xly\oradata\qsdb\sysaux01.dbf',

'F:\app\xly\oradata\qsdb\users01.dbf',

'F:\app\xly\oradata\qsdb\hfsj_qs1.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs2.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs3.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs4.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs5.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs6.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs7.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs8.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs9.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs10.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs11.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs12.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs13.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs14.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs15.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs16.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs17.dbf',

'F:\app\xly\oradata\qsdb\ hfsj_qs18.dbf',

'F:\app\xly\oradata\qsdb\qsweihu.dbf'

'F:\app\xly\oradata\qsdb\goldengate.dbf'

'F:\app\xly\oradata\qsdb\hfqsquery.dbf'

'F:\app\xly\oradata\qsdb\hfqsmon.dbf '

CHARACTER SET US7ASCII;

7、在重构完毕控制文件后,重新打开数据库,会报错,提示SYSTEM01数据文件需要执行介质修复,如图所示:

a.修复数据文件,执行如下语句完成修复:

  1. recover datafile  'F:\app\xly\oradata\qsdb\SYSTEM01.DBF'

b.在执行介质修复过程中若提示数据文件因为有坏块,无法进行介质恢复,可以执行如下语句,跳过坏块继续修复:

  1. recover database ‘F:\app\xly\oradata\qsdb\system01.dbf’ allow 1 corruption; 

重复以上a,b步骤,将数据文件修复完毕,其中只有当出现a步骤中因为有坏块无法正常进行介质修复时,才采用b步骤中的跳过坏块修复,如图所示:

8、若无法忽略坏块进行修复,且恰好是sysaux数据文件出现错误,如图所示:

可选择使sysaux数据文件offline,即可打开数据库,执行如下语句:

  1. alter database datafile ‘F:\app\xly\oradata\SYSAUX01.DBF’ offline; 

9、完成如上操作,即可正常启动数据,如图所示:

10、使用Navicat软件链接并打开Oracle,即可访问Oracle记录,根据公安局要求需要指定代理商及其会员的所有刷卡套现的记录,分析Oracle数据库表结构后,编写SQL语句查询某代理商的数据如下:

注意事项

在采用上述方法对Oracle数据库数据进行提取时要注意以下几点:

1、上述方法能确保Oracle数据库的数据完整性,并且不会对原始数据产生破坏,但是该方法较为复杂,需要专业的技术人员辅助完成;

2、确保从服务器中获取到的数据库的完整性,不然会导致附加失败;

3、确保搭建环境附加数据库的电脑具有足够的空间,不然会因为空间不足导致附加失败;

4、确保搭建环境中Oracle数据库版本与服务器中的Oracle数据库版本完全一致;

5、以上操作涉及到很多专业技能,如有必要可找寻专业的公司或技术人员协助完成。

【编辑推荐】

  1. 分布式之Redis数据库复习精讲
  2. 7 月全球数据库排名:MongoDB 紧追 PostgreSQL
  3. 数据库管理系统:中国还在寻找“正确打开方式”
  4. 数据库恢复不了? 不存在的!
  5. 数据库流行度7月排行榜:Oracle和MySQL暴跌创历史新低
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

黑客入侵的主动防御

本书是一本非常全面地讲述黑客入侵主动防御技术的网络安全工具书。本书的重点是介绍黑客的攻击手段和提供相应的主动防御保护措施,在组织结...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊