问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何启用fga功能,fine-grained auditing oracle

发布网友 发布时间:2022-04-10 20:28

我来回答

1个回答

热心网友 时间:2022-04-10 21:57

  Implement fine-grained auditing
  从Oracle9i开始,就可以使用DBMS_FGA对指定的表的SELECT语句进行审计,但是在9i中只能对select语句进行审计,在10g中可以实现对DML的审计功能。
  1、在审计策略生效之前,必须对表进行分析,因为只有在CBO模式,DBMS_FGA才能正确的工作
  分析该表,让其使用CBO优化模式
  SQL> analyze table hr.employees compute statistics;
  下面的语句是删除掉统计信息:
  analyze table table_name delete statistics;
  2、指定audit_condition可以设定监控条件(例如select某部分记录)
  3、可以指定audit_column来审计专门的字段
  4、statement_types包括“SELECT,UPDATE,INSERT.DELETE”四种,如需多种以','分开
  5,被审计的只能是非SYS用户,SYS用户没有办法审计
  Summary of DBMS_FGA Subprograms
  Subprogram Description
  ADD_POLICY Procere Creates an audit policy using the supplied predicate as the audit condition
  DISABLE_POLICY Procere Disables an audit policy
  DROP_POLICY Procere Drops an audit policy
  ENABLE_POLICY Procere Enables an audit policy
  salary&commission_pct(下面表示两个同时查询的时候,就审计,否则不审计)
  begin
  dbms_fga.add_policy(
  OBJECT_SCHEMA=>'HR',
  OBJECT_NAME=>'EMPLOYEES',
  POLICY_NAME=>'policy1',
  AUDIT_CONDITION =>'department_id=60',
  AUDIT_COLUMN=>'salary,commission_pct',
  HANDLER_SCHEMA=>null,
  HANDLER_MODULE=>null,
  ENABLE=>true,
  STATEMENT_TYPES=>'select',
  audit_column_opts=>DBMS_FGA.ALL_COLUMNS
  );
  end;
  /
  conn hr/hr
  SQL>select 'salary,commission_pct' from employees (两个字段同时查询才审计)
  begin
  dbms_fga.drop_policy(
  OBJECT_SCHEMA=>'HR',
  OBJECT_NAME=>'EMPLOYEES',
  POLICY_NAME=>'policy1');
  end;
  /
  salary|commission_pct (下面表示只要查询两个中的任何一个的时候就审计)
  begin
  dbms_fga.add_policy(
  OBJECT_SCHEMA=>'HR',
  OBJECT_NAME=>'EMPLOYEES',
  POLICY_NAME=>'policy2',
  AUDIT_CONDITION =>'department_id=60',
  AUDIT_COLUMN=>'salary,commission_pct',
  HANDLER_SCHEMA=>null,
  HANDLER_MODULE=>null,
  ENABLE=>true,
  STATEMENT_TYPES=>'select',
  audit_column_opts=>DBMS_FGA.ANY_COLUMNS
  );
  end;
  /
  conn hr/hr
  (下面三种情况查询都审计)
  SQL>select 'salary,commission_pct' from employees
  SQL>select 'salary from employees
  SQL>select commission_pct' from employees
  如果不写audit_column_opts,则相当于ANY_COLUMNS
  begin
  dbms_fga.add_policy(
  OBJECT_SCHEMA=>'HR',
  OBJECT_NAME=>'EMPLOYEES',
  POLICY_NAME=>'ABC',
  AUDIT_CONDITION =>null,
  AUDIT_COLUMN=>'salary,commission_pct',
  HANDLER_SCHEMA=>null,
  HANDLER_MODULE=>null,
  ENABLE=>true,
  STATEMENT_TYPES=>'select'
  );
  end;
  /
  SYS验证下FGA是否生效:
  SQL> select count(*) from fga_log$;
  最后看一下,如何查看审计的结果:
  select * from dba_audit_policies; --所有policy的列表
  select db_user,timestamp,sql_text,sql_bind from dba_fga_audit_trail; --审计结果
  SELECT text FROM dba_Views where view_name=upper('DBA_FGA_AUDIT_TRAIL'); --查看记录来源
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
急,小弟该学哪种街舞呢? 少儿街舞popping好还是breaking好 急!!!我适合学breaking还是popping?现在身高165,体重115 。 我该学什么街舞舞种?适合我的 卧龙生的武侠小说,当年各种被撕页,省略号让人记忆犹新 电信话费用了700多,可是没欠费,这是什么情况? 电信交网费送手机说是最低消费69除了这69外还会再乱扣费吗谁用过 我的GPRS/3G数据流量套餐费是20元,小计22元是什么意思?有没有知道... 为什么我都没怎么用,并且没打电话,只是用QQ浏览器浏览网页就欠费了... 劳动关系确立证明有哪些 狼人杀游戏名字可以重复吗 推理学院狼人杀怎么改名字? 跪求!!!匡威 川久保玲4代 货号:125463C 真的多少钱? 匡威X 川久保玲 联名 这款好像是假的吧 邮政储蓄上转账转错了有什么补救措施吗? 邮政储蓄手机转账人名打错一个字钱已经扣了怎么办 转账转错了怎么办! 卡号是邮政储蓄银行的转工商银行卡了 邮政手机银行跨行转账错了怎么办 手机银行转账邮政账号错了,邮政会退还吗 我用邮政手机银行跨行转账 没注意把名字 账号都输错了 钱扣掉了 怎么办啊!!!求教 饮完茶之后能吃鹿茸吗? 茶可以和鹿茸玛卡枸杞红枣一起煮吗? 鹿茸可以泡水喝吗?可以不可以和茶叶一同泡水喝 鹿茸可以和龙井茶一起泡水吗? 吃鹿茸能喝茶吗? 鹿茸泡绿茶会影响功效吗? 鹿茸片能否放在茶水中饮用 8~10岁最长最爱听的故事 华为型号ART-AL00x,设置里的健康使用手机里面的应用使用时间怎么删除? 如何清除华为手机统个应用的统计时间? 家庭理财频道嘉宾 主持用的什么软件? 家庭理财节目是那个电视节目是在北京录制的还是在辽宁录制? 我在一次不经意看到*电视教育台教授讲解《家庭如何理财》,而且可以免费索 珍珠奶茶放冰箱第二天能喝吗 珍珠奶茶可以放冰箱第二天喝吗 珍珠奶茶过夜了放冰箱还能喝吗 珍珠奶茶未开封放在冰箱里。可以放多长时间? 珍珠奶茶放冰箱调几度保鲜最久 如果买了珍珠奶茶放在冰箱第三天早上能喝吗? 民生银行pos机可以查询信用卡额度吗 我的世界手机版怎么骑马? cogi洗面奶官方多少钱 外地上班,回老家后,社保能退吗? 外地务工社保可以退吗 请问外地农村户口到底能退社保里的钱吗?怎么退呢? 外地人在外地地交社保是否可以退保 外地人在上海买了社保.可以退保吗 锦州烧烤的基本特征 都说锦州烧烤好吃,是手法好还是有配料呢? 锦州烧烤的历史