目前,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