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

首頁 > 數據庫 > Oracle > 正文

審計并報告Oracle數據庫中用戶活動

2024-08-29 13:50:53
字體:
來源:轉載
供稿:網友
從Oracle8i開始,Oracle引入了非凡的觸發器,這些觸發器并不是和非凡的DML事件相關聯的(DML事件,如,INSERT,UPDATE和DELETE)。這些系統級別的觸發器包括數據庫啟動觸發器,DDL觸發器和最終用戶登陸/注銷觸發器。 當Oracle提供了這些新的觸發器的功能后,卻還不清楚該如何使用這些觸發器來追蹤系統的使用情況。這篇文章描述了我是如何使用創建終端用戶登陸/注銷的方法來追蹤終端用戶的活動的。剛開始實行的追蹤終端用戶系統級觸發器是非常新的,就因為它非常的新,所以它在功能上還是不夠完善。 雖然用戶登陸/注銷觸發器會告訴你用戶登陸和用戶注銷的準確時間,可是代碼卻無法獲取在用戶會話階段所進行活動的任何信息。 這些用戶的登陸/注銷觸發器對于使用時間戳用戶的應用程序而言是非常有用的。所謂的時間戳用戶,就是那些在訪問應用程序的時候被給定一個唯一的Oracle用戶ID的人。不使用時間戳Oracle用戶ID的應用程序使用這些登陸/注銷觸發器可能沒有什么用。 既然我們知道了基本的知識,那么,讓我們看看該如何設計用戶審計表來追蹤用戶的活動。 設計一個用戶審計表 第一步就是創建一個用于存儲終端用戶登陸/注銷觸發器信息的Oracle表。為了合理地設計這些觸發器,讓我們先來看看系統級的觸發器。首先,我們在登陸的時候就會獲取以下信息: 用戶 ID—用戶的ID ,用于執行登陸操作; 會話 ID—Oracle為用戶控制會話的ID; 主機—計算機的名稱; 登陸時間—一個用戶登陸時間一樣的Oracle時間數據類型,精確到0.001秒。 現在,我們將獲得僅僅優先于用戶注銷的信息。當用戶在注銷的時候,Oracle系統級觸發器就可以提供這個用戶當前的會話狀態和活動信息: 最后的程序—用戶在注銷時執行的最后一個程序的名稱。 最后的活動—用戶在會話種執行的最后一個活動。 最后的模塊—用戶在注銷前訪問的最后一個模塊的名稱。 注銷時間—一個和用戶實際注銷時間一樣的一個Oracle時間數據類型,精確到0.001秒。 現在,我們知道了登陸和注銷的信息,那么我們如何搜集這些信息,并治理它們呢?讓我們來看看可用的選擇。 用戶表的標準化 因為用戶的登陸/注銷觸發器是兩個分離的實體,所以我們在設計支持存放這些信息的表的時候就可以有多種選擇。我們可以設計兩個隔離的表格:一個用戶登陸表和一個用戶注銷表。假如我們這樣做了,那么在把這兩個表連接起來的時候和判定哪個用戶的登陸引起了哪個用戶的注銷等等事情的時候就會有困難。這個投機取巧的方法可能會給錯誤的產生制造機會。諸如,用戶24在登陸前是如何注銷的?等等。 現在,讓我們考慮一個更好的選擇。為了很好的使用表的信息,我們可以創建一個數據庫,它里面包含一個單一的表,用于記錄登陸和注銷時間信息( Listing A)。這個方法就省去了連接表和關聯數據的麻煩。另外,我們還將創建一個區域,用于計算每個用戶在特定會話中所用去的時間。這個計算預先由觸發器做好,這樣就可以節省時間,并且可以創建一個豐富的報表,這個我們后面會提到。 設計一個登陸觸發器 一旦表格設計好了以后,接下來的步驟就是創建一個系統級的登陸觸發器,它可以在發生登陸時間的時候記錄盡可能多的信息。Listing B顯示了我創建的登陸審計觸發器。正像你看到的一樣,我在這個表中創建了一些在登陸時可以使用到的信息值: 用戶—建立Oracle會話的Oracle用戶ID 會話ID—使用Oracle的SYS context功能從v$session 表中直接獲取Oracle的會話ID。主機—使用Oracle的SYS context功能,在Oracle會話被創建的時候獲取主機名。請注重,對于使用Oracle并行服務器或者實際應用群的時候,獲取主機名是非常重要的,因為我們可能同時和許多不同的遠程主機都有會話連接。 登陸時間—獲取實際工作登陸的時間,精確到0.001秒。請注重我們是如何把登陸時間劃分成兩個區域的。產生一個登陸日期和一個登陸時間可以給最后的報表帶來很強的可讀性。 既然登陸觸發器已經創建好了,我們就需要創建一個注銷觸發器來獲取用戶完成會話的所有信息。設計一個注銷觸發器 為了使一個單獨的表格同時為登陸和注銷事件服務,首先就需要定位單個用戶會話的登陸行。正像你想的一樣,這個小技巧使得答應許多用戶使用同一個用戶名在同一時間登陸。為了對這個情況做限制,我使用了Oracle會話ID。你知道,在每個用戶登陸Oracle的時候,Oracle就會給每個用戶分配一個唯一的會話ID,并把這個ID添加到v$session表中去。我們可以像使用主鍵一樣來使用這個會話ID,這樣,這個用戶在注銷的時候,他的注銷信息就可以更新我們的用戶審計表。 現在讓我們來看一看在我們使用了注銷觸發器后可以使用的信息。首先,我們更新用戶的日志表,使它包含用戶(在注銷前)的最后一個活動。正像你在Listing C看見的一樣,更新最后一個活動的這個工作是通過使用SYS context功能,從表v$session中獲取活動屬性的信息而完成的。 接下來,我們更新我們的審計表來顯示在會話期間訪問的最后一個程序。再一次,我們使用SYS context功能,從v$session表中選擇程序屬性這一列。 我們更新用戶會話所訪問的最后一個模塊。這是通過在v$session表中選擇模塊這個屬性列,用它的內容來填充我們的用戶審計表來完成的。 最后也是最重要的一個步驟就是添加注銷時間,并計算用戶在會話中停留的時間。和Listing C代碼中顯示的一樣,通過使用注銷時間數據類型來更新我們的用戶登陸表然后計算會話所用的時間。像我早先提及的一樣,預先計算每個用戶會話的時間將使得審計表中的每一個記錄都非常有用,因為它顯示了會話過程中的持續時間。 讓我們來檢查一下系統能夠產生的幾個報表。為了符合非凡需要,你可以充實/修改一下這些報表。現在,預先計算會話所用時間就顯得非常重要了:它可以創建一個更有用的報表。 用戶活動報表
使用用戶審計表來產生報表可以給作為Oracle數據庫治理員得你提供很多重要的信息。我們的第一個報表就是計算總的會話時間,請看Listing D。 我們可以創建一個的簡單查詢來訪問我們審計表,用于顯示日期、時間、用戶ID和用戶使用系統的時間。雖然很簡單,但是它可以給出每個用戶在我們的系統上使用的時間。 這個信息在有不同用戶ID使用系統不同區域的時候非凡有用。例如,假如這些Oracle用戶ID可以直接顯示在屏幕上的話,Oracle治理員就可以得知Oracle應用程序每個區域的使用率。下面,讓我們來看看另外一種類型的報表。 具體的用戶登陸報表 我們也可以使用同樣的表來顯示在特定時間使用我們系統的用戶數量。這個信息對于負責跟蹤用戶活動的Oracle數據庫治理員非凡有效。 通過在用戶審計表中查詢用戶登陸信息,我們可以在任何給定時間獲得精確的用戶對話數量。這個信息可以像在Listing E中顯示的一樣。 這些信息可以輸入微軟的Excel電子表格中,并擴展成為線條圖表,如下所示。
審計并報告Oracle數據庫中用戶活動
正像你看到的,這個圖表清楚地顯示了在一天中每個小時用戶的活動情況。一旦你獲得了使用你系統的用戶的活動情況,你就可以總結一周里每日的信息或是總結一日里每小時的信息。這就提供了關于用戶使用系統的一個信號曲線,通過使用這些信號,我們可以描繪出用戶的活動情況。例如,我們可能會發現在每個周三下午一點的時候用戶活動非常頻繁。通過使用用戶審計表,我們可以很快地確定這些用戶的并調整Oracle來適應情況的變化,以便于用戶的使用。 跟蹤 使用系統級觸發器,相關的DDL、系統錯誤和用戶活動都可以很輕易地被捕捉到。然而,系統級觸發器并不像想象中具有那么多功能,Oracle指出,正在加強系統級觸發器的功能,這一版本的Oracle(Oracle 10g)將在2004年發布。 聰明地使用系統登陸/注銷觸發器可以提供一個很簡單而且又很可靠的跟蹤機制,用來跟蹤Oracle用戶的活動信息。對于那些長時間跟蹤用戶活動的Oracle治理員而言,用戶審計表可以為他們提供豐富的用戶信息,包括用戶使用信息,這個信息可以以每日每時的狀態或以每周每日的狀態顯示。


