2012-01-10 80 views
9

是否有可能找出在Oracle数据库中执行的所有SQL查询及其返回代码?特别是我想获得所有sql查询,其中有负面的sql代码(错误)。如何在ORACLE中获取所有执行的SQL查询?

谢谢你的回答。

+2

这个问题似乎要问关于审计,但这是我第一次听到*否定的SQL *': - ?' – 2012-01-10 12:30:04

+1

带山羊胡的SQL代码? [/经典Star Trek] – 2012-01-10 12:33:23

+0

@Alvaro'sqlcode'是Oracle中执行语句的状态值。 – 2012-01-10 12:33:41

回答

2

执行过的所有东西?这需要启用auditing和细粒度的审计才能启动 - 并且审计数据库中的每条语句都可以生成大量数据。

0

也许你可以一(匿名)PL/SQL块中执行您的查询,然后使用它的异常处理程序赶上“负面”的语句:

begin 
    insert into a values (1, 4/0); 
exception when others then 
    ... error has happened, 
    ... use 'sqlerrm' and 'sqlcode' 
    ... for further analysis 
end; 
+0

是的,这是方法,但我们有大约2000个PL/SQL块,我真的不想为每个过程写它/功能/触发器 – 2012-01-11 12:50:27

-1

如果你想任何错误的解决方案代码比请检查出Oracle文档中的错误消息pdf,其中你找出了各种错误代码及其描述....

相关问题