<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
    主站蜘蛛池模板: 国产乱子伦精品免费女| 亚洲日韩激情无码一区| 久久亚洲私人国产精品vA| 亚洲乱妇熟女爽到高潮的片| a毛片在线免费观看| 日产乱码一卡二卡三免费| 亚洲久本草在线中文字幕| 婷婷亚洲综合五月天小说在线| 久久国产免费观看精品3| 亚洲v国产v天堂a无码久久| 亚洲一区二区三区在线| 在线免费观看h片| 国产精品免费电影| 亚洲春色另类小说| 久久久精品国产亚洲成人满18免费网站| 黄色成人网站免费无码av| 亚洲成色WWW久久网站| 精品免费AV一区二区三区| 日本视频一区在线观看免费| 一本久久a久久精品亚洲| 亚洲AV无码一区二区三区牲色| 1000部拍拍拍18勿入免费视频下载| 伊人久久精品亚洲午夜| 国产亚洲欧美日韩亚洲中文色| 午夜福利不卡片在线播放免费| 亚洲av永久无码制服河南实里| 色欲aⅴ亚洲情无码AV| 99爱在线精品免费观看| 亚洲AV午夜福利精品一区二区| 深夜特黄a级毛片免费播放| 夫妻免费无码V看片| 亚洲无砖砖区免费| 男人j进入女人j内部免费网站| 亚洲中文字幕伊人久久无码| 含羞草国产亚洲精品岁国产精品| 亚洲成在人线aⅴ免费毛片| 亚洲成人精品久久| 免费久久人人爽人人爽av| 亚洲精品456播放| 色婷婷亚洲一区二区三区| 成年性生交大片免费看|