Oracle 当连接丢失时,数据库服务器上的pl/sql过程会发生什么情况?

Oracle 当连接丢失时,数据库服务器上的pl/sql过程会发生什么情况?,oracle,stored-procedures,plsql,Oracle,Stored Procedures,Plsql,有一个PL/SQL过程需要大约15分钟才能执行。从客户端程序创建连接并执行以下语句: CALL my_proc() 现在,如果在执行my_proc期间连接丢失,服务器端会发生什么情况?该过程会一直进行到完成,还是会中止?应该中止。当TCP连接丢失时,会向Oracle会话进程发送一个信号。会话将立即退出,或者回滚事务,然后退出 所以,如果您杀死一个客户端程序,并且当执行被中断并且事务被回滚时,操作系统将FIN数据包发送到DB服务器。客户端程序是什么?有什么特别的设置吗?通常应该继续,但不会显示结

有一个PL/SQL过程需要大约15分钟才能执行。从客户端程序创建连接并执行以下语句:

CALL my_proc()

现在,如果在执行
my_proc
期间连接丢失,服务器端会发生什么情况?该过程会一直进行到完成,还是会中止?

应该中止。当TCP连接丢失时,会向Oracle会话进程发送一个信号。会话将立即退出,或者回滚事务,然后退出


所以,如果您杀死一个客户端程序,并且当执行被中断并且事务被回滚时,操作系统将FIN数据包发送到DB服务器。

客户端程序是什么?有什么特别的设置吗?通常应该继续,但不会显示结果。您可以在DB日志(或Toad会话浏览器)中检查过程的状态。在这种情况下,客户端程序是使用OCI的Windows服务。