【技術(shù)實(shí)戰(zhàn)】Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)提取的方法
數(shù)據(jù)庫(kù)是信息系統(tǒng)中不可或缺的部分。隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)庫(kù)已經(jīng)成為犯罪分子的目標(biāo),大量數(shù)據(jù)庫(kù)被用于存放網(wǎng)絡(luò)盜竊和網(wǎng)絡(luò)詐騙中產(chǎn)生的數(shù)據(jù)。將涉案數(shù)據(jù)庫(kù)的數(shù)據(jù)提取出來,成為了打擊犯罪的重要手段之一。
在眾多數(shù)據(jù)庫(kù)中,Oracle (全稱OracleDatabase),一直是一款處于領(lǐng)先地位的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。因?yàn)槠湎到y(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境,它是一種高效率、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)解決方案。
也因?yàn)榉€(wěn)定性好、安全系數(shù)高等優(yōu)勢(shì),Oracle數(shù)據(jù)庫(kù)是眾多大型企事業(yè)單位首選的數(shù)據(jù)庫(kù),如公安局的身份證數(shù)據(jù)信息存儲(chǔ)、中國(guó)銀行的數(shù)據(jù)信息存儲(chǔ)、淘寶數(shù)據(jù)存儲(chǔ)等。這些單位有一個(gè)共同特點(diǎn):數(shù)據(jù)量大,要求數(shù)據(jù)準(zhǔn)確,要求系統(tǒng)性能高。
現(xiàn)階段,在眾多案件的電子取證過程中我們也常??吹絆racle數(shù)據(jù)庫(kù)的身影,今天,源妹兒就跟大家分享一種通過附加Oracle數(shù)據(jù)庫(kù)提取數(shù)據(jù)庫(kù)數(shù)據(jù)的方法。
數(shù)據(jù)提取思路
1、將Oracle數(shù)據(jù)庫(kù)文件提取恢復(fù)出來;
2、在取證電腦上安裝Oracle數(shù)據(jù)庫(kù),Oracle版本號(hào)需要與案例檢材中Oracle版本號(hào)一樣,然后將檢材中的Oracle數(shù)據(jù)庫(kù)文件拷貝到取證電腦,附加數(shù)據(jù)庫(kù)文件(PS:附加數(shù)據(jù)庫(kù)是整個(gè)數(shù)據(jù)提取過程中的核心所在,本文檔將詳細(xì)講解附加數(shù)據(jù)庫(kù)的過程);
3、附加完成后即可打開Oracle數(shù)據(jù),提取記錄數(shù)據(jù)。
操作步驟
1、使用專業(yè)的電子取證工具:DRS6800數(shù)據(jù)恢復(fù)系統(tǒng)(以下簡(jiǎn)稱DRS),加載案例服務(wù)服務(wù)器鏡像,提取鏡像中的Oracle數(shù)據(jù)庫(kù)文件,提取出來的Oracle數(shù)據(jù)庫(kù)文件如下圖:

2、在取證電腦中安裝與檢材中Oracle數(shù)據(jù)庫(kù)版本相同的Oracle軟件,并且創(chuàng)建與檢材中相同實(shí)例名的數(shù)據(jù)庫(kù)(Oracle安裝過程本文檔不詳細(xì)介紹,網(wǎng)上很多Oracle的安裝教程)。

3、Oracle安裝成功并且創(chuàng)建了實(shí)例后,將數(shù)據(jù)庫(kù)服務(wù)關(guān)閉,建議在cmd命令行使用如下語句完成:
- sqlplus /nolog
- conn /as sysdba
- shutdown immediate

4、關(guān)閉數(shù)據(jù)庫(kù)后,將從檢材中提取出來的Oracle數(shù)據(jù)文件替換到當(dāng)前電腦的Oracle數(shù)據(jù)文件所在路徑
5、Oracle數(shù)據(jù)文件替換完畢后,在cmd命令行以無掛載的方式重新啟動(dòng)數(shù)據(jù)庫(kù),使用如下命令完成 :startup nomount;

6、因?yàn)榭刂莆募挠涗浟藬?shù)據(jù)庫(kù)的創(chuàng)建時(shí)間,數(shù)據(jù)文件的位置,日志文件的位置等,其作用是指導(dǎo)數(shù)據(jù)庫(kù)找到數(shù)據(jù)文件,日志文件并將數(shù)據(jù)庫(kù)啟動(dòng)到open狀態(tài),因?yàn)檫w移的原因改變這些參數(shù),因此需要重構(gòu)控制文件,使用如下語句重構(gòu)控制文件:
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、在重構(gòu)完畢控制文件后,重新打開數(shù)據(jù)庫(kù),會(huì)報(bào)錯(cuò),提示SYSTEM01數(shù)據(jù)文件需要執(zhí)行介質(zhì)修復(fù),如圖所示:

a.修復(fù)數(shù)據(jù)文件,執(zhí)行如下語句完成修復(fù):
- recover datafile 'F:\app\xly\oradata\qsdb\SYSTEM01.DBF';

b.在執(zhí)行介質(zhì)修復(fù)過程中若提示數(shù)據(jù)文件因?yàn)橛袎膲K,無法進(jìn)行介質(zhì)恢復(fù),可以執(zhí)行如下語句,跳過壞塊繼續(xù)修復(fù):
- recover database ‘F:\app\xly\oradata\qsdb\system01.dbf’ allow 1 corruption;

重復(fù)以上a,b步驟,將數(shù)據(jù)文件修復(fù)完畢,其中只有當(dāng)出現(xiàn)a步驟中因?yàn)橛袎膲K無法正常進(jìn)行介質(zhì)修復(fù)時(shí),才采用b步驟中的跳過壞塊修復(fù),如圖所示:

8、若無法忽略壞塊進(jìn)行修復(fù),且恰好是sysaux數(shù)據(jù)文件出現(xiàn)錯(cuò)誤,如圖所示:

可選擇使sysaux數(shù)據(jù)文件offline,即可打開數(shù)據(jù)庫(kù),執(zhí)行如下語句:
- alter database datafile ‘F:\app\xly\oradata\SYSAUX01.DBF’ offline;

9、完成如上操作,即可正常啟動(dòng)數(shù)據(jù),如圖所示:

10、使用Navicat軟件鏈接并打開Oracle,即可訪問Oracle記錄,根據(jù)公安局要求需要指定代理商及其會(huì)員的所有刷卡套現(xiàn)的記錄,分析Oracle數(shù)據(jù)庫(kù)表結(jié)構(gòu)后,編寫SQL語句查詢某代理商的數(shù)據(jù)如下:

注意事項(xiàng)
在采用上述方法對(duì)Oracle數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行提取時(shí)要注意以下幾點(diǎn):
1、上述方法能確保Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)完整性,并且不會(huì)對(duì)原始數(shù)據(jù)產(chǎn)生破壞,但是該方法較為復(fù)雜,需要專業(yè)的技術(shù)人員輔助完成;
2、確保從服務(wù)器中獲取到的數(shù)據(jù)庫(kù)的完整性,不然會(huì)導(dǎo)致附加失敗;
3、確保搭建環(huán)境附加數(shù)據(jù)庫(kù)的電腦具有足夠的空間,不然會(huì)因?yàn)榭臻g不足導(dǎo)致附加失??;
4、確保搭建環(huán)境中Oracle數(shù)據(jù)庫(kù)版本與服務(wù)器中的Oracle數(shù)據(jù)庫(kù)版本完全一致;
5、以上操作涉及到很多專業(yè)技能,如有必要可找尋專業(yè)的公司或技術(shù)人員協(xié)助完成。



















