CN107480166A - 一种数据库数据对象审计的方法 - Google Patents

一种数据库数据对象审计的方法 Download PDF

Info

Publication number
CN107480166A
CN107480166A CN201710494082.3A CN201710494082A CN107480166A CN 107480166 A CN107480166 A CN 107480166A CN 201710494082 A CN201710494082 A CN 201710494082A CN 107480166 A CN107480166 A CN 107480166A
Authority
CN
China
Prior art keywords
audit
database
data object
data
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710494082.3A
Other languages
English (en)
Inventor
邱大龙
李建辉
熊中哲
魏兴华
臧冰凌
李春
陈栋
张文件
罗春
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Wo Qu Polytron Technologies Inc
Original Assignee
Hangzhou Wo Qu Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Wo Qu Polytron Technologies Inc filed Critical Hangzhou Wo Qu Polytron Technologies Inc
Priority to CN201710494082.3A priority Critical patent/CN107480166A/zh
Publication of CN107480166A publication Critical patent/CN107480166A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Abstract

本发明涉及计算机领域,公开了一种数据库数据对象审计的方法,包括如下步骤:(1)创建6张审计表,用于记录数据库数据信息,6张审计表分别包括数据对象信息、表的列信息、数据对象更改历史信息、数据对象依赖信息、表的列更改历史信息和数据创建对象语句;(2)通过PL/SQL语句将数据库中的数据插入到步骤(1)创建的各个表中,完成对数据的初始化;(3)调用定时任务功能,通过PL/SQL语句对审计表进行更新;(4)通过触发器记录数据对象定义操作。本发明的创造性在于通过永久表记录数据对象当前和历史信息,精度到列一级,时间维度上包括历史和当前,使数据库管理员(DBA)和开发者(Developer)对数据结构有连续清晰的掌握。

Description

