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