![](/img/trans.png)
[英]How Should I handle this Start and End Date for each address changes in Oracle?
[英]How to capture each changes in v$session in Oracle?
有什么方法可以捕獲v$session
表發生的每一項更改?
active session history
並不具有所有更改。 我試圖編寫一個PL / SQL塊,該塊每秒將v$session
表的所有內容復制到另一個表中。 但是,一秒鍾仍然太長,因為我錯過了許多活動/不活動/終止狀態更改。
是否可以編寫類似於觸發器的內容,以便在發生任何插入/更新/刪除操作時復制更改? 我試圖在v$session
上創建觸發器,但是看起來像不能為v$session
這樣的視圖創建觸發器。
基本上,我正在尋找可以捕獲v$session
所有更改的任何方法。
這樣,我計划進行一些趨勢分析以識別會話行為。
有什么幫助嗎?
PS:有人可以告訴我v$session
的刷新率是多少嗎? 有了這些信息,如果我在刷新率的時間間隔內捕獲了所有內容,那么我應該能夠捕獲到我認為的所有更改。
有什么建議么?
V$SESSION
建立在X$
表之上,因此沒有刷新率。 X$
表映射到Oracle內存結構。 因此它總是顯示當前數據,沒有讀取一致性模型。
V$ACTIVE_SESSION_HISTORY
基本每秒對所有會話進行采樣。 並且默認情況下,每10個樣本都會保存在“自動工作量存儲庫”和DBA_HIST_ACTIVE_SESS_HISTORY
。
如果您對會話狀態更改感興趣,則有用於連接和斷開操作的數據庫級觸發器以及DDL觸發器,因此您也可以檢測ALTER SYSTEM KILL SESSION
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.