如何开启数据库里某USER所有表的审计您好,不知道你的数据库是什么?
Oracle的审计是放到AUD$表里面,需要sys权限 。
查询审计:
select * from sys.aud$;
select returncode, action#, userid, userhost, terminal,timestamp from aud$ 。
SYS.AUD$是唯一保留审计结果的表 。其它的都是视图 。
STMT_AUDIT_OPTION_MAP 包含有关审计选项类型代码的信息由SQL.BSQ 脚本在CREATEDATABASE 的时候创建
AUDIT_ACTIONS包含对审计跟踪动作类型代码的说明
ALL_DEF_AUDIT_OPTS包含默认对象审计选项 。当创建对象时将应用这些选项
DBA_STMT_AUDIT_OPTS描述由用户设置的跨系统的当前系统审计选项
DBA_PRIV_AUDIT_OPTS描述由用户正在审计的跨系统的当前系统权限
DBA_OBJ_AUDIT_OPTS描述在所有对象上的审计选项
USER_OBJ_AUDIT_OPTSUSER 视图描述当前用户拥有的所有对象上的审计选项
以下是审计记录
DBA_AUDIT_TRAIL列出所有审计跟踪条目
USER_AUDIT_TRAILUSER视图显示与当前用户有关的审计跟踪条目
DBA_AUDIT_OBJECT包含系统中所有对象的审计跟踪记录
USER_AUDIT_ OBJECTUSER 视图列出一些审计跟踪记录而这些记录涉及当前用户可以访问的对象的语句
DBA_AUDIT_SESSION列出涉及CONNECT 和DISCONNECT 的所有审计跟踪记录
USER_AUDIT_ SESSIONUSER视图列出涉及当前用户的CONNECT 和DISCONNECT 的所有审计跟踪记录
DBA_AUDIT_STATEMENT列出涉及数据库全部的GRANT REVOKE AUDIT NOAUDIT 和ALTER SYSTEM 语句的审计跟踪记录
USER_ AUDIT_ STATEMENT对于USER 视图来说这些语句应是用户发布的
DBA_AUDIT_EXISTS列出BY AUDIT NOT EXISTS 产生的审计跟踪条目
下面的视图用于细粒度审计
DBA_AUDIT_POLICIES 显示系统上的所有审计策略
DBA_FGA_AUDIT_TRAIL 列出基于值的审计的审计跟踪记录 。
怎么审计Oracle数据库中表操作,代码人生的小狗窝潜水E10CR用数据库自身导入导功能面设置字段改相应信息即
数据量情况自写存储程进行导入
oracle数据库的审计功能二、审计可以分为3类 。
或者说oracle如何审计表,可以从3种角度去启用审计 。
1、语句审计(Statement Auditing) 。
对预先指定oracle如何审计表的某些SQL语句进行审计 。这里从SQL语句的角度出发,进行指定 。审计只关心执行的语句 。
例如,audit CREATE TABLE;命令,就表明对"create table"语句的执行进行记录 。不管这语句是否是针对某个对象的操作
2、权限审计(Privilege Auditing)
对涉及某些权限的操作进行审计 。这里强调“涉及权限”
例如,audit CREATE TABLE;命令,又可以表明对涉及“CREATE TABLE”权限的操作进行审计 。
所以说,在这种命令的情况下,既产生一个语句审计,又产生了一个权限审计 。
有时候“语句审计”和“权限审计”的相互重复的 。这一点可以后面证明 。
3、对象审计(Object Auditing) 。记录作用在指定对象上的操作 。
oracle 审计功能怎么配置oracle 审计功能怎么配置
审计是对选定的使用者动作的监控和记录,通常用于:
u 审查可疑的活动 。例如:资料被非授权使用者所删除 , 此时安全管理员可决定对该 资料库的所有连线进行审计 , 以及对资料库的所有表的成功地或不成功地删除进行审计 。
u 监视和收集关于指定资料库活动的资料 。例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计资料 。
ORACLE支援三种审计型别:
u 语句审计,对某种型别的SQL语句审计,不指定结构或物件 。
u 特权审计,对执行相应动作的系统特权的使用审计 。
u 物件审计 , 对一特殊模式物件上的指定语句的审计 。
ORACLE所允许的审计选择限于下列方面:
u 审计语句的成功执行、不成功执行,或者其两者 。
u 对每一使用者会话审计语句执行一次或者对语句每次执行审计一次 。
u 对全部使用者或指定使用者的活动的审计 。
当资料库的审计是使能的,在语句执行阶段产生审计记录 。审计记录包含有审计的操作、使用者执行的操作、操作的日期和时间等资讯 。审计记录可存在资料字典表(称为审计记录)或作业系统审计记录中 。资料库审计记录是在SYS模式的AUD$表中 。
设定ORACLE审计
下列步骤可以设定ORACLE的审计功能:
1. 修改引数档案(init.ora,如果使用伺服器引数档案使用alter system set = scope=spfile|both , 详情参照1.1节中关于引数档案的介绍),设定 AUDIT_TRAIL引数,并且重启资料库 。AUDIT_TRAIL的取值如下:
l DB/TRUE:启动审计功能 , 并且把审计结果存放在资料库的 SYS.AUD$ 表中
l OS:启动审计功能 , 并把审计结果存放在作业系统的审计资讯中
l DB_EXTENDED:具有DB/TRUE的功能,另外填写AUD$的SQLBIND和SQLTEXT栏位
l NONE/FALSE:关闭审计功能
2.如果设定 AUDIT_TRAIL = OS, 还需要修改引数AUDIT_FILE_DEST 。
如果作业系统支援设定AUDIT_TRAIL=OS,档案会自动存放在AUDIT_FILE
_DEST所指定的目录下,并且档名包含程序的PID 。
比如:
AUDIT_FILE_DEST = $ORACLE_HOME/rdbms/audit
$ ls -l $ORACLE_HOME/rdbms/audit
-rw-rw---- 1 ora92 dba 881 Mar 17 09:57 ora_13264.aud
$ ps -ef|grep 13264
ora92 13264 13235 0 09:56:43 ? 0:00 oracleV92 (DESCRIPTION=(LOCAL=Y)
SQL select spid, program, username from v$process;
SPID PROGRAM USERNAME
------ -------------------------------------------- -------------
...
13264 oracle@frhp11 (TNS V1-V3) ora92
注意:WINDOWS NT不使用AUDIT_FILE_DEST引数,如果使用OS设定,那么审计资讯会存放在WINDOWS NT的事件日志里 。下面的章节会有专门的介绍 。
3. 确认审计相关的表是否已经安装
SQLPLUS connect / AS SYSDBA
SQLPLUS select * from sys.aud$; -- 没有记录返回
SQLPLUS select * from dba_audit_trail; -- 没有记录返回
如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装 , 需要安装 。
SQLPLUS connect / as sysdba
SQLPLUS @$ORACLE_HOME/rdbms/admin/cataudit.sql
审计表安装在SYSTEM表空间 。所以要确保SYSTEM表空间又足够的空间存放审计资讯 。
4. 关闭并重启资料库
5. 设定所需要的审计资讯
下面是一个例子
SQL connect system/manager
SQL grant audit system to scott;
SQL connect scott/tiger
SQL audit session;
停止审计:
SQL noaudit session;
设定审计的例项:对试图尝试口令的访问的审计
本节讨论的是一个审计的例项,用于记录尝试通过野蛮尝试法破译ORACLE帐号口令的例子:
1. 修改审计相关引数(参照上一节介绍的方法)
2. 重启资料库
3. 设定审计资讯
SQLAUDIT ALL BY ACCESS WHENEVER NOT SUCCESSFUL
4. 查询AUD$
SQL select returncode, action#, userid, userhost, terminal,timestamp
from aud$
RETURNCODE ACTION# USERID USERHOST TERMINAL
---------- ---------- -------- -------------------- --------------------
1017 100 SCOTT WPRATA-BR
1017 100 SCOTT WPRATA-BR
1017 100 SCOTT WPRATA-BR
ORA-1017的含义为错误的使用者名称口令 。通过检视AUD$表可以清楚地看到WPRATA-BR尝试破译SCOTT的口令 。可以通过下面一个储存过程来分析AUD$表,找出可疑的资讯:
create or replace procedure AuditLogin(Since Varchar2,Times PLS_Integer)
is
USER_ID VARCHAR2(20);
cursor c1 is select userid,count(*) from sys.aud$ where returncode='1017' and timestamp#=to_date(Since,'yyyy-mm-dd')
group by userid;
cursor C2 IS Select userhost, terminal,TO_CHAR(timestamp#,'YYYY-MM-DD:HH24:MI:SS')
from sys.aud$ WHERE returncode='1017' and timestamp#=to_date(Since,'yyyy-mm-dd') AND USERID=USER_ID;
ct PLS_INTEGER;
V_USERHOST VARCHAR2(40);
V_TERMINAL VARCHAR(40);
V_DATE VARCHAR2(40);
BEGIN
OPEN C1;
dbms_output.enable(1024000);
LOOP
FETCH C1 INTO USER_ID,CT;
EXIT WHEN C1%NOTFOUND;
IF(CT=TIMES) THEN
DBMS_OUTPUT.PUT_LINE('USER BROKEN ALARM:'||USER_ID);
OPEN C2;
LOOP
FETCH C2 INTO V_USERhOST,V_TERMINAL,V_DATE;
DBMS_OUTPUT.PUT_LINE(CHR(9)||'HOST:'||V_USERHOST||',TERM:'||V_TERMINAL||',TIME:'||V_DATE);
EXIT WHEN C2%NOTFOUND;
END LOOP;
close c2;
END IF;
END LOOP;
close c1;
END;
/
一下是执行结果:
SQLset serveroutput on;
SQL execute auditlogin('2004-01-01',2);
USER BROKEN ALARM:SYS
HOST:,TERM:XUJI,TIME:2004-09-22:11:08:00
HOST:,TERM:XUJI,TIME:2004-09-22:11:08:01
HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29
HOST:,TERM:XUJI,TIME:2004-09-22:11:09:29
PL/SQL 过程已成功完成 。
将审计相关的表移动到其他表空间
由于AUD$表等审计相关的表存放在SYSTEM表空间 , 因此为了不影响系统的效能 , 保护SYSTEM表空间 , 最好把AUD$移动到其他的表空间上 。可以使用下面的语句来进行移动:
sqlconnect / as sysdba;
sqlalter table aud$ move tablespace ;
sqlalter index I_aud1 rebuild online tablespace ;
SQL alter table audit$ move tablespace ;
SQL alter index i_audit rebuild online tablespace ;
SQL alter table audit_actions move tablespace ;
SQL alter index i_audit_actions rebuild online tablespace ;
分类: ORACLE
好文要顶 关注我 收藏该文
果然
关注 - 1
粉丝 - 0
加关注
? 上一篇:[转]oracle审计详解
? 下一篇:oracle中使用者删除不了,ORA-01940提示 “无法删除当前已连线使用者”
posted on 2015-07-31 10:37 果然 阅读(23) 评论(0) 编辑 收藏
重新整理评论重新整理页面返回顶部
注册使用者登入后才能发表评论 , 请 登入 或 注册,访问网站首页 。
【推荐】50万行VC原始码: 大型组态工控、电力模拟CAD与GIS原始码库
【福利】微软Azure给部落格园的你专属双重好礼
【推荐】融云释出 App 社交化白皮书 IM 提升活跃超 8 倍
【推荐】BPM免费下载
最新IT新闻:
· 新年正能量!他说iPad给予了他一次新生命
· 曝联通2016年终奖取消:集团亏损 只发基本工资
· 罗振宇跨年演讲完整版:2017年小心这5只黑天鹅
· 外媒评出2016年最差电子产品排行榜:三星Note7登顶
· 优必选机器人出新品、搭渠道,将完成20亿元融资
? 更多新闻...
最新知识库文章:
· 写给未来的程式媛
· 高质量的工程程式码为什么难写
· 循序渐进地程式码重构
· 技术的正宗与野路子
· 陈皓:什么是工程师文化?
? 更多知识库文章...
导航
部落格园
首页
联络
订阅
如何配置linux审计功能部署
java不用做任何改动就可以部署到linux系统 , java编译成*.class档案只需要虚拟机器的支援 , 你只要在linux环境下装一个jdk就OK了,然后配置一下环境变数 。然后java的class档案或者打包好的*.jar档案考到linux目录下就可以用了.
怎么检视windows下的oracle是否开启审计功能
检视aud$表(或者dba_audit_trial检视)中是否有资料 , 如果有资料说明审计功能开启的
select * from aud$;
select * from dba_audit_trial;
检视系统开启了那些审计功能
select * from dba_priv_audit_opts;系统许可权审计
select * from dba_obj_audit_opts; 物件许可权审计
如何检视oracle是否开启了审计功能
1、语句审计(Statement Auditing) 。
对预先指定的某些SQL语句进行审计 。这里从SQL语句的角度出发,进行指定 。审计只关心执行的语句 。
例如,audit CREATE TABLE;命令,就表明对"create table"语句的执行进行记录 。不管这语句是否是针对某个物件的操作
2、许可权审计(Privilege Auditing)
对涉及某些许可权的操作进行审计 。这里强调“涉及许可权”
例如,audit CREATE TABLE;命令,又可以表明对涉及“CREATE TABLE”许可权的操作进行审计 。
所以说,在这种命令的情况下,既产生一个语句审计 , 又产生了一个许可权审计 。
什么是资料库的审计功能,为什么要提供审计功能
资料库是任何商业和公共安全中最具有战略性的资产,通常都储存着重要的商业伙伴和客户资讯,这些资讯需要被保护起来,以防止竞争者和其他非法者获取 。网际网路的急速发展使得企业资料库资讯的价值及可访问性得到了提升,同时,也致使资料库资讯资产面临严峻的挑战,概括起来主要表现在以下三个层面:
1. 管理风险:主要表现为人员的职责、流程有待完善,内部员工的日常操作有待规范,第三方维护人员的操作监控失效等等,离职员工的后门,致使安全事件发生时,无法追溯并定位真实的操作者 。
2. 技术风险:Oracle, SQL Server是一个庞大而复杂的系统,安全漏洞如溢位,注入层出不穷,每一次的CPU(Critical Patch Update)都疲于奔命,而企业和 *** 处于稳定性考虑,往往对补丁的跟进非常延后,更何况通过应用层的注入攻击使得资料库处于一个无辜受害的状态 。
3. 审计层面:现有的依赖于资料库日志档案的审计方法,存在诸多的弊端,比如:资料库审计功能的开启会影响资料库本身的效能、资料库日志档案本身存在被篡改的风险,难于体现审计资讯的有效性和公正性 。此外 , 对于海量资料的挖掘和迅速定位也是任何审计系统必须面对和解决的一个核心问题之一 。
伴随着资料库资讯价值以及可访问性提升,使得资料库面对来自内部和外部的安全风险大大增加,如违规越权操作、恶意入侵导致机密资讯窃取泄漏,但事后却无法有效追溯和审计 。
sangfor 流量审计功能在哪
恩 你说的是深信服的上网行为管理产品吧,深信服上网行为管理产品的主要功能有:
①识别(就是所有使用者和网站以及应用系统的识别,深信服可以自动识别网站和软体的功能性 比如是娱乐的,办公的还是游戏)
②流控:就是流量控制,既然知道了每个软体都在做什么,就可以对流量的控制,比如对P2P软体的控制,这样就可以保证我们办公的正常执行
③管理:我们可以针对网上的某一软体或网页进行限制或禁止,可以具体到某一软体的流量几K每秒 。
④安全:上网行为管理可以对我们的客户电脑进行安全维护就是防止网路病毒和提醒软体漏洞 。再就是防止泄密,比如一些QQ泄密和邮件泄密,防止公司的损失 。
⑤审计:就是对公司职工上网记录的保留,包括浏览,软体,邮件 , 聊天记录 , 等等一切网路行为的保留,以便以后的查取 。并且有深信服专利对于SSL的审计 。
配置审计包括物理审计 哪些属于功能审计的范畴
B 答案解析: 答案A不正确 , 事实证据是情况属性; 答案B正确,审计发现和建议要以4个属性为依据 。标准是在进行评价或核证时应用的标准、措施或期望值(应该存在什么);情况是内部审计师在检查过程中发现的事实证据(存在什么);原因是预期和实际情况之间存在差异的原因(为什么情况会存在)原因,它是预期和实际情况之间存在差异的原因(为什么情况会存在);效果是由于情况与标准不一致,机构和/或其他部门面临的风险(即差异的影响)效果 , 它是由于情况与标准不一致,机构和/或其他部门面临的风险(即差异的影响)(实务公告2410-1) 。原因提供了回答“为什么”的答案,并且应是纠正措施的依据 。答案C不正确,风险或暴露是效果属性; 答案D不正确,对审计发现和建议的效果的评价是内部审计师的结论 。
usg自带的审计功能,怎么才能看到被审计的内容
一、审计所的主要工作内容是:1、审计所的工作是审计资料作出证据蒐集及分析,以评估企业财务状况 , 然后就资料及一般公认准则之间的相关程度作出结论及报告 。2、检讨组织的运作程式及方法以评估其效率及效益;履行审计(遵行审计);评估组织是否遵守由更高权力机构所订的程式、守则或规条 。3、对财务报表审计:评估企业或团体的财务报表是否根据公认会计准则编制,一般由独立会计师进行 。评估企业或机构的资讯系统的安全性,完整性、系统可靠性及一致性 。二、审计所的职能:1、审计所是指由国家授权或接受委托的专职机构和人员成立的,依照国家法规、审计准则和会计理论,运用专门的方法,对被审计单位的财政、财务收支、经营管理活动及其相关资料的真实性、正确性、合规性、合法性、效益性进行审查和监督,评价经济责任 , 鉴证经济业务,用以维护财经法纪、改善经营管理、提高经济效益的一项独立性的经济监督活动 。2、对经济活动和经济现象的认定:经济活动和经济现象是审计的物件,也就是审计的内容 。经济活动和经济现象的认定代表着被审单位对本单位经济活动的合法合规性或有效性及经济现象(如会计资料)的真实公允性的一种看法 。3、收集和评估证据:证据是审计人员用来确定被审单位经济活动合法合规性或有效性及经济现象真实公允性的各种形式的凭据 。收集充分、有力的审计证据是审计工作的核心 。从一定意义上说,审计就是有目的、有计划地收集、鉴定、综合和利用审计证据的过程 。4、保持其客观性:客观性是指不偏不倚 , 实事求是,这是对审计人员的职业道德要求 。审计人员只有客观地收集和评估证据、作出审计结论、报告审计结果,才能达到审计目标,也才能使审计工作令审计意见的利害关系人信服 。5、为其制定审计的标准:所制定的标准是审计的依据,即判断被审单位的经济活动合法合规与否、经济效益如何、经济现象真实公允与否的尺度 , 如国家颁布的法律、规章和标准,职业团体制定的会计准则(如美国财务会计准则委员会FASB释出的《财务会计准则公告》),企业制定的各种消耗定额、计划、预算等 。6、为审计传递结果:向依赖和利用审计意见的组织和人员传递结果是通过编制审计报告进行的 。编制审计报告是审计工作的最后步骤 。审计报告的格式有些是标准化的,如年度会计报表审计报告;有些则是非标准化的,如职员舞弊专项审计报告 。在有些情况下,审计人员甚至还可以采取口头的非正式形式报告审计结果 。三、举例1、GE公司是美国最大的产业公司之一,也是世界上最大的电气公司 。该公司有12大类产品和服务专案,包括家用电器、广播装置、航空机械、科技新产品开发、销售服务等 。2、GE每年都会进行由审计所进行的外部审计,其工作过程是:(1)在审计工作开始之前,审计小组要做的工作是了解和研究情况,(2)在审计中 , 审计小组对整个审计工作负有全权,召开调查会、进行个别谈话、收集情况和资料等活动都由他们自主安排 。在这之后是分析情况、理清头绪,衡量各种问题间的相互影响 。为了实现审计目标,他们可以做他们认为需要做的任何工作,目的只有一个:找出问题的解决方案 。(3)即便找到了解决法 , 事情也远未结束 。实施方案的具体建议一般由审计小组提出 , 而且他们总是要把新方案变成一种日常工作 , 具体落实后才肯罢手,以便在他们离开后能够坚持下去 。在这一过程中,审计小组要与被审计部门的领导和业务人员打无数次交道 。(4)审计所根据审计目标和程式,出具审计报告 。
oracle 行级触发器可以用于审计功能吗
sqlplus "/ as sysdba"
show parameter audit
alter system set audit_sys_operations=TRUE scope=spfile;
alter system set audit_trail=DB scope=spfile;
shutdown immediate;
startup force;
Oracle 11g起audit是自动开启的 。我很烦这个审计开启,审计日志半个月10G,烦烦烦 。我一把都关闭Oracle的审计功能,提高Oracle的空闲率 。
查询SQL审计功能是否开启
mysql伺服器自身没有提供审计功能,但是我们可以使用init-connect binlog的方法进行mysql的操作审计 。由于mysqlbinlog记录了所有对资料库长生实际修改的sql语句,及其执行时间,和connection_id但是却没有记录connection_id对应的详细使用者资讯 。在后期审计进行行为追踪时,根据binlog记录的行为及对应的connection-id结合之前连线日志记录进行分析,得出最后的结论 。1.设定init-connect1.1建立用于存放连线日志的资料库和表createdatabaseaesslog;CREATETABLEaesslog.aesslog(`id`int(11)primarykeyauto_increment,`time`timestamp,`localname`varchar(30),`matchname`varchar(30))1.2建立使用者许可权可用现成的root使用者用于资讯的读取grantselectonaesslog.*toroot;如果存在具有to*.*许可权的使用者需要进行限制 。这里还需要注意使用者必须对aesslog表具有insert许可权grantselectonaesslog.*touser@’%’;1.3设定init-connect在[mysqld]下新增以下设定:init-connect=’insertintoaesslog.aesslog(id,time,localname,matchname)values(connection_id(),now(),user(),current_user());’------注意user()和current_user()的区别log-bin=xxx这里必须开启binlog1.4重启资料库生效shell/etc/init.d/mysqlrestart2.记录追踪2.1thread_id确认可以用以下语句定位语句执行人Tencent:~#mysqlbinlog--start-datetime='2011-01-2616:00:00'--s-datetime='2011-01-2617:00:00'/var/lib/mysql/mysql-bin.000010|grep-B5'wsj'COMMIT/*!*/;#at767#11012616:16:43serverid1end_log_pos872Querythread_id=19exec_time=0error_code=0usetest/*!*/;SETTIMESTAMP=1296029803/*!*/;createtablewsj(idintunsignednotnull)--BEGIN/*!*/;#at940#11012616:16:57serverid1end_log_pos1033Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029817/*!*/;insertintowsj(id)values(1)--BEGIN/*!*/;#at1128#11012616:16:58serverid1end_log_pos1221Querythread_id=19exec_time=0error_code=0SETTIMESTAMP=1296029818/*!*/;insertintowsj(id)values(2)2.2使用者确认thread_id确认以后,找到元凶就只是一条sql语句的问题了 。mysqlselect*fromaesslogwhereid=19; ---- --------------------- --------------------- ----------- |id|time|localname|matchname| ---- --------------------- --------------------- ----------- |19|2011-01-2616:15:54|test@10.163.164.216|test@%| ---- --------------------- --------------------- ----------- 1rowinset(0.00sec)
oracle 审计包括哪几种,都是什么1、什么是审计
审计(Audit)用于监视用户所执行的数据库操作,并且Oracle会将审计跟踪结果存放到OS文件(默认位置为$ ORACLE_BASE/admin/$ORACLE_SID/adump/)或数据库(存储在system表空间中的SYS.AUD$表中,可通过视图 dba_audit_trail查看)中 。默认情况下审计是没有开启的 。
不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库 。
2、和审计相关的两个主要参数
Audit_sys_operations:
默认为false , 当设置为true时 , 所有sys用户(包括以sysdba,sysoper身份登录的用户)的操作都会被记录,audit trail不会写在aud$表中 , 这个很好理解,如果数据库还未启动aud$不可用,那么像conn /as sysdba这样的连接信息,只能记录在其它地方 。如果是windows平台,audti trail会记录在windows的事件管理中,如果是linux/unix平台则会记录在audit_file_dest参数指定的文件中 。
Audit_trail:
None:是默认值,不做审计;
DB:将audit trail 记录在数据库的审计相关表中 , 如aud$,审计的结果只有连接信息;
DB,Extended:这样审计结果里面除了连接信息还包含了当时执行的具体语句;
OS:将audit trail 记录在操作系统文件中,文件名由audit_file_dest参数指定;
XML:10g里新增的 。
注:这两个参数是static参数 , 需要重新启动数据库才能生效 。
3、审计级别
当开启审计功能后,可在三个级别对数据库进行审计:Statement(语句)、Privilege(权限)、object(对象) 。
Statement:
按语句来审计,比如audit table 会审计数据库中所有的create table,drop table,truncate table语句,alter session by cmy会审计cmy用户所有的数据库连接 。
Privilege:
按权限来审计,当用户使用了该权限则被审计 , 如执行grant select any table to a,当执行了audit select any table语句后,当用户a 访问了用户b的表时(如select * from b.t)会用到select any table权限,故会被审计 。注意用户是自己表的所有者,所以用户访问自己的表不会被审计 。
Object:
按对象审计,只审计on关键字指定对象的相关操作,如aduit alter,delete,drop,insert on cmy.t by scott; 这里会对cmy用户的t表进行审计,但同时使用了by子句 , 所以只会对scott用户发起的操作进行审计 。注意Oracle没有提供对schema中所有对象的审计功能,只能一个一个对象审计,对于后面创建的对象 , Oracle则提供on default子句来实现自动审计,比如执行audit drop on default by access;后,对于随后创建的对象的drop操作都会审计 。但这个default会对之后创建的所有数据库对象有效 , 似乎没办法指定只对某个用户创建的对象有效,想比 trigger可以对schema的DDL进行“审计”,这个功能稍显不足 。
【oracle如何审计表 oracle数据库怎么审计操作记录】关于oracle如何审计表和oracle数据库怎么审计操作记录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- ppt如何换成word,PPT如何换成word
- html5打印页眉页脚,html5页脚怎么设置
- 绥化专注sap软件维护,绥化专注sap软件维护招聘信息
- vb.net左截取 vbnet截取指定的字符串
- 关于百度云盘python爬虫资料的信息
- 农村拍摄什么最好,农村拍照拍什么内容
- go语言爱好者18期 go语言好不好
- 大唐广西龙滩年初GIS,广西龙滩二期获批
- 如何营销新业务,新销售如何开展工作