赵雪琴 徐凯华
(郑州大学西亚斯国际学院 河南 451150)
基于oracle 9i数据库平台的社会保险网上公共服务管理系统的设计目标,是为了进一步完善现有社保业务管理服务社会化的要求,提高社保部门的服务水平,提高工作效率,减少用人单位的工作量,降低各项错误数据的产生,逐步实现参保单位办理社保业务的标准化、规范化。数据库中的缴费职工信息如职工姓名、身份证号、参加工作时间等可能会发生变动,变化前的数据需要记录到审计表中,供社保工作人员查询、审计,该功能通过oracle触发器实现。
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件或数据库中,可通过视图进行查看。
细粒度审计(FGA),是在Oracle 9i中引入的,能够记录SCN号和行级的更改以重建旧的数据,但是它们只能用于select语句,而不能用于DML,如update、insert和delete语句,因此使用自带的 FGA功能很难满足对细粒度的实时性和准确性的要求,而使用触发器跟踪用户的行级数据的更改,成为唯一在oracle 9i中可靠的审计手段。
触发器(trigger)是个一种特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作(insert,delete,update)时就会激活它执行。
(1)允许/限制对表的修改;(2)自动生成派生列,比如自增字段;(3)强制数据一致性;(4)提供审计和日志记录;(5)防止无效的事务处理;(6)启用复杂的业务逻辑。
审计表:Sjxglog(bdyy,origin,new,dqyf,gxsj,dw_dm,shbzh,bz)
社会保险网上公共服务管理系统中,不仅涉及数据库的审计问题,同时涉及到很多后台数据库数据的安全性及完整性规则的问题,这些问题都可以利用触发器来实现,使该系统具有更精细和更强的数据控制能力。
[1]oracle.oracle OCP book DBA1.pdf:7-33.
[2]胡欣杰.O racle 9i数据库管理员指南,北京:北京希望电子出版社,2002:417.
[3][美]Kevin Loney,George Koch.O racle 9i参考手册.第一版(译者:钟鸣等),机械工业出版社,2003:41.
[4]朝乐蒙.neusoft.- http://neteye.neusoft.com/htm l/20060225/ 3129000000.htm l.