请问 oracle 如何查询曾经执行失败的 sql 语句

2018-11-09 09:33:37 +08:00
 fyyz

我也是刚刚接触到 Oracle,现在遇到一个问题,就是一个 MFC 应用程序通过 ado 向 Oracle 里 insert 数据。

数据规模差不多是在百万行,但是到在大约第 10 万行到第 11 万行的时候,就会有个插入出错,Oracle 向我抛出的错误代码是 3092,查了下 3092 是语法错误,但是我在 MFC 应用程序中打上断点取出这行 insert 的语句放到 PL/SQL 中单独执行是没有任何问题的。

查了下 Oracle 的机制,我用如下语句查询:

select v$sql.SQL_TEXT,v$sql.MODULE,v$sql.first_load_time
from v$sql
where v$sql.MODULE = 'app.exe'
order by first_load_time desc;

但是用这种方法能查到的 SQL 语句都是执行成功的,执行失败的语句查不到。我断点处出现的 SQL 语句根本就没出现在上述 SQL 的执行结果里面。

所以我想问下,如何才能在 Oracle 里查询曾经执行失败的语句?

4254 次点击
所在节点    Oracle
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/505988

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX