1 显示所有dbms_fga过程:
desc dbms_fga
2 添加审计
begin
dbms_fga.add_policy(
object_schema=>'HR',
object_name=>'EMPLOYEES',
policy_name=>'AUDI_SAL_EMP ',
audit_condition=>'salary is not null and commission_pct is not null',
audit_column=>'salary,commission_pct',
enable=>true,
statement_types=>'select');
end;
3 删除审计
begin
DBMS_FGA.DROP_POLICY (
object_schema=>'HR',
object_name=>'employees',
policy_name=>'audi_sal_emp');
end;
4 查看审计记录
select timestamp, db_user,os_user,object_schema,object_name,sql_text from dba_fga_audit_trail ;
数据字典视图: DBA_FGA_AUDIT_TRAI L 视图中重要的列
它记录细粒度的访问信息。其中显示了审计事件的时间标记、查询者的数据库用户 ID、操作系统用户 ID、查询中所使用表的名称和所有者,最后还有确切的查询语句。
SESSION_ID | 审计会话标识符;与 V$SESSION 视图中的会话标识符不同 |
TIMESTAMP | 审计记录生成时的时间标记 |
DB_USER | 发出查询的数据库用户 |
OS_USER | 操作系统用户 |
USERHOST | 用户连接的机器的主机名 |
CLIENT_ID | 客户标识符(如果由对打包过程 dbms_session.set_identifier 的调用所设置) |
EXT_NAME | 外部认证的客户名称,如 LDAP 用户 |
OBJECT_SCHEMA | 对该表的访问触发了审计的表所有者 |
OBJECT_NAME | 对该表的 SELECT 操作触发了审计的表名称 |
POLICY_NAME | 触发审计的策略名称(如果对表定义了多个策略,则每个策略将插入一条记录。在此情况下,该列显示哪些行是由哪个策略插入的。) |
SCN | 记录了审计的 Oracle 系统更改号 |
SQL_TEXT | 由用户提交的 SQL 语句 |
SQL_BIND | 由 SQL 语句使用的绑定变量(如果存在) |
5 列出所有审计策略
数据字典视图: DBA_AUDIT_POLICIES 中重要的列
显示系统上的所有审计策略
OBJECT_SCHEMA | 对其定义了 FGA 策略的表或视图的所有者 |
OBJECT_NAME | 表或视图的名称 |
POLICY_NAME | 策略的名称 — 例如,ACCOUNTS_ACCESS |
POLICY_TEXT | 在添加策略时指定的审计条件 — 例如,BALANCE >= 11000 |
POLICY_COLUMN | 审计列 — 例如,BALANCE |
ENABLED | 如果启用则为 YES,否则为 NO |
PF_SCHEMA | 拥有策略处理器模块的模式(如果存在) |
PF_PACKAGE | 处理器模块的程序包名称(如果存在) |
PF_FUNCTION | 处理器模块的过程名称(如果存在) |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12002398/viewspace-2220705/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12002398/viewspace-2220705/