[发明专利]一种基于审计功能的ORACLE数据库点击率技术无效
申请号: | 201010298422.3 | 申请日: | 2010-10-04 |
公开(公告)号: | CN102446170A | 公开(公告)日: | 2012-05-09 |
发明(设计)人: | 王子影;李盛乐;闫民正;张兴国;刘坚 | 申请(专利权)人: | 王子影;李盛乐;闫民正;张兴国;刘坚 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 审计 功能 oracle 数据库 点击率 技术 | ||
技术领域
本发明涉及一种统计ORACLE数据库内数据访问率的技术实现,用于实现select查询后自动触发数据查询统计的功能,尤其用于统计重要数据资料的使用情况即数据点击率。
背景技术
目前,网站利用点击率统计该网站的用户访问量,用户的访问量越大,说明该网站的知名度大,从而网站的广告效益也就更大。数据库的点击率即通过在数据库表中添加点击率字段来统计数据的使用情况,从而统计出数据资料的重要性。目前,ORACLE数据库只提供了INSERT、UPDATE、DELETE语句的触发器功能,而没有提供SELECT语句的触发器功能,因而不能利用触发器来实现对数据点击率(即SELECT查询)的统计功能。较为传统和简单的方法就是利用应用程序进行统计用户对数据的访问情况,然后将访问信息存储到数据库表中的点击率字段,此种方式统计信息较为全面,但不一定完整,它的前提是建立在用户利用指定的应用程序访问数据库的数据资料基础之上,一旦用户通过其它途径访问数据库的资料就没有办法确切地统计数据的使用情况,势必造成数据访问统计的遗漏现象。
发明内容
为了增加对ORACLE数据库资料访问的统计功能,克服传统统计方式的缺点,本发明提供了一种基于审计功能的数据库点击率技术,该技术弥补了ORACLE数据库无SELECT触发器的缺陷,实现了对ORACLE数据库的SELECT查询统计功能,不仅能够统计对ORACLE数据库资料的访问情况,还能较为完整、详细地统计数据的访问信息。
本发明解决其技术问题所采用的技术方案是:利用数据库的审计功能,详细记录对数据库的各种操作,通过指定特定的审计级别与审计对象,即可实现对SELECT语句的”触发器”功能完成对数据库资料的访问统计。用户对数据库资料的访问信息通过数据库的审计 (AUDIT) 功能,记录在数据表SYS.AUD$内,DBA_AUDIT_TRAIL是一个基于AUD$的视图,其它视图则是DBA_AUDIT_TRAIL的子视图。通过利用定时作业每晚定时对审计视图进行查询统计与计算(类似SELECT触发器,触发间隔每天一次,触发时间夜间0点),并将统计结果记录保存到相应数据库表的点击率字段,来达到统计数据库表记录的访问情况。
本发明的有益效果是,有效地弥补了ORACLE数据库无SELECT触发器的缺陷,可以较为全面完整地统计出数据库资料的使用情况,从而能够统计出资料的重要程度,对科研工作者使用与统计重要数据资料具有很大的帮助意义。
附图说明
图1中模拟SELECT触发器:通过对SELECT语句的审计功能,结合ORACLE数据库的定时作业实现了对SELECT语句的查询统计功能,定时作业的定时间隔可根据需要进行调整,为了不影响ORACLE数据库的正常功能,定时间隔为1天,定时时刻为午夜0点,起到了类似SELECT触发器的功能。
图2中打开审计功能:通常数据的审计功能都是关闭状态,若要使用审计功能,需要先打开审计功能。
图2中移动审计相关表到其它表空间:通常审计表AUD$与其它审计相关视图都存放到表SYSTEM空间内,由于SYSTEM表空间存储ORACLE系统信息且空间有限,为了不影响ORACLE系统的运行,需要将审计相关表移动到其它表空间内。
图2中建立对象的SELECT审计:即通过对表指定SELECT审计,ORACLE系统将会记录对表的一切SELECT操作信息。
图2中数据库定时作业:通过建立数据库的定时作业(过程),每晚12点定时执行,检查数据审计信息。
图2中更新记录内点击率字段:即通过执行定时作业,将当天对数据的SELECT操作进行统计查询与运算,并更新记录内相应的点击率字段,实现数据的访问统计功能。
具体实施方式
首先,检查数据库系统是否开启审计功能。在SQLPLUS下以DBA身份登录数据库,并执行show parameter audit指令,查看审计功能是否开启。查询结果中有两个重要参数:
Audit_sys_operations与Audit_trail。Audit_sys_operations默认为false,当设置为true时,所有sys用户(包括以sysdba, sysoper身份登录的用户)的操作都会被记录。Audit_trail的值有以下几种:
None:是默认值,不做审计;
DB:将audit trail 记录在数据库的审计相关表中,如aud$,审计的结果只有连接信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于王子影;李盛乐;闫民正;张兴国;刘坚,未经王子影;李盛乐;闫民正;张兴国;刘坚许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010298422.3/2.html,转载请声明来源钻瓜专利网。