一种数据库数据对象审计的方法
技术领域
本发明涉及计算机技术领域,尤其涉及了一种数据库数据对象审计的方法。
背景技术
在很多企业的生产系统数据库中,数据对象审计工作是数据库安全的重要工作。通过有效的审计方法,可以及时了解数据结构变化,做到有效维护。
企业里面常用的审计方式,更多的是在于人员、机器、脚本、OS文件、日志文件的粗粒度审计,但是缺少对于数据库的即时审计,对每一笔数据交易进行实时的修改记录,对所有的行、列信息进行全方位审计。传统的审计方式面对高安全、高时效、高容量的数据库时,很难做到及时的审计操作。
发明内容
本发明针对现有技术中的缺点,提供了一种数据库数据对象审计的方法。
为了解决上述技术问题,本发明通过下述技术方案得以解决。
一种数据库数据对象审计的方法,包括如下步骤:
(1)创建6张审计表,用于记录数据库数据信息,6张审计表分别包括数据对象信息、表的列信息、数据对象更改历史信息、数据对象依赖信息、表的列更改历史信息和数据创建对象语句;
(2)通过PL/SQL语句将数据库中的数据插入到步骤(1)创建的各个表中,完成对数据的初始化;
(3)调用定时任务功能,通过PL/SQL语句对审计表进行更新;
(4)通过触发器记录数据对象定义操作,操作包括:
①创建用户及授权:创建审计用户,授予该用户对数据库对象的审计权限;该用户用于对数据库的所有操作进行审计记录;
②创建序列:创建自增序列,设置cache,进行序列的缓冲,对所有的数据库操作进行序列编号记录;
③创建日志表:使用审计用户创建审计相关对象记录表,依次创建数据对象清单表、表的列信息表、数据对象历史信息表、数据对象依赖表、表的列历史信息表、数据对象常见脚本表。这些记录表是审计信息承载的主体,数据库的每一次更改操作,都会被审计用户将相关的操作记录到神经表中。
④创建触发器:设置对数据变更记录的触发条件,对所有DDL、DML语句进行记录,审计记录会记录到响应的表中。
作为优选,步骤(1)中,在审计初始化过程中,对数据库中的所有对象进行细粒度的审计,对数据库中所有的DDL、DML操作进行记录并检查。
作为优选,步骤(3)中,定时任务时间用于对数据库中的数据对象进行触发管理及链接反应。
本发明由于采用了以上技术方案,具有显著的技术效果:本发明的创造性在于通过永久表记录数据对象当前和历史信息,精度到列一级,时间维度上包括历史和当前,使数据库管理员(DBA)和开发者(Developer)对数据结构有连续清晰的掌握。
附图说明
图1是本发明一种数据库数据对象审计的方法的流程示意图;
图2是本发明一种数据库数据对象审计的方法中表结构连接示意图。
具体实施方式
下面结合附图与实施例对本发明作进一步详细描述。
如图1至图2所示,一种数据库数据对象审计的方法,包括如下步骤:
(1)创建6张审计表,用于记录数据库数据信息,6张审计表分别包括数据对象信息、表的列信息、数据对象更改历史信息、数据对象依赖信息、表的列更改历史信息和数据创建对象语句;
(2)通过PL/SQL语句将数据库中的数据插入到步骤(1)创建的各个表中,完成对数据的初始化;
(3)调用定时任务功能,通过PL/SQL语句对审计表进行更新;
(4)通过触发器记录数据对象定义操作,操作包括:
①创建用户及授权:创建审计用户,授予该用户对数据库对象的审计权限;该用户用于对数据库的所有操作进行审计记录;
②创建序列:创建自增序列,设置cache,进行序列的缓冲,对所有的数据库操作进行序列编号记录;
③创建日志表:使用审计用户创建审计相关对象记录表,依次创建数据对象清单表、表的列信息表、数据对象历史信息表、数据对象依赖表、表的列历史信息表、数据对象常见脚本表。这些记录表是审计信息承载的主体,数据库的每一次更改操作,都会被审计用户将相关的操作记录到神经表中。
④创建触发器:设置对数据变更记录的触发条件,对所有DDL、DML语句进行记录,审计记录会记录到响应的表中。
步骤(1)中,在审计初始化过程中,对数据库中的所有对象进行细粒度的审计,对数据库中所有的DDL、DML操作进行记录并检查。细粒度的审核可以使用布尔测量(例如值>1000),以最细粒度的级别,基于内容的数据访问和操作进行审核。使用细粒度审计来根据访问权限或更改一列有人访问或更改Oracle数据库中的指定元素(包括指定对象中的内容)时,可以创建安全策略来触发审计。创建定义特定条件的策略,以便发生审计。例如,审核特定的表列,以查明在指定的时间段内何时以及谁试图访问它。此外,创建在违反策略时触发的警报,并将此数据写入单独的审核文件。
步骤(3)中,定时任务时间用于对数据库中的数据对象进行触发管理及链接反应。需要对任务进行进程守护监控,防止任务在长时间运行过程中发生中断、假死、夯死、重启等情况,影响对数据库数据审计的时效性,造成数据审计的假死。定时任务守护进程(Daemon)是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每个系统与用户进行交流的界面成为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭。但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,并且它脱离终端的目的是为了避免进程在运行的过程中的信息在任何终端中显示并且进程也不会被任何终端所产生的终端信息所打断。它从被执行的时候开始运转,直到整个系统关闭才退出。如果想让某个进程不因为用户或中断或其他变化而影响,那么就必须把这个进程变成一个守护进程。
由此实现了对定时任务的强实时干预,对于任务的执行过程中的风险点进行全局把控和积极干预,大大增强审计系统的稳定性和即时响应实时度,所有的定时任务进程全部都由守护进程Demon进行监控和全局管理,一旦发生假死情况,立即采取Restart命令,将风险降到最低。实现99.9999%的软件运行保证,使得MTBF时间达2年以上,MTTR为0.00001。
当数据库的审计功能打开后,在语句执行阶段产生审计记录。审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。审计记录可存在数据字典表(称为审计记录)或操作系统审计记录中。数据库审计记录是在SYS模式的AUD$表中。
本发明在使用数据库检查点的功能的基础上,根据检查点是否超时,采集数据库在执行超长检查点时运行的信息,可记录出现检查点超时时数据库运行状态,若检查点执行时间过长,则根据采集次数、采集间隔、是否进行dump操作,可实时记录在该检查点执行过程中数据库运行状态的变化,实时监控数据库检查点状态,为运维人员查找问题提供数据支撑。
实施例1
1、发出DB命令打开DB命令窗口。
2、要装入AUDIT表,发出下列命令:
LOAD FROM audit.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.AUDIT;
3、要装入CHECKING表,发出下列命令:
LOAD FROM checking.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.CHECKING;
4、要装入OBJMAINT表,发出下列命令:
LOAD FROM objmaint.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.OBJMAINT;
5、要装入SECMAINT表,发出下列命令:
LOAD FROM secmaint.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.SECMAINT;
6、要装入SYSADMIN表,发出下列命令:
LOAD FROM sysadmin.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.SYSADMIN;
7、要装入VALIDATE表,发出下列命令:
LOAD FROM validate.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.VALIDATE;
8、要装入CONTEXT表,发出下列命令:
LOAD FROM context.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.CONTEXT;
9、要装入EXECUTE表,发出下列命令:
LOAD FROM execute.del OF DEL MODIFIED BY DELPRIORITYCHAR LOBSINFILE;
INSERT INTO schema.EXECUTE;
10、将数据装入表之后,从sqllib目录的security/auditdata子目录中删除.del文件。
将审计数据装入表之后,就可以从这些表中选择数据以进行分析。
总之,以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所作的均等变化与修饰,皆应属本发明专利的涵盖范围。

