有没有办法将oracle 10g中所有失败的sql语句记录到表或文件中?
失败的意思是糟糕的格式化sql语句或没有表或对象权限的sql语句.
您可能希望使用审计,如:
审计选择表,插入表,删除表,通过访问执行的程序,而不是成功的;
ACCESS用于每个语句(看起来像你想要的).通过SESSION将记录每个会话一个记录(高容量环境).
Oracle的内置审计比触发器具有更少的开销.其他答案包含的触发器允许您记录所需的确切信息.审计也只会捕获现有对象的命中.如果有人选择不存在的表(拼写错误或诸如此类),审计将无法捕获它.上面的触发器会.
安全指南中提供了更多信息:http://download.oracle.com/docs/cd/B19306_01/network.102/b14266/auditing.htm#i1011984