本知識點僅適用於oracle 9i以上的版本。
檢視表的資料變動情況請使用sql語句:select * from user_tab_modifications;
user_tab_modifications表的字段如下,從這個表中能夠輕鬆找到表中做的修改,刪除,增加記錄的情況
注意以及使用方法:
1、但這張表不是實時更新的,預設情況15分鐘更新一次,所以你更新一張表,可能在 user_tab_modifications裡不能立刻體現出來。
2、想要實時檢視也有辦法實現,那就是在執行select * from user_tab_modifications之前先執行exec dbms_stats.flush_database_monitoring_info;這個儲存過程目的就是立刻重新整理異動資訊的
3、當執行上面的儲存過程出錯時候,錯誤如下:
error at line 1:
ora-20000: insufficient privileges
ora-06512: at "sys.dbms_stats", line 2148
ora-06512: at "sys.dbms_stats", line 14135
ora-06512: at line 1
哈哈錯誤很明顯,沒有許可權,那麼提權!
4、為使用者提權,首先用管理員賬號登陸,授予某個賬戶執行dbms_stats.flush_database_monitoring_info的許可權。
grant analyze any to epplm(這裡是你的使用者名稱)
5、ok提權成功,那麼返回到原賬號(epplm),再執行exec dbms_stats.flush_database_monitoring_info,ok沒問題
6、此時再執行select * from user_tab_modifications,記錄出現了。
7、flush_database_monitoring_info儲存過程之後,所有之前的操作都將被提交!
8、對於oracle10i以及以上的版本,dml操作,都可以在該表中查到,因為這個功能預設是開啟的,如果沒有開啟,可以通過這個方法開啟:alter table t monitoring;
儲存過程:
create
or
replace
procedure
pro_analyze_and_tablemodify
is
2
begin
3
dbms_output.put_line(
'開始執行,過程很長,請等待'
);
4
dbms_stats.flush_database_monitoring_info;
--立刻重新整理
5
insert
into
tablemodifications
select
*
from
user_tab_modifications;
--兩個表結構一樣
6
pro_analyzetables;
7
dbms_output.put_line(
'執行成功'
);
8
end
pro_analyze_and_tablemodify;
Oracle 檢查表的資料變動
本知識點僅適用於oracle 9i以上的版本。檢視表的資料變動情況請使用sql語句 select from user tab modifications user tab modifications表的字段如下,從這個表中能夠輕鬆找到表中做的修改,刪除,增加記錄的情況 注意以及使用方法 1 但這張表...
Oracle優化檢查表
分類檢查專案 相關檔案或結果 狀態備註 日誌及檔案 oracle alert 日誌 bdump udump下是否存在明顯的報警 listener相關日誌 sql net日誌 引數 引數檔案 listener.ora tnsnames.ora 作業系統 作業系統版本 檢查作業系統補丁 節點名作業系統v...
編碼檢查表
使用本表的最好辦法是花兩周時間 評審一下你的設計和編碼實現。先花幾分鐘時間看一看列表,一旦熟悉了這些問題,就可 以靈活自如地按它寫 了。此時,就可以把錶放在一邊了。一般問題 你是否為程式建立了 debug 版本?你是否將發現的錯誤及時改正了?一你是否堅持徹底測試 即使耽誤了進度也在所不惜?你是否依靠...