2

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

CALL my_proc()

现在,如果在执行过程中连接丢失,服务器端会发生什么my_proc?程序会一直持续到完成,还是会中止?

4

1 回答 1

1

它应该被中止。当 TCP 连接丢失时,会向 Oracle 会话进程发送一个信号。会话要么立即退出,要么回滚事务并在之后退出。

因此,如果您终止客户端程序并且操作系统在执行中断并且事务回滚时将 FIN 数据包发送到 DB 服务器。

于 2013-11-07T15:45:28.907 回答