Claims (3)

1.一种数据库数据对象审计的方法,其特征在于,包括如下步骤:
(1)创建6张审计表,用于记录数据库数据信息,6张审计表分别包括数据对象信息、表的列信息、数据对象更改历史信息、数据对象依赖信息、表的列更改历史信息和数据创建对象语句;
(2)通过PL/SQL语句将数据库中的数据插入到步骤(1)创建的各个表中,完成对数据的初始化;
(3)调用定时任务功能,通过PL/SQL语句对审计表进行更新;
(4)通过触发器记录数据对象定义操作,操作包括:
①创建用户及授权:创建审计用户,授予该用户对数据库对象的审计权限;该用户用于对数据库的所有操作进行审计记录;
②创建序列:创建自增序列,设置cache,进行序列的缓冲,对所有的数据库操作进行序列编号记录;
③创建日志表:使用审计用户创建审计相关对象记录表,依次创建数据对象清单表、表的列信息表、数据对象历史信息表、数据对象依赖表、表的列历史信息表、数据对象常见脚本表。这些记录表是审计信息承载的主体,数据库的每一次更改操作,都会被审计用户将相关的操作记录到神经表中。
④创建触发器:设置对数据变更记录的触发条件,对所有DDL、DML语句进行记录,审计记录会记录到响应的表中。
2.根据权利要求1所述的一种数据库数据对象审计的方法,其特征在于:步骤(1)中,在审计初始化过程中,对数据库中的所有对象进行细粒度的审计,对数据库中所有的DDL、DML操作进行记录并检查。
3.根据权利要求1所述的一种数据库数据对象审计的方法,其特征在于:步骤(3)中,定时任务时间用于对数据库中的数据对象进行触发管理及链接反应。
CN201710494082.3A 2017-06-26 2017-06-26 一种数据库数据对象审计的方法 Pending CN107480166A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710494082.3A CN107480166A (zh) 2017-06-26 2017-06-26 一种数据库数据对象审计的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710494082.3A CN107480166A (zh) 2017-06-26 2017-06-26 一种数据库数据对象审计的方法

Publications (1)

Publication Number Publication Date
CN107480166A true CN107480166A (zh) 2017-12-15

Family

ID=60594830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710494082.3A Pending CN107480166A (zh) 2017-06-26 2017-06-26 一种数据库数据对象审计的方法

Country Status (1)

