1

我需要测试我的应用程序是否存在网络问题的稳健性。但我无法物理访问网络。我只能以 SYS 身份访问 Oracle。是否有可能静默杀死用户会话,因此当应用程序尝试从连接 jdbc 驱动程序获取数据时会生成错误 17410?

oracle: No more data to read from socket 

当我尝试通过 sid 终止会话时 - oracle 发送有关终止会话的警报,这不是 17410 错误。

4

2 回答 2

1

您可以使用 PRAGMA EXCEPTION_INIT 引发任何错误代码。

DECLARE
  e_no_more_data EXCEPTION
  pragma exception_init( e_no_more_data , -17410  );
BEGIN
  RAISE e_no_more_data;
END;
/

不知道是不是真的模拟了错误。

于 2012-07-08T21:01:46.453 回答
0

如果您只能访问数据库并且您知道要终止的会话的 SID 和序列号,则可以发出

ALTER SYSTEM KILL SESSION 'sid,serial#';

检查此链接以获取更多选项。

http://www.oracle-base.com/articles/misc/killing-oracle-sessions.php

于 2012-07-07T03:27:37.580 回答