【发布时间】:2011-06-09 12:48:19
【问题描述】:
我有一个多线程 Pro*C 程序,它在单独的连接和运行时上下文的每个线程中调用匿名存储过程。
我的匿名过程调用需要不同的时间框架才能从过程中返回,有时它甚至会无限期挂起。正如 AWR 日志中所示,我的 Oracle 过程只需 0.05 秒即可返回,但令人惊讶的是,Pro*C 调用需要 5 秒才能从过程中返回。
Pro*C 过程调用和实际 Oracle 过程执行之间涉及的处理活动是什么?是否有任何锁定或其他阻塞问题?
【问题讨论】:
-
对于阻塞,看我的回答:stackoverflow.com/questions/6046502/…
-
Mathew,您在此处指定的情况与我目前面临的情况不同,我的实际 oracle 过程调用在 0.3 秒内完成,但我对同一过程的 pro*c 调用大约需要 5 秒返回。
-
我是 tbone,而不是 Mathew ;-) 我的 (tbone) 答案具有查找阻塞会话信息(如果有)所需的 SQL ...您无限期地提到“挂起”,这听起来像是阻塞问题可能
-
Tbone ,存储过程(SQL)没有问题,但 proc 和 oracle 存储过程之间的接口似乎有问题。想知道从 proc 调用匿名 PL/SQL 语句时究竟会发生什么
-
每个线程都有自己的连接,还是您要共享?
标签: c oracle stored-procedures oracle-pro-c