- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle触发器在日志管理开发中应用
Oracle触发器在日志管理开发中应用
摘要:本文讨论了利用数据库中的触发器对日志管理进行设计与实现的方法,是对原来在客户端软件中编写日志管理方法的一种改进,并给出了Oracle9i中的实例演示。
关键词:Oracle;触发器;日志管理
中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)16-21186-02
The Application of Oracle Trigger in the Developing of Log Management
WU Heng-liang, ZHANG Wei-wei
(Shandong Business Colloge,Management Science and Engineering Institute,Yantai 264005,China)
Abstract:This article describes a new developing method of log management by the trigger of data base, that is an improvement to the original method of writing log management in the client software, and the article gives the example of application in Oracle9i.
Key words:Oracle; trigger; log management
1 引言
日志对于安全来说非常重要,它记录了系统每天发生的各种各样的事情。日志主要的功能有:审计和监测。一方面可以通过它来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。另一方面还可以实时的监测系统状态,监测和追踪侵入者等等。
在每一个企业管理信息系统软件的开发过程中,一般都会涉及到日志管理模块,因为每个软件都有各种操作权限的操作人员从事其权限范围内的操作,我们必须记录下这些操作的全部历史记录,对监测系统运行状态,为事后监督提供直接依据,对防范系统安全有重要作用。
在开发C/S或B/S模式的系统软件时,日志管理的一般方法是在客户端(C/S)或应用服务器(B/S)上对每个功能模块编写日志处理子模块,这种方法编程量比较大,开发效率低,维护起来也比较繁琐。本文试图采用数据库中的触发器编程,把日志管理全部或部分转到数据库中,对比前一种方法可以大大减少编程代码,降低开发的工作量。
2 触发器介绍
对表中数据进行修改、删除或插入是非常常见的操作,当表被修改时,应该自动给其他需要执行操作的程序发信号。触发器可以完成这一功能,触发器是存储在数据库中的一个与数据表相关联的存储过程,当发生insert、update或delete操作时被自动执行,与一般存储过程的调用方法不同,当某事件的发生引起连环更新或其它的相应操作时,通过自动执行触发器代码实现而不用人工干预,大大减轻了维护工作,同时也很好地保证了数据的一致性。
触发器的优点是自动激发,不管是什么引起数据修改(来自程序的或是来自用户的),它们都工作,所以常常用于不同数据表中的相关数据的串接修改。采用这种方法实现数据表间接的数据关联,可以由数据库集中维护控制,规则变化时只需修改相应的触发器即可,这样系统易于维护,提高了工作效率。
本文的基本思想就是利用了这一点,在客户端软件每次发出对表的这些操作时自动触发触发器,实现日志的记录。在各种RDBMS中基本都提供了这种程序,本文以Oracle9i为例介绍触发器的使用方法。
在Oracle9i中,触发器就是PL/SQL的一种编程结构。下文将简单介绍一下触发器的使用方法。
2.1 建立触发器的主要语法
create [or replace] trigger trigger_name {before|after} event
on {table | view |database}
[for each row[when condition]]
trigger_body
注释:
trigger_name:触发器的名字;
event:为insert、update、delete或update of 列名1,列名2…;
on {table | view |database}:触发器的触发对象(表、视图或数据库);
[for each row]:可选项,使用这个选项时,对每条相应行将引起触发器触发;
trigger_body:触发器触发时执行的PL/SQL块。
2.2 触发器
文档评论(0)