为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:centos
【CPU】:x86
【问题描述】*:
第1 行附近出现错误[-6407]:锁超时
第1 行附近出现错误[-3325]:包/对象[PKG_PRJDEV_GTJJ]解析失败
也不是所有都错,有时候错,
包比较大,1万多行
create or replace package "PKG_PRJDEV_GTJJ" as
PROCEDURE OBJECT_POOL_LIST
(
P_DATA_SET OUT REDATASET.DS,
P_POOL_TYPE IN VARCHAR2, --池类型(POOL:证券池 LIST:名单)
P_POOL_ID IN VARCHAR2, --池ID
P_OBJECT_CODE IN VARCHAR2, --对象代码
P_OBJECT_TYPE IN VARCHAR2, --对象类型
P_BASE_DATE IN VARCHAR2, --基准日期
P_BEGIN_DATE IN VARCHAR2, --入池开始日期
P_END_DATE IN VARCHAR2, --入池结束日期
P_BEGIN_ROW IN VARCHAR2, --行号-开始
P_END_ROW IN VARCHAR2, --行号-结束
P_USER IN VARCHAR2 --用户
);
...
create or replace package body "PKG_PRJDEV_GTJJ" as
PROCEDURE OBJECT_POOL_LIST
(
P_DATA_SET OUT REDATASET.DS,
P_POOL_TYPE IN VARCHAR2, --池类型(POOL:证券池 LIST:名单)
P_POOL_ID IN VARCHAR2, --池ID
P_OBJECT_CODE IN VARCHAR2, --对象代码
P_OBJECT_TYPE IN VARCHAR2, --对象类型
P_BASE_DATE IN VARCHAR2, --基准日期
P_BEGIN_DATE IN VARCHAR2, --入池开始日期
P_END_DATE IN VARCHAR2, --入池结束日期
P_BEGIN_ROW IN VARCHAR2, --行号-开始
P_END_ROW IN VARCHAR2, --行号-结束
P_USER IN VARCHAR2 --用户
) AS
BEGIN
OPEN P_DATA_SET FOR
SELECT *
FROM (SELECT OUT_TABLE.*, ROWNUM AS RN
FROM (SELECT
--清单ID
POOL_LIST.LIST_ID,
--对象代码
POOL_LIST.O_CODE,
--市场代码
POOL_LIST.I_CODE,
--对象类型
POOL_LIST.O_TYPE,
--对象类型名称
INST.NAME AS O_TYPE_NAME,
--对象名称
POOL_LIST.O_NAME,
--入池时间
POOL_LIST.BEG_DATE,
--出池时间
POOL_LIST.END_DATE,
--池子名称
那还是有锁冲突。超过1s以上的,你可以查询
v$sessions
v$trxwait
v$trx
v$lock
上面4个视图(将语句组织好,一次性执行获取结果集),在返回锁超时之前获取到结果集看看。