<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
    主站蜘蛛池模板: 一级毛片高清免费播放| 免费a级毛片永久免费| ssswww日本免费网站片| 亚洲免费网站在线观看| 国精无码欧精品亚洲一区 | 亚洲日韩中文无码久久| 亚洲天堂在线视频| 国产无人区码卡二卡三卡免费| 永久免费av无码网站yy| 丰满妇女做a级毛片免费观看| 亚洲av乱码中文一区二区三区| 亚洲精品亚洲人成在线麻豆| 亚洲国产第一站精品蜜芽| 亚洲精品乱码久久久久久蜜桃 | 亚洲成av人片在线看片| 国产亚洲精品免费视频播放| 国产午夜免费秋霞影院| 成人在线视频免费| 无码av免费毛片一区二区| 无码国产精品一区二区免费16| a级午夜毛片免费一区二区| 午夜成人无码福利免费视频| 免费观看亚洲人成网站| 亚洲AV永久无码精品放毛片 | 日本成人在线免费观看| 国产在线观看片a免费观看| 亚欧人成精品免费观看| 99在线观看视频免费| 先锋影音资源片午夜在线观看视频免费播放| 国产免费播放一区二区| 国产免费牲交视频免费播放 | 国产在线19禁免费观看| 青青草国产免费久久久下载| 男人的好看免费观看在线视频 | 97久久国产亚洲精品超碰热| 亚洲午夜国产精品| 亚洲理论精品午夜电影| 亚洲日韩乱码中文无码蜜桃 | 人妻无码久久一区二区三区免费| 美女视频黄a视频全免费网站色窝| 国产偷伦视频免费观看|