ORA-03143: Process ID: string Thread ID: string

文档解释

ORA-03143: Process ID: string Thread ID: string

Cause: Connection was lost for the specified process ID and thread ID. This is either due to session being killed or network problems.

Action: Reconnect and if error persists, contact Oracle Support Services.

ORA-03143,Wrong process ID类型的错误,通常出现在数据库客户端请求一个不存在的存储过程或视图。

官方解释

这个错误消息应该是一个逻辑性错误,用户提供了一个无效的过程ID,或者进程被用户终止了。若存在多个会话,就可能出现这个错误,这个错误可能有多种可能原因,需要通过排除法来查找无效的过程ID的原因。

常见案例

正常处理方法及步骤

1.查看Session longops,找到属于此错误的Session:

SELECT sid, serial#, username, program FROM v$session WHERE sid=123;

2. 查询当前正在执行的操作:

SELECT s.sid, s.serial#, s.username, s.program, o.opname, o.target, o.sofar, o.totalwork FROM v$session s, v$session_longops o WHERE s.sid = o.sid AND o.sid = 123;

3. 可能要求输出SQL之前的会话进程信息,如下:

SELECT /*+ ORDERED */ s.sid, s.serial#, s.program, sql_text FROM v$sqltext_with_newlines s WHERE s.address =

(SELECT s.prev_sql_addr FROM v$session s WHERE s.sid = 123);

4. 检查系统参数的设置,检查存储过程是否存在:

SELECT * FROM dba_objects WHERE object_name = ‘YOUR_PROCEDURE_NAME’

5. 如果发现无效的过程ID,用户可以使用ALTER SYSTEM KILL SESSION命令来对关闭对应会话,以释放系统资源。

ALTER SYSTEM KILL SESSION ‘123, 74723’

你可能感兴趣的