亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(十)

2024-08-29 13:46:58
字體:
來源:轉載
供稿:網友
Oracle Database 10 g : 為 DBA 提供的最佳前 20 位的特性(十)  第 10 周
審計告知一切 Oracle 數據庫 10 g 審計以一種非常具體的級別捕捉用戶行為,它可以消除手動的、基于觸發器的審計 假定用戶 Joe 具有更新那張表的權限,并按如下所示的方式更新了表中的一行數據。 update SCOTT.EMP set salary = 12000 where empno = 123456; 您如何在數據庫中跟蹤這種行為呢?在 Oracle 9 i 數據庫及其較低版本中,審計只能捕捉 “ 誰 ” 執行此操作,而不能捕捉執行了 “ 什么 ” 內容。例如,它讓您知道 Joe 更新了 SCOTT 所有的表 EMP ,但它不會顯示他更新了該表中員工號為 123456 的薪水列。它不會顯示更改前的薪水列的值 — 要捕捉如此具體的更改,您將不得不編寫您自己的觸發器來捕捉更改前的值,或使用 Log Miner 將它們從存檔日志中檢索出來。 這兩種方法都能讓您跟蹤更改的內容并記錄更改前的值,但其成本非常高。使用觸發器編寫審計數據可能會對性能產生主要的影響;鑒于此,在某些情況下(如在第三方應用中)禁止使用用戶定義的觸發器。 Log Miner 不會影響性能,但它是依靠于存檔日志的可用性來跟蹤更改的。 細粒度審計 (FGA) ,是在 Oracle 9 i 中引入的,能夠記錄 SCN 號和行級的更改以重建舊的數據,但是它們只能用于 select 語句,而不能用于 DML ,如 update 、 insert 和 delete 語句。因此,對于 Oracle 數據庫 10 g 之前的版本,使用觸發器雖然對于以行級跟蹤用戶初始的更改是沒有吸引力的選擇 , 但它也是唯一可靠的方法。 隨著 Oracle 10 g 的到來,由于審計能力的兩個重大的改變,這些限制也隨之而去。由于兩種審計類型涉及到 — 標準審計(在所有版本中均可用)和細粒度審計(在 Oracle 9 i 及其以上版本中可用) — 我們將分別對它們進行處理,然后看看它們是如何相互補充以提供一個單一的、強大的跟蹤功能。 新特性 首先, FGA 現在除了支持 select 語句外,還支持 DMA 語句。這些更改都記錄在同一個位置,即表 FGA_LOG$ 中,并通過 DBA_FGA_AUDIT_TRAIL 視圖顯示出來。除了 DML 外,您現在可以選擇只有在訪問了所有或者甚至很少的相關的列后,才可以觸發一個線索。(有關 FGA 在 Oracle 10 g 中是如何工作的具體信息,請參閱該主題的我的 技術文章 的內容。) 標準審計,是由 SQL 命令 AUDIT 執行的,可用于為特定的對象快速、輕易地設置跟蹤。例如,假如您想跟蹤對 Scott 所擁有的表 EMP 的所有更新,您可以發出如下命令: audit UPDATE on SCOTT.EMP by access; 任何用戶每一次更新表 SCOTT.EMP 時,該命令都會把所有的更新記錄到審計跟蹤表 AUD$ 中,可以通過 DBA_AUDIT_TRAIL 視圖來查看。 這個功能對于 Oracle 10 g 之前的版本也是可用的。但是,在那些版本中,寫到跟蹤中的信息僅限于少數相關的項,如:發出該語句的用戶、時間、終端標識號等等;它缺少某些重要的信息,如綁定變量的值。在 Oracle 10 g 中,除了以前的版本中所收集到的內容之外,審計操作還捕捉了許多這些重要的信息片斷。用于審計的原始表 AUD$ ,包含若干個用于記錄它們的新列,相應地, DBA_AUDIT_TRAIL 視圖也包含這些列。讓我們具體地研究一下。 EXTENDED_TIMESTAMP 。 該列以 TIMESTAMP (6) 格式記錄了審計記錄的時間戳,它是用格林尼治標準時間(也稱為全球統一時間)來記錄時間的,其小數點后的秒數到 9 為止,并且帶有時區信息。以這種格式存儲的時間的一個例子如下所示。 2004-3-13 18.10.13 .123456000 -5:0 日期表示為 2004 年 3 月 13 日,是美國的東部標準時間,它比全球統一時間晚 5 小時(用 -5.0 來表示)。 這種以擴展格式顯示的時間有助于把審計跟蹤精確定位到一個更窄的時間間隔中,從而增強了它們的用途,非凡是在數據庫橫跨多個時區時更是如此。 GLOBAL_UID 和 PROXY_sessionID 。 當使用某種身份治理組件如 Oracle Internet Directory 進行身份驗證時,用戶對數據庫的訪問權限稍有不同。例如,當將他們訪問數據庫時,可能將他們視為企業用戶。審計這些用戶不會在 DBA_AUDIT_TRAIL 視圖的 USERNAME 列中記錄他們的企業用戶標識號,以使該信息無用。在 Oracle 數據庫 10 g 中,全局(或企業)用戶唯一的標識號記錄在 GLOBAL_UID 列中,并且沒有作進一步的處理或設置。該列可用于查詢目錄服務器,以查找有關該企業用戶的完整的具體信息。 有時企業用戶也許是通過一個代理用戶連接到數據庫,非凡是在多層應用中??梢酝ㄟ^命令為用戶提供代理身份驗證
alter user scott grant connect to appuser; 該命令將答應用戶 SCOTT 以 APPUSER 的身份,作為代理用戶連接到數據庫。在那種情況下, COMMENT_TEXT 列將通過存儲值 PROXY 來記錄事實;但是對于 Oracle 9 i 而言,代理用戶的會話標識號將不會進行記錄。在 Oracle 10 g 中, PROXY_SESSIONID 列記錄了它,用于精確標識代理會話。 INSTANCE_NUMBER 。 在 Oracle 真正應用集群 (RAC) 環境中,它可能有助于知道在進行更改時用戶連接的是哪一個特定的例程。在 Oracle 10 g 中,該列記錄了例程號,它是由該例程的初始化參數文件指定的。 OS_PROCESS 。 在 Oracle 9 i 及其較低的版本中,只會在審計跟蹤中記錄 SID 值;而不會記錄操作系統進程標識號。但是,服務器進程的操作系統進程標識號隨后可能是必要的,例如,用于交叉引用一個線索文件。在 Oracle 10 g 中,該值也記錄在該列中。 TRANSACTIONID 。 在此就產生了最要害的信息價格。假定用戶發出下面的命令 update CLASS set size = 10 where class_id = 123; commit; 該命令獲取一個事務項,并且生成一個審計記錄。但是,您怎樣知道該審計記錄真正記錄的是什么內容呢?假如記錄是一個事務,該事務標識號就會存儲在該列中。您可以使用它把審計跟蹤與 FlashBACK_TRANSACTION_QUERY 視圖聯接起來。下面是該視圖中的列的一個小示例。 select start_scn, start_timestamp, commit_scn, commit_timestamp, undo_change#, row_id, undo_sql from flashback_transaction_query where xid = '<the transaction id>'; 除了記錄對該事務所做的通常的統計外,如 undo change# 、 rowid 等等, Oracle 10 g 還可以在 UNDO_SQL 列中記錄撤消對事務所作更改 SQL 命令,以及在 ROW_ID 列顯示的受影響行的 rowid 。 系統更改號。 最終,它記錄更改前的值。您怎樣執行該操作呢?按 Oracle 9 i 中的 FGA 所指出的那樣,更改前的值可以通過閃回查詢來獲取。但是您需要知道該更改的系統更改號 (SCN) ,它可以在審計跟蹤的該列中捕捉到。您可以發出下面的命令 select size from class as of SCN 123456 where where class_id = 123; 這將顯示用戶所看到的內容或更改前的值。 擴展的 DB 審計 記住我們最初的愛好:為了捕捉用戶發出的 SQL 語句,以及在標準審計中無法捕捉的綁定變量。在 Oracle 數據庫 10 g 中進入增強型審計,其中這些任務變得如同更改一個簡單的初始化參數一樣微不足道。只需把下列代碼行放入參數文件中。 audit_trail = db_extended 假如使用該參數,該參數將在各列中記錄 SQL 文本和綁定變量值。該值在早期的版本中不可用。 觸發器 何時是 必要的 避免誤檢。 審計跟蹤是通過來自于原始事務的自治事務生成的。因此,即使原始事務回滾,它們也會提交。 有一個簡單例子演示了這一點。假定我們已在表 CLASS 上為 UPDATE 設置了審計。用戶發出一條語句以將數據值從 20 更新為 10 ,然后將其回滾,如下所示。 update class set size = 10 where class_id = 123; rollback 現在該列的 SIZE 值將變成 20 ,而不是 10 ,似乎用戶從未做過任何事情。但是,即使回滾,審計跟蹤也將捕捉該更改。在某些情況下這可能不是人們所想要的,尤其是用戶執行了許多回滾時。在這種情況下,您也許不得不使用觸發器僅捕捉已提交的更改。假如表 CLASS 上有一個觸發器用于將記錄插入到用戶定義的審計線索中,在回滾的基礎上審計線索也被回滾。 捕捉之前更改的值。 Oracle 提供的審計跟蹤不會顯示更改前后的值。例如,上述的更改將創建一個審計記錄,它顯示了語句和更改的 SCN 號,但沒有顯示更改前的值 (20) ??梢允褂瞄W回查詢通過 SCN 號獲取該值,但是它依靠于在撤消段中可用的信息。假如該信息無法在由 undo_retention 時間段指定的期限內捕捉到,就永遠不能檢索出先前的值來。使用觸發器保證了無需依靠于 undo_retention 時間段即可捕捉到該值,并且有時很有用。在這兩種環境下,您可以決定繼續使用觸發器以細粒度的級別來記錄審計跟蹤。 統一的審計跟蹤 由于 FGA 和標準審計捕捉的是相同類型的信息,當把它們結合起來使用時可以提供許多重要的信息。 Oracle 數據庫 10 g 把這些跟蹤合并到一個稱為 DBA_COMMON_AUDIT_TRAIL 的通用跟蹤中,它是 DBA_AUDIT_TRAIL 視圖和 DBA_FGA_AUDIT_TRAIL 視圖的一個 UNION ALL 視圖。但是,在這兩種審計類型之間有一些重大的區別。 結論 在 Oracle 10 g 中,審計已經從一個單純的 “ 操作記錄者 ” 成長為一個 “ 事實記錄機制 ” ,它能以一個非常具體的級別來捕捉用戶的行為,這可以消除您對手動的、基于觸發器的審計的需要。它還結合了標準審計和 FGA 的跟蹤,這使其更易于跟蹤數據庫訪問,而不用考慮它是如何生成的。 有關附加信息,請參閱 Oracle Database Security Guide 10g 第 1 版 (10.1) 中的 第 11 章 的內容。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
九九热精品视频国产| 亚洲视频在线观看| 欧美日韩国产精品| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品视频一区二区三区四| 亚洲欧美制服综合另类| 92看片淫黄大片看国产片| 日韩中文字幕亚洲| 92裸体在线视频网站| 亚洲一区二区中文字幕| 91精品国产免费久久久久久| 国产精品情侣自拍| 亚洲最大成人免费视频| 欧美又大又硬又粗bbbbb| 色妞在线综合亚洲欧美| 久久国产加勒比精品无码| 日韩成人中文电影| 国产精品午夜视频| 国产精品日韩欧美综合| 亚洲人成网在线播放| 91成人在线观看国产| 久久精品一本久久99精品| 久久99精品久久久久久噜噜| 亚洲裸体xxxx| 国产精品久久久久免费a∨大胸| 国产高清在线不卡| 成人黄色免费片| 日韩的一区二区| 秋霞av国产精品一区| 精品夜色国产国偷在线| 92裸体在线视频网站| 欧美亚洲日本网站| 精品一区二区三区三区| 浅井舞香一区二区| 亚洲欧美在线一区| 久久久免费高清电视剧观看| 欧美日韩国产成人高清视频| 中文字幕av一区| 久久综合伊人77777蜜臀| 欧美日韩国产丝袜另类| 91爱视频在线| 色无极亚洲影院| 日韩欧美中文字幕在线观看| 国产中文欧美精品| 亚洲人成绝费网站色www| 成人精品一区二区三区电影免费| 日韩在线观看免费全| 亚洲欧美三级伦理| 久久久噜噜噜久久久| 91免费人成网站在线观看18| 久热爱精品视频线路一| 亚洲欧美成人在线| 日韩精品在线第一页| 亚洲第一视频在线观看| 久久成年人视频| 亚洲男人天堂古典| 日韩福利伦理影院免费| 欧美一级大片在线观看| 欧美洲成人男女午夜视频| 免费91麻豆精品国产自产在线观看| 国产精品一区二区av影院萌芽| 欧美性资源免费| 成人黄色在线观看| 亚洲国产精品电影在线观看| 亚洲国产免费av| 亚洲在线第一页| 日韩hd视频在线观看| 日韩在线欧美在线| 草民午夜欧美限制a级福利片| 91在线视频精品| 亚洲欧美国产日韩天堂区| 国产主播在线一区| 国内精品美女av在线播放| 亚洲美女免费精品视频在线观看| 国产91精品高潮白浆喷水| 欧美一区二区三区……| 欧美猛交ⅹxxx乱大交视频| 久久久999精品| 色yeye香蕉凹凸一区二区av| 久久久久久久久国产精品| 91精品国产91久久久久福利| 亚洲jizzjizz日本少妇| 国产视频丨精品|在线观看| 成人精品久久一区二区三区| 国产三级精品网站| 不卡毛片在线看| 日韩欧美在线视频观看| 欧美成aaa人片免费看| 亚洲欧美日韩高清| 亚洲精品色婷婷福利天堂| 久久久久久久一区二区三区| 国产精品爱啪在线线免费观看| 最近2019年手机中文字幕| 国产精品va在线播放我和闺蜜| 亚洲欧洲在线播放| 亚洲free嫩bbb| 欧美成人精品在线| 中文字幕日韩在线播放| 久久久久亚洲精品成人网小说| 国产亚洲日本欧美韩国| 日韩综合视频在线观看| 国产精品视频久久| 久久精品国产电影| 欧美激情中文网| 国产美女91呻吟求| 欧美精品生活片| 国产精品高清免费在线观看| 中国日韩欧美久久久久久久久| 国产丝袜高跟一区| 亚洲精品免费网站| 亚洲香蕉伊综合在人在线视看| 欧美日韩午夜视频在线观看| 欧美专区中文字幕| 国产精品大片wwwwww| 欧美夫妻性生活xx| 国产精品jizz在线观看麻豆| 午夜欧美不卡精品aaaaa| 日韩精品在线第一页| 日韩精品中文字幕有码专区| 欧美香蕉大胸在线视频观看| 亚洲精品视频在线播放| 亚洲无限乱码一二三四麻| 久久精品成人一区二区三区| 欧美视频中文字幕在线| 亚洲小视频在线观看| 国产精品国产三级国产aⅴ9色| 亚洲自拍偷拍视频| 日韩在线观看免费| 57pao成人永久免费视频| 日韩亚洲综合在线| 亚洲午夜性刺激影院| 国产精品久久久久国产a级| 欧美另类在线播放| 国产欧美精品xxxx另类| 亚洲免费av片| 亚洲a一级视频| 日韩av一区在线| 亚洲片av在线| 欧美在线不卡区| 亚洲精品成人久久久| 亚洲欧美成人一区二区在线电影| 国产精品露脸av在线| 色yeye香蕉凹凸一区二区av| 日韩一区二区精品视频| 91在线观看免费| 精品久久久999| 亚洲男人天堂久| 国产香蕉精品视频一区二区三区| 在线观看免费高清视频97| 色婷婷av一区二区三区久久| 亚洲成人久久电影| 欧美性色xo影院| 日韩一二三在线视频播| 在线看欧美日韩| 欧美美最猛性xxxxxx| 久久香蕉精品香蕉| 欧美国产亚洲视频| 美日韩精品视频免费看| 夜夜狂射影院欧美极品| 高清欧美电影在线| 国产成人a亚洲精品| 欧美日韩成人在线播放| 欧美亚洲激情在线| 久久久久中文字幕2018|