Oracle
ORACLE 11g 知道插入失敗的插入記錄詳情
我已經開始審核使用者在我的 oracle 11g 數據庫中的任何表失敗時的插入記錄。我已經使用以下命令來做同樣的事情。
AUDIT INSERT ANY TABLE BY SHENA BY ACCESS WHENEVER NOT SUCCESSFUL;
我想知道每當記錄插入失敗時,我能知道哪些記錄未能插入到表中。
我們在哪裡可以看到這樣的資訊。或者,如果您知道任何其他審計方式,請提出建議。我知道的一種方法是在插入時編寫觸發器。在該觸發器中處理插入失敗異常並將這些值保存到某個表中。
使用具有以下控製文件格式的 SQL 載入器實用程序。
options(skip=1,rows=65534,errors=65534,readsize=16777216,bindsize=16777216) load data infile 'c:\users\shena\desktop\1.txt' badfile 'C:\Users\shena\Desktop\test.bad' discardfile 'C:\Users\shena\Desktop\test.dsc' log 'C:\Users\shena\Desktop\test.log' append into table ma_basic_bd fields terminated by '|' optionally enclosed by '"' trailing nullcols (fs_perm_sec_id, "DATE" "to_date(:DATE,'YYYY-MM-DD')", adjdate "to_date(:adjdate,'YYYY-MM-DD')", currency, p_price, p_price_open, p_price_high, p_price_low, p_volume)
要求您使用正常路徑載入,以便我們可以在 .bad 文件中獲取被拒絕(由於數據類型不匹配和違反業務規則而被拒絕)記錄。正常路徑載入是預設選項。
以下網址可用於詳細了解。
總共有 4 個影片。很有幫助。