目前,Oracle數(shù)據(jù)庫越來越多地被應(yīng)用于各行各業(yè)的數(shù)據(jù)管理工作中。許多單位為了在數(shù)據(jù)安全性、運(yùn)行穩(wěn)定性上得到保證,并獲得龐大的數(shù)據(jù)容量和更快的數(shù)據(jù)存取速度,都將原有的其它數(shù)據(jù)庫應(yīng)用程序替換為Oracle,或?qū)σ郧笆褂玫?/span>Oracle程序進(jìn)行版本升級。
由于Oracle的安裝和配置過程相對復(fù)雜,在實(shí)際使用過程中,還需要了解諸多生僻的專業(yè)詞匯,掌握PL/SQL的一些特殊語法和函數(shù)。所以,對于一般的審計(jì)人員來說,面對Oracle數(shù)據(jù)庫時(shí)還是相當(dāng)撓頭的。當(dāng)被審計(jì)單位提供了Oracle數(shù)據(jù)庫以dmp為后綴的備份文件時(shí),往往在嘗試用記事本打開查看,或用ODBC建立連接等操作未果后,覺得無從下手。
為了讓更多的人學(xué)會Oracle數(shù)據(jù)庫的數(shù)據(jù)采集轉(zhuǎn)換,下面,筆者將假設(shè)您是一位Oracle數(shù)據(jù)庫的零基礎(chǔ)使用者,一步步地為您詳細(xì)講解dmp備份文件的常規(guī)處置方法。
以某市財(cái)政局教育專戶真實(shí)數(shù)據(jù)為例。操作步驟如下:
一、搭建環(huán)境
需要正確安裝四個(gè)軟件,包括:Oracle 10G(采取默認(rèn)安裝方式,設(shè)置統(tǒng)一密碼為111)、Oracle sql developer、SQL Server2008 R2、現(xiàn)場審計(jì)實(shí)施系統(tǒng)2011版(以下簡稱AO2011)。
二、前期準(zhǔn)備
將被審計(jì)單位提供的“GADATA0004_2009教育專戶_2011_05_17_16_44_59.DMP”文件,復(fù)制另存為jy.dmp,保存在D盤根目錄下。
三、創(chuàng)建容器
選擇Oracle 10G配置和移植工具下面的Database Configuration Assistant,創(chuàng)建數(shù)據(jù)庫,命名為jy,訪問密碼設(shè)為111(其它選項(xiàng)均為默認(rèn))。
四、采集數(shù)據(jù)
(一)裝載數(shù)據(jù)
在DOS命令提示符下,鍵入命令:impsystem/111 file=d:\jy.dmp ignore=y full=y
系統(tǒng)提示:......GADATA0004對象......
imp-00003:遇到oracle錯(cuò)誤1435
ora-01435:用戶不存在
imp-00000:未成功終止導(dǎo)入
可知,數(shù)據(jù)庫中缺少一個(gè)名為GADATA0004的用戶,它是原有數(shù)據(jù)的專屬使用者。
(二)用戶授權(quán)
在DOS命令提示符下,鍵入如下命令:
sqlplus system/111
SQL>create user GADATA0004 identified by jy;
SQL>grant dba,connect to GADATA0004;
exit
這樣,創(chuàng)建了一名為GADATA0004的用戶,并對其充分授權(quán)。
(三)重新載入
再次嘗試導(dǎo)入,鍵入imp命令:imp GADATA0004/jyfile=d:\jy.dmp ignore=y full=y
此時(shí),系統(tǒng)開始自動(dòng)導(dǎo)入相關(guān)數(shù)據(jù)表,查看屏幕提示,耐心等待運(yùn)行結(jié)束。
注:大多數(shù)情況下,在執(zhí)行上述“四、(一)裝載數(shù)據(jù)”的DOS命令后,即可實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入。僅在系統(tǒng)出現(xiàn)提示,導(dǎo)入終止時(shí),才需要執(zhí)行后續(xù)的(二)、(三)兩個(gè)步驟。
五、格式轉(zhuǎn)換
(一)創(chuàng)建連接
打開Oracle sql developer第三方工具,創(chuàng)建新的連接,設(shè)置參數(shù)如下:
連接名(N):jy
用戶名(U):system
口令(P):111
服務(wù)名(E):jy
其它選項(xiàng)均不改動(dòng)。依次點(diǎn)接“測試”和“連接”兩個(gè)按鈕,創(chuàng)建完成。
(二)獲取數(shù)據(jù)
在Oracle sql developer中逐級展開jy節(jié)點(diǎn),找到“jy—其他用戶—表”,可見已成功導(dǎo)入的各張數(shù)據(jù)表。對其進(jìn)行瀏覽,選擇審計(jì)所需的原始數(shù)據(jù)表。此例中包括:customer、class1、class2、account、accountdaily、accountperiod、listfield、voucher、voucherdetail等;逐個(gè)右擊表名,在彈出的菜單上,選擇“導(dǎo)出數(shù)據(jù)(K)”,指定文件格式,如xls,(以審計(jì)人員熟識的文件格式為好),將它們保存在本機(jī)的某個(gè)文件夾中。
六、數(shù)據(jù)整理
打開SQL Server2008 R2,創(chuàng)建數(shù)據(jù)庫,導(dǎo)入上述xls數(shù)據(jù)表;創(chuàng)建查詢,編寫SQL語句,對原始數(shù)據(jù)進(jìn)行初步整理,生成三張財(cái)務(wù)數(shù)據(jù)中間表:會計(jì)科目表、科目余額表和記賬憑證表。示例腳本如下:
--生成會計(jì)科目表km_jy:
select lngaccountid 科目ID,stracco