上一篇:Oracle 9i 數據庫里指針共享的增強

下一篇:用Windows腳本宿主自動化Oracle工具

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
色综久久综合桃花网| 在线视频中文亚洲| 日韩精品免费在线| 亚洲人高潮女人毛茸茸| 国产精品wwwwww| 亚洲精品久久视频| 欧美人与物videos| 亚洲永久免费观看| 亚洲人成网站999久久久综合| 精品偷拍一区二区三区在线看| 欧美在线一级va免费观看| 国产精品久久久久影院日本| 日韩中文字幕在线| 亚洲精品视频在线观看视频| 国产精品日日做人人爱| 亚洲精品v欧美精品v日韩精品| 国产成人jvid在线播放| 欧美精品一区在线播放| 欧美成人午夜激情视频| 日韩中文字幕在线免费观看| 欧美裸身视频免费观看| 亚洲性无码av在线| 2019中文字幕免费视频| www.亚洲人.com| 亚洲色在线视频| 中文字幕不卡av| 国产精品r级在线| 日韩在线视频国产| 久久99久久久久久久噜噜| 欧美日韩在线免费| 精品国产乱码久久久久酒店| 久久久噜久噜久久综合| 久久精品成人一区二区三区| 伊人伊成久久人综合网小说| 成人黄色激情网| 色噜噜狠狠狠综合曰曰曰88av| 色综合视频一区中文字幕| 日韩电影大全免费观看2023年上| 欧洲一区二区视频| 色小说视频一区| 亚洲一区二区精品| 日韩一级裸体免费视频| 黑丝美女久久久| 亚洲**2019国产| 欧美日韩亚洲视频一区| 国产精品福利网| 欧美精品电影在线| 久久综合88中文色鬼| 欧美性猛交xxxxx免费看| 91色p视频在线| 欧美黑人极品猛少妇色xxxxx| 亚洲欧美日韩一区二区在线| 欧美性色xo影院| 久久夜色精品国产欧美乱| www.xxxx欧美| 91精品国产综合久久香蕉的用户体验| 欧美激情久久久| 国产精品第10页| 国内外成人免费激情在线视频网站| 国产精品h片在线播放| 麻豆乱码国产一区二区三区| 欧美日韩国产综合视频在线观看中文| 久久久精品国产| 精品国产1区2区| 国产91色在线免费| 国产精品视频网址| 成人在线免费观看视视频| 国产精品久久久久久搜索| 尤物精品国产第一福利三区| 亚洲天堂av电影| 亚洲国产欧美日韩精品| 亚洲精品在线看| 欧美精品电影免费在线观看| 久久久极品av| 伊人久久久久久久久久久久久| 亚洲一区二区久久久久久久| 亚洲欧美国产va在线影院| 日韩精品中文字| 国产精品女主播视频| 国产精品久久久久999| 国产精品久久久久久久久久久久| 成人在线免费观看视视频| 国产一区二区三区在线视频| 国产免费成人av| 久久影院模特热| 精品欧美激情精品一区| 国产福利精品av综合导导航| 亚洲伦理中文字幕| 国产日韩欧美夫妻视频在线观看| 国产精品久久久久久久一区探花| 国产精品你懂得| 国产精品第3页| 中文字幕亚洲无线码在线一区| 亚洲国产精品久久久久秋霞不卡| 亚洲午夜未满十八勿入免费观看全集| 成人有码视频在线播放| 久久亚洲成人精品| 奇米4444一区二区三区| 日韩在线视频观看| 亚洲bt欧美bt日本bt| 国产亚洲精品久久久久久牛牛| 欧美激情免费看| 欧美成人一二三| 亚洲国产高清自拍| 国产精品久久综合av爱欲tv| 久久99国产综合精品女同| 欧美一级大胆视频| 日韩经典中文字幕在线观看| 精品久久久久久久久国产字幕| 国产精品老女人精品视频| 在线观看中文字幕亚洲| 国产一区二区三区免费视频| 久久久97精品| 欧美极品少妇xxxxⅹ裸体艺术| 久久影视电视剧凤归四时歌| 久久成人在线视频| 日本欧美精品在线| 精品久久久久久久大神国产| 国产欧美精品xxxx另类| 国产精品高清在线观看| 亚洲视频精品在线| www高清在线视频日韩欧美| 亚洲色图18p| 久久久www成人免费精品张筱雨| 国产视频精品va久久久久久| 亚洲精品国产精品国自产在线| 欧美在线国产精品| 日韩国产欧美精品一区二区三区| 一本一本久久a久久精品综合小说| 国产精品欧美久久久| 成人免费视频xnxx.com| 成人网在线视频| 国产精品久久久久久久av电影| 欧美网站在线观看| 亚洲va电影大全| 国产精品久久久久久久app| 精品二区三区线观看| 91精品视频在线播放| 中日韩美女免费视频网址在线观看| 日韩中文在线中文网在线观看| 亚洲国产精品电影在线观看| 久久人人爽人人| 九九精品视频在线观看| 欧美性视频精品| 欧美极品美女视频网站在线观看免费| 亚洲高清一区二| 色中色综合影院手机版在线观看| 国产在线观看精品一区二区三区| 国产一区二区日韩精品欧美精品| 国产精品久久国产精品99gif| 欧美日韩激情小视频| 精品国产91久久久久久| 日韩av网站导航| 影音先锋欧美精品| 精品久久久久久中文字幕| 亚洲午夜色婷婷在线| 亚洲伊人久久大香线蕉av| 亚洲精品福利资源站| 亚洲精品资源美女情侣酒店| 91av在线不卡| 中文字幕国产亚洲| 久久久久免费精品国产| 精品美女久久久久久免费| 91高清视频在线免费观看|