首页 > 数据库 > 数据库开发技术 > 细粒度审计FGA存储过程含义
看看DBMS_FGA.ADD_POLICY存储过程的含义
DBMS_FGA.ADD_POLICY(
object_schema VARCHAR2,
object_name VARCHAR2,
policy_name VARCHAR2,
audit_condition VARCHAR2,
audit_column VARCHAR2,
handler_schema VARCHAR2,
handler_module VARCHAR2,
enable BOOLEAN,
statement_types VARCHAR2,
audit_trail BINARY_INTEGER IN DEFAULT,
audit_column_opts BINARY_INTEGER IN DEFAULT);
object_schema 如果不设置默认为当前登陆用户的schema;
object_name 需要设置,不能为空;
policy_name 不能为空;
audit_condition 指定需要审计row的条件.即指定哪些行如果访问到了就会被审计.哪些没有访问到就不会被审计.默认是NULL(即true),就是所有的行.
audit_column 指定需要审计到哪些列.如果这个地方设置了列A和B,查询则只查询C,即使查询条件符合audit_condition指定的条件,也不会被审计.如果设置了该参数,则参数audit_column_opts(默认为所有列)就不会生效.该参数默认值为NULL,个人理解如果为NULL的话,audit_column_opts参数就会生效就是审计表的所有列.
enable 默认为enable,可用.
statement_types 有三个值:DBMS_FGA.DB,DBMS_FGA.EXTENDED,DBMS_FGA.XML
可以生成四种搭配:
DBMS_FGA.DB 将审计结果保存在SYS.FGA_LOG$表中,忽略SQL语句和SQL变量(SQL Text and SQL Bind);
DBMS_FGA.DB + DBMS_FGA.EXTENDED 将审计结果保存在SYS.FGA_LOG$表中,包括SQL语句及变量(SQL Text and SQL Bind);
DBMS_FGA.XML 将审计结果保存到操作系统的文件中(AUDIT_FILE_DEST),不包括SQL语句;
DBMS_FGA.XML + DBMS_FGA.EXTENDED 将审计的结果保存到系统上,包括SQL语句.
该参数默认值为DBMS_FGA.DB + DBMS_FGA.EXTENDED
audit_column_opts 默认值为ANY_COLUMNS.
由此我们可以知道,将表中的数据当作是二维数据,audit_condition和audit_column两个参数就是二维数据的两个横向和纵向的限制条件.由这两个参数就可以确认审计的是哪些数据.
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23850820/viewspace-1053920/ ,如需转载,请注明出处,否则将追究法律责任。