<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    DBMS_FGA包使用介紹
    ?
    ?
    ??? 從Oracle9i開始,就可以使用DBMS_FGA對指定的表的SELECT語句進行審計,但是在9i中只能對select語句進行審計,在10g中可以實現對DML的審計功能。簡單得看看這個包的使用方法:
    ?
    ??? 首先按照慣例列出Oracle自帶說明:
    ?
    ******************************************************************************

    CREATE OR REPLACE PACKAGE SYS.dbms_fga AS

    ? -- ------------------------------------------------------------------------

    ?

    ? -- CONSTANTS

    ? --

    ? EXTENDED??? CONSTANT PLS_INTEGER := 1 ;

    ? DB????????? CONSTANT PLS_INTEGER := 2 ;

    ? DB_EXTENDED CONSTANT PLS_INTEGER := 3 ;???????????? -- (default)

    ? XML???????? CONSTANT PLS_INTEGER := 4 ;

    ?

    ? ALL_COLUMNS CONSTANT BINARY_INTEGER := 1 ;

    ? ANY_COLUMNS CONSTANT BINARY_INTEGER := 0 ;????????? -- (default)

    ?

    ? -- add_policy -? add a fine grained auditing policy to a table or view

    ? --

    ? -- INPUT PARAMETERS

    ? --?? object_schema?? - schema owning the table/view, current user if NULL

    ? --?? object_name???? - name of table or view

    ? --?? policy_name???? - name of policy to be added

    ? --?? audit_column??? - column to be audited

    ? --?? audit_condition - predicates for this policy

    ? --?? handler_schema? - schema where the event handler procedure is

    ? --?? handler_module? - name of the event handler

    ? --?? enable????????? - policy is enabled by DEFAULT

    ? --?? statement_type? - statement type a policy applies to (default SELECT)

    ? --?? audit_trail???? - Write sqltext and sqlbind into audit trail by default (DB_EXTENDED)

    ? --?? audit_column_options - option of using 'Any' or 'All' on audit columns for the policy

    ?

    ? PROCEDURE add_policy(object_schema?? IN VARCHAR2 := NULL ,

    ?????????????????????? object_name???? IN VARCHAR2 ,

    ?????????????????????? policy_name???? IN VARCHAR2 ,

    ?????????????????????? audit_condition IN VARCHAR2 := NULL ,

    ?????????????????????? audit_column??? IN VARCHAR2 := NULL ,

    ?????????????????????? handler_schema? IN VARCHAR2 := NULL ,

    ?????????????????????? handler_module? IN VARCHAR2 := NULL ,

    ?????????????????????? enable????????? IN BOOLEAN ? := TRUE ,

    ??????????????? ???????statement_types IN VARCHAR2 := 'SELECT' ,

    ?????????????????????? audit_trail???? IN PLS_INTEGER ? := 3 ,

    ?????????????????????? audit_column_opts IN BINARY_INTEGER DEFAULT 0 );

    ?

    ? -- drop_policy - drop a fine grained auditing policy from a table or view

    ? --

    ? -- INPUT PARAMETERS

    ? --?? object_schema?? - schema owning the table/view, current user if NULL

    ? --?? object_name???? - name of table or view

    ? --?? policy_name???? - name of policy to be dropped

    ?

    ? PROCEDURE drop_policy(object_schema IN VARCHAR2 := NULL ,

    ??????????????????????? object_name?? IN VARCHAR2 ,

    ??????????????????????? policy_name?? IN VARCHAR2 );

    ?

    ? -- enable_policy - enable a security policy for a table or view

    ? --

    ? -- INPUT PARAMETERS

    ? --?? object_schema?? - schema owning the table/view, current user if NULL

    ? --?? object_name???? - name of table or view

    ? --?? policy_name???? - name of policy to be enabled or disabled

    ?

    ? PROCEDURE enable_policy(object_schema IN VARCHAR2 := NULL ,

    ?????? ???????????????????object_name?? IN VARCHAR2 ,

    ????????????????????????? policy_name?? IN VARCHAR2 ,

    ????????????????????????? enable??????? IN BOOLEAN := TRUE );

    ?

    ? -- disable_policy - disable a security policy for a table or view

    ? --

    ? -- INPUT PARAMETERS

    ? --?? object_schema?? - schema owning the table/view, current user if NULL

    ? --?? object_name???? - name of table or view

    ? --?? policy_name???? - name of policy to be enabled or disabled

    ?

    ? PROCEDURE disable_policy(object_schema IN VARCHAR2 := NULL ,

    ?????????????????????????? object_name?? IN VARCHAR2 ,

    ?????????????????????????? policy_name?? IN VARCHAR2 );

    ?

    END dbms_fga;

    ******************************************************************************
    ?
    ?

    ??? 基本上每個部分的功能上面就已經說了,簡單得介紹一下需要注意的幾個地方:

    ?

    ??? 1、在審計策略生效之前,必須對表進行分析,因為只有在CBO模式,DBMS_FGA才能正確的工作

    ??? 2、指定audit_condition可以設定監控條件(例如select某部分記錄)

    ??? 3、可以指定audit_column來審計專門的字段

    ??? 4、statement_types包括“SELECT,UPDATE,INSERT.DELETE”四種,如需多種以','分開

    ?

    ?

    舉例:

    ?

    begin

    dbms_fga.add_policy(object_schema => 'wangxiaoqi',? --schema名(默認當前操作用戶)

    ??????????????????? object_name => 't_check',?????? --被操作object對象

    ??????????????????? policy_name => 't_check_audit', --policy名(唯一)

    ??????????????????? audit_condition => NULL,

    ??????????????????? audit_column => 'tno,type,modifydate', --監視的字段(默認為全部)

    ??????????????????? handler_schema => NULL,

    ??????????????????? handler_module => NULL,

    ??????????????????? enable => TRUE,

    ??????????????????? statement_types => 'insert,update,delete', --受影響的操作?

    ??????????????????? audit_trail => dbms_fga.DB_EXTENDED,?????? --默認值

    ??????????????????? audit_column_opts => dbms_fga.ANY_COLUMNS);--默認值

    end;

    /

    ?

    ?

    ??? 當然也可以不用 => 來指定每個參數,只需要列出前幾個就可以了,有默認值的參數如果不需要改變默認值,可以不給出。 但是必須要按照定義的順序來指定。例如:

    ?

    begin

    dbms_fga.add_policy('wangxiaoqi','T1','T1_AUDIT','B>=20','B');

    end;

    /

    ?

    ?

    ?

    ?
    ??? 最后看一下,如何查看審計的結果:
    ?
    ??? 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'); --查看記錄來源

    ??? 注:如果指定了XML類型的審計,則在V$XML_AUDIT_TRAIL試圖中查看信息.

    ?
    ?
    ?
    ?
    最后給一個對DBMS_FGA的詳細介紹文章:
    ***************************************
    《現實中的細粒度審計》 第一部分
    ?
    《現實中的細粒度審計》 第二部分

    《現實中的細粒度審計》 第三部分
    ***************************************
    ?
    posted on 2008-08-10 21:17 decode360 閱讀(1136) 評論(0)  編輯  收藏 所屬分類: 06.PLSQL
    主站蜘蛛池模板: 亚洲AV无码国产剧情| 国产精品亚洲аv无码播放| 亚洲最大中文字幕| 免费看又黄又无码的网站 | 国产精品免费久久| 国产啪亚洲国产精品无码| 国产成人亚洲精品电影| 亚洲高清成人一区二区三区| 黄页网址大全免费观看12网站| 亚洲高清视频一视频二视频三| 成年免费a级毛片| 亚洲精品美女久久久久99| 久久久久久影院久久久久免费精品国产小说| 亚洲精品国产美女久久久| 成人黄网站片免费视频| 亚洲最新永久在线观看| 亚洲免费综合色在线视频| 国产精品国产亚洲区艳妇糸列短篇| 国产乱色精品成人免费视频| 一级毛片免费播放男男| 久久久久久久尹人综合网亚洲| 免费无码一区二区三区| 亚洲精品国产日韩| 免费真实播放国产乱子伦| 两个人看的www免费视频中文| 亚洲福利电影一区二区?| 成人网站免费观看| 女人裸身j部免费视频无遮挡| 国产亚洲色婷婷久久99精品| 国内精品免费麻豆网站91麻豆 | 亚洲精品无码日韩国产不卡?V| 中文字幕av免费专区| 亚洲高清无在码在线无弹窗| 女性自慰aⅴ片高清免费| jizz免费在线观看| 亚洲国产精品久久网午夜| 日本一区二区三区日本免费| 国产色爽免费无码视频| 久久久久se色偷偷亚洲精品av | 18禁美女裸体免费网站| 日日摸日日碰夜夜爽亚洲|