ORACLE 11g 知道插入记录失败的详细信息

ORACLE 11g Know Insert Record Details which Failed to insert

我已经开始审核用户对我的 oracle 11g 数据库中任何 table 失败的插入记录。我用下面的命令来做同样的事情。

AUDIT INSERT ANY TABLE BY SHENA BY ACCESS WHENEVER NOT SUCCESSFUL;

我想知道什么时候插入记录会失败,请问插入失败的记录是什么 table.

我们在哪里可以看到这样的信息。或者,如果您知道任何其他审计方式,请提出建议。我知道的一种方法是在插入时编写触发器。在该触发器句柄中插入失败 EXCEPTION 并将这些值保存到某些 table.

使用具有以下控制文件格式的 SQL Loader Utility。

options(skip=1,rows=65534,errors=65534,readsize=16777216,bindsize=16777216)
load data
infile 'c:\users\shena\desktop.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文件中获取rejected(rejected because of data type mismatch and business rule violation)记录。常规路径加载是默认选项。

下面URL可以得到详细的知识

https://youtu.be/eovTBGAc2RI

共有 4 个视频。很有帮助。