Country Link
CN (1) CN107480166A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021174817A1 (zh) * 2020-07-24 2021-09-10 平安科技(深圳)有限公司 数据库自动化审计方法、系统、设备及存储介质
CN114265843A (zh) * 2021-12-21 2022-04-01 杭州电子科技大学 一种数据表审计方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102208057A (zh) * 2011-05-31 2011-10-05 中信银行股份有限公司 一种处理审计信息的方法、平台及系统
CN102411633A (zh) * 2011-12-27 2012-04-11 北京人大金仓信息技术股份有限公司 基于模板的数据库审计设置方法
CN103336820A (zh) * 2013-07-01 2013-10-02 广东科学技术职业学院 一种信息系统关键数据审计方法
CN103761165A (zh) * 2014-01-15 2014-04-30 北京奇虎科技有限公司 日志备份方法及装置
US20150278320A1 (en) * 2014-03-31 2015-10-01 Mckesson Specialty Care Distribution Corporation Systems and methods for generating and implementing database audit functionality across multiple platforms
CN106339305A (zh) * 2016-08-30 2017-01-18 孙鸿鹏 一种数据库安全监审方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102208057A (zh) * 2011-05-31 2011-10-05 中信银行股份有限公司 一种处理审计信息的方法、平台及系统
CN102411633A (zh) * 2011-12-27 2012-04-11 北京人大金仓信息技术股份有限公司 基于模板的数据库审计设置方法
CN103336820A (zh) * 2013-07-01 2013-10-02 广东科学技术职业学院 一种信息系统关键数据审计方法
CN103761165A (zh) * 2014-01-15 2014-04-30 北京奇虎科技有限公司 日志备份方法及装置
US20150278320A1 (en) * 2014-03-31 2015-10-01 Mckesson Specialty Care Distribution Corporation Systems and methods for generating and implementing database audit functionality across multiple platforms
CN106339305A (zh) * 2016-08-30 2017-01-18 孙鸿鹏 一种数据库安全监审方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021174817A1 (zh) * 2020-07-24 2021-09-10 平安科技(深圳)有限公司 数据库自动化审计方法、系统、设备及存储介质
CN114265843A (zh) * 2021-12-21 2022-04-01 杭州电子科技大学 一种数据表审计方法

Similar Documents

Publication Publication Date Title
CN101604335B (zh) 用于自动数据库或文件系统维护和修复的系统和方法
US20150066865A1 (en) Archive information management
US8863301B2 (en) Classification of an electronic document
US9619505B2 (en) Data health management
CN107004010A (zh) 控制多数据库系统
US9582558B2 (en) Method and system for data definition language (DDL) replication
EP4006740A1 (en) Method for indexing data in storage engines, and related device
US10459804B2 (en) Database rollback using WAL
US20220129816A1 (en) Methods and arrangements to manage requirements and controls, and data at the intersection thereof
CN110084561A (zh) 断点跟进方法、电子装置及可读存储介质
CN110942155A (zh) 一种机器学习引擎的研究方法
CN107480166A (zh) 一种数据库数据对象审计的方法
EP3707635A1 (en) Online determination of result set sensitivity
CN107273378B (zh) 一种文件存储方法及装置
CN109271199A (zh) 一种用于数据库持续集成与脚本文件管理的方法及系统
CN116860311A (zh) 脚本分析方法、装置、计算机设备及存储介质
CN104751069B (zh) 数据安全存取方法及其系统
US9208145B2 (en) Computer-implemented systems and methods for non-monotonic recognition of phrasal terms
CN103309678A (zh) 一种在ibm大中型机混构环境中的资料处理方法
CN107688654A (zh) 基于冗余数据结构的数据处理方法及装置
US11520666B2 (en) Systems, methods, and apparatus for fast ransomware recovery
US20220377088A1 (en) Data management computer and data management method
US20170032004A1 (en) Core data services based cross-system analytics
Jones Learn SQL Server Administration in a Month of Lunches
WO2021051583A1 (zh) 变量的传输和收集方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171215