在Oracle 11g中默认启用审计选项,AUDIT_TRAIL参数的缺省值为DB,而在Oracle 10g中该参数默认值为none,即不启用审计。审计数据默认存放SYSTEM 表空间下的AUD$审计字典基表上。Oracle官方宣称默认启用的审计日志不会对绝大多数产品数据库的性能带来过大的负面影响,同时Oracle公司还推荐使用基于OS文件的审计日志记录方式(OS audit trail files)。
注意在Oracle11g中CREATE SESSION将被作为受审计的权限来被记录,因此当SYSTEM表空间因磁盘空间而无法扩展时将导致这部分审计记录无法生成,这将最终导致普通用户的新会话将无法正常创建,普通用户将无法登陆数据库。在这种场景中仍可以使用SYSDBA身份的用户创建会话,在将审计数据合适备份后删除一部分记录,或者干脆TRUNCATE AUD$都可以解决上述问题。
当AUDIT_TRAIL设置为OS时,审计记录文件将在AUDIT_FILE_DEST参数所指定的目录中生成。全部这些文件均可以随时被删除或复制。
注意在默认情况下会以AUTOEXTEND ON自动扩展选项创建SYSTEM表空间,因此系统表空间在必要情况下还是会自动增长的,我们所需注意的是磁盘上的剩余空间是否能够满足其增长需求,以及数据文件扩展的上限,对于普通的8k smallfile表空间而言单个数据文件的最大尺寸是32G。
SQL>select*fromv$versionwhererownum=1; BANNER -------------------------------------------------------------------------------- OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-Production
以下权限将对所有用户审计:
DBA_PRIV_AUDIT_OPTSdescribescurrentsystemprivilegesbeingauditedacrossthesystemandbyuser. SQL>selectprivilege,success,failurefromdba_priv_audit_opts; PRIVILEGESUCCESSFAILURE ------------------------------------------------------------ CREATEEXTERNALJOBBYACCESSBYACCESS CREATEANYJOBBYACCESSBYACCESS GRANTANYOBJECTPRIVILEGEBYACCESSBYACCESS EXEMPTACCESSPOLICYBYACCESSBYACCESS CREATEANYLIBRARYBYACCESSBYACCESS GRANTANYPRIVILEGEBYACCESSBYACCESS DROPPROFILEBYACCESSBYACCESS ALTERPROFILEBYACCESSBYACCESS DROPANYPROCEDUREBYACCESSBYACCESS ALTERANYPROCEDUREBYACCESSBYACCESS CREATEANYPROCEDUREBYACCESSBYACCESS PRIVILEGESUCCESSFAILURE ------------------------------------------------------------ ALTERDATABASEBYACCESSBYACCESS GRANTANYROLEBYACCESSBYACCESS CREATEPUBLICDATABASELINKBYACCESSBYACCESS DROPANYTABLEBYACCESSBYACCESS ALTERANYTABLEBYACCESSBYACCESS CREATEANYTABLEBYACCESSBYACCESS DROPUSERBYACCESSBYACCESS ALTERUSERBYACCESSBYACCESS CREATEUSERBYACCESSBYACCESS CREATESESSIONBYACCESSBYACCESS AUDITSYSTEMBYACCESSBYACCESS PRIVILEGESUCCESSFAILURE ------------------------------------------------------------ ALTERSYSTEMBYACCESSBYACCESS 23rowsselected. SQL>
以下语句也将对所有用户审计:
DBA_STMT_AUDIT_OPTSdescribescurrentsystemauditingoptionsacrossthesystemandbyuser. SQL>selectaudit_option,success,failurefromdba_stmt_audit_opts; AUDIT_OPTIONSUCCESSFAILURE ------------------------------------------------------------ ALTERSYSTEMBYACCESSBYACCESS SYSTEMAUDITBYACCESSBYACCESS CREATESESSIONBYACCESSBYACCESS CREATEUSERBYACCESSBYACCESS ALTERUSERBYACCESSBYACCESS DROPUSERBYACCESSBYACCESS PUBLICSYNONYMBYACCESSBYACCESS DATABASELINKBYACCESSBYACCESS ROLEBYACCESSBYACCESS PROFILEBYACCESSBYACCESS CREATEANYTABLEBYACCESSBYACCESS AUDIT_OPTIONSUCCESSFAILURE ------------------------------------------------------------ ALTERANYTABLEBYACCESSBYACCESS DROPANYTABLEBYACCESSBYACCESS CREATEPUBLICDATABASELINKBYACCESSBYACCESS GRANTANYROLEBYACCESSBYACCESS SYSTEMGRANTBYACCESSBYACCESS ALTERDATABASEBYACCESSBYACCESS CREATEANYPROCEDUREBYACCESSBYACCESS ALTERANYPROCEDUREBYACCESSBYACCESS DROPANYPROCEDUREBYACCESSBYACCESS ALTERPROFILEBYACCESSBYACCESS DROPPROFILEBYACCESSBYACCESS AUDIT_OPTIONSUCCESSFAILURE ------------------------------------------------------------ GRANTANYPRIVILEGEBYACCESSBYACCESS CREATEANYLIBRARYBYACCESSBYACCESS EXEMPTACCESSPOLICYBYACCESSBYACCESS GRANTANYOBJECTPRIVILEGEBYACCESSBYACCESS CREATEANYJOBBYACCESSBYACCESS CREATEEXTERNALJOBBYACCESSBYACCESS 28rowsselected.
查询当前数据库中的现有的审计记录:
DBA_AUDIT_TRAILdisplaysallstandardaudittrailentries. SQL>selectaction_name,count(*)fromdba_audit_trailgroupbyaction_name; ACTION_NAMECOUNT(*) -------------------------------------- SYSTEMREVOKE1 LOGON90 DROPDATABASELINK5 LOGOFF59 ALTERSYSTEM5 CREATEPUBLICSYNONYM2 ALTERDATABASE3 DROPPUBLICSYNONYM2 CREATEDATABASELINK5 9rowsselected.
关于Oracle 11g数据库默认审计选项说明的相关知识就介绍到这里了,希望本次的介绍能够对您有所帮助。
【编辑推荐】
- SQL Server日期时间格式转换字符串详解SQL Server数据库流水号的使用方法详解初学SQL Server存储过程调用的代码示例SQL Server 2005数据库排序的SQL实例解析SQL Server 2008 MDX学习笔记之理解元数组