一种数据库的审计方法及系统的制作方法

文档序号:9564691阅读:741来源:国知局
一种数据库的审计方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机系统设计和数据库术领域,特别是涉及一种数据库的审计方法及系统。
【背景技术】
[0002]目前,在企业的关键业务系统的日常运行过程中,偶尔会出现重要信息缺失的情况,而出现这种情况的绝大部分原因可以归结到对数据库的误操作或是恶意破坏。数据库的误操作或是恶意破坏对我们系统的运行是致命的,并且会对我们工程技术人员的事后恢复带来不少困扰。
[0003]在面对由于误操作或者是恶意破坏操作导致重要信息缺失的情况时,我们往往会面对以下两个主要问题:1、用户在什么时候操作了数据库;2、用户的操作影响到数据库中的哪些表。对于这些情况,通过对数据库的审计可以有效跟踪用户的每一个操作,为我们提供了及时有效的解决方法。
[0004]针对数据库审计的实现方法,现在市场上有很多第三方审计软件,但是,这些软件都是收费的,审计成本较高,并且这些软件无法集成在数据库中,需要在数据库服务器上安装客户端工具进行数据审计,给数据库带来了额外的性能开销。

【发明内容】

[0005]有鉴于此,本发明提供了一种数据库的审计方法及系统,以实现降低审计成本并且减小数据库的额外的性能开销目的。
[0006]为解决上述技术问题,本发明提供一种数据库的审计方法,包括:
[0007]为所述数据库创建触发器,并利用所述触发器记录用户的登录信息;
[0008]获取所述数据库的归档日志文件;
[0009]利用所述登录信息和所述归档日志文件,对所述数据库的数据进行审计,得到审计结果。
[0010]上述方法中,优选的,在所述获取所述数据库的归档日志文件之前,还包括:
[0011 ] 设置所述数据库为归档模式。
[0012]上述方法中,优选的,在所述利用所述登录信息和所述归档日志文件,对所述数据库的数据进行审计之前,还包括:
[0013]生成所述数据库的数据字典文件,以便解析所述归档日志文件中的数据。
[0014]上述方法中,优选的,利用logminer对所述数据库的数据进行审计,得到审计结果Ο
[0015]本发明还提供了一种数据库的审计系统,包括:
[0016]记录单元,用于为所述数据库创建触发器,并利用所述触发器记录用户的登录信息;
[0017]获取单元,用于获取所述数据库的归档日志文件;
[0018]审计单元,用于利用所述登录信息和所述归档日志文件,对所述数据库的数据进行审计,得到审计结果。
[0019]上述系统中,优选的,还包括:
[0020]设置单元,用于在所述获取所述数据库的归档日志文件之前,设置所述数据库为归档模式。
[0021]上述系统中,优选的,还包括:
[0022]生成单元,用于在所述利用所述登录信息和所述归档日志文件,对所述数据库的数据进行审计之前,生成所述数据库的数据字典文件,以便解析所述归档日志文件中的数据。
[0023]上述系统中,优选的,所述审计单元具体用于利用logminer对所述数据库的数据进行审计,得到审计结果。
[0024]以上本发明提供的一种数据库的审计方法及系统中,有效利用了数据库的触发器来记录用户的登录信息;同时利用所述登录信息和所述归档日志文件,对所述数据库的数据进行审计,得到审计结果。为数据库创建触发器并不需要在数据库服务器上安装客户端工具,因此不会给数据库带来额外的性能开销,并且触发器可以由本领域技术人员基于现有技术自行创建,并不需要支付额外的费用。显然,本发明的应用实现了降低审计成本并且减小数据库的额外的性能开销目的。
【附图说明】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0026]图1为本发明实施例提供的一种数据库的审计方法的流程图;
[0027]图2为本发明实施例提供的一种数据库的审计系统的结构框图示意图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]本发明的核心是提供一种数据库的审计方法及系统,以实现降低审计成本并且减小数据库的额外的性能开销目的。
[0030]为了使本技术领域的人员更好地理解本发明方案,下面结合附图和【具体实施方式】对本发明作进一步的详细说明。
[0031]参考图1,图1示出了本发明实施例提供的一种数据库的审计方法的流程图,该方法具体可以包括如下步骤:
[0032]步骤S100、为数据库创建触发器,并利用触发器记录用户的登录信息;
[0033]具体地,先为数据库创建触发器。利用用户在数据库上的登录来触发该触发器,并利用该触发器将用户录入的用户名、密码等用户登录信息记录下来。
[0034]进一步的,在具体实施过程中,可以参考以下代码实现触发器的创建:
[0035]create or replace trigger on_logon_tigger
[0036]after logon on database
[0037]begin
[0038]dbms_appl icat1n_inf0.set_cl ient_info (sys_context (’ userenv’ , ’ ip_address'));
[0039]end ;
[0040]步骤S101、获取数据库的归档日志文件;
[0041]在实际应用中,为了顺利地理解归档日志文件中的内容,在对归档日志文件进行解析之前,需要生成数据库的数据字典文件,否则无法读懂归档日志文件中的内容。
[0042]另外,在获取归档日志文件之前,需要将数据库设置为归档模型,进一步地,在具体实施过程中,可以参照以下代码设置数据库为归档模式:
[0043]ALTER SYSTEM SET log_archive_dest = "D:\oracle\oradata\practice\ARCHIVE";
[0044]ALTER SYSTEM SET log_archive_format = "ARC% S_% R.% T"SC0PE = SPFILE ;
[0045]步骤S102、利用登录信息和归档日志文件,对数据库的数据进行审计,得到审计结果Ο
[0046]由于归档日志文件记录了对数据库的所有操作,再加上触发器记录的用户的登录信息,就可以知道哪个用户在什么时间对数据库做了什么样的操作。
[0047]具体地,我们可以利用logminer对数据库的数据进行审计,得到审计结果。进一步
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1