执行MYSCHEMA.FUND_PKG.LOAD_FUND遇ORA-20010错误调试求助
存储过程MYSCHEMA.FUND_PKG.LOAD_FUND触发ORA-20010错误排查求助
我尝试执行日常稳定运行的存储过程MYSCHEMA.FUND_PKG.LOAD_FUND,已确认Schema正确,且通过查询验证了传入参数对应数据的可用性,但仍触发ORA-20010错误,不清楚如何排查,也不确定是否参数传递存在问题。
错误信息
ORA-20010: [错误] ETL批处理过程MYSCHEMA.FUND_PKG.LOAD_FUND执行失败。请查看COMMON_LOG_ERROR_V视图中的CALL_STACK列获取详细信息。
[错误栈]
ORA-20010: [错误] ETL批处理过程MYSCHEMA.FUND_PKG.LOAD_FUND执行失败。请查看COMMON_LOG_ERROR_V视图中的CALL_STACK列获取详细信息。
ORA-06512: 在"CDE_OPS.CMN_LOGGER_PKG", 第265行
ORA-06512: 在"CDE_OPS.CMN_LOGGER_PKG", 第1799行
ORA-06512: 在"CDE_STAGE.FUND_PKG", 第245行
[回溯栈]
ORA-06512: 在"CDE_OPS.CMN_LOGGER_PKG", 第265行
ORA-06512: 在"CDE_OPS.CMN_LOGGER_PKG", 第1799行
ORA-06512: 在"CDE_STAGE.FUND_PKG", 第245行
ORA-06512: 在"CDE_STAGE.FUND_PKG", 第352行
包定义
create or replace PACKAGE FUND_PKG AS PROCEDURE LOAD_FUND ( PV_JOB_ID IN COMMON_BATCH_LOG.JOB_ID%TYPE, PV_JOB_NAME IN COMMON_BATCH_LOG.JOB_NAME%TYPE, PV_STAGE_HANDLE IN COMMON_BATCH_LOG.STAGE_HANDLE%TYPE, PV_CYCLE_DT IN COMMON_BATCH_LOG.CYCLE_DT%TYPE, PV_CYCLE_ID IN COMMON_BATCH_LOG.CYCLE_ID%TYPE, PV_SUB_CYCLE_ID IN COMMON_BATCH_LOG.SUB_CYCLE_ID%TYPE, PV_CYCLE_TYPE_FREQ IN COMMON_BATCH_LOG.CYCLE_TYPE_FREQ%TYPE, PV_SOURCE_CD IN FUNDTABLE_SOURCE%TYPE, PV_VIEW_CD IN FUNDTABLE_VIEWCODE%TYPE, PV_VIEW_NM IN VARCHAR2 ); END FUND_PKG;
执行代码
DECLARE l_job_id COMMON_BATCH_LOG.JOB_ID%TYPE; l_job_name COMMON_BATCH_LOG.JOB_NAME%TYPE; l_stage_handle COMMON_BATCH_LOG.STAGE_HANDLE%TYPE; l_cycle_dt COMMON_BATCH_LOG.CYCLE_DT%TYPE; l_cycle_id COMMON_BATCH_LOG.CYCLE_ID%TYPE; l_sub_cycle_id COMMON_BATCH_LOG.SUB_CYCLE_ID%TYPE; l_cycle_type_freq COMMON_BATCH_LOG.CYCLE_TYPE_FREQ%TYPE; l_source_cd FUNDTABLE_SOURCE%TYPE; l_view_cd FUNDTABLE_VIEWCODE%TYPE; l_view_nm VARCHAR2(100) := 'PORTVIEW'; BEGIN MYSCHEMA.FUND_PKG.LOAD_FUND( PV_JOB_ID => '18323', PV_JOB_NAME => 'fund_job', PV_STAGE_HANDLE => '', PV_CYCLE_DT => TO_DATE('17-NOV-2021', 'DD-MON-YYYY'), PV_CYCLE_ID => 'DAILYCYCLE', PV_SUB_CYCLE_ID => 'INVEST', PV_CYCLE_TYPE_FREQ => 'D', PV_SOURCE_CD => 'CRYPTO', PV_VIEW_CD => 'NAT', PV_VIEW_NM => 'PORTVIEW' ); END;
排查建议
- 优先查询
COMMON_LOG_ERROR_V视图的CALL_STACK列,获取更详细的错误上下文,包括具体业务报错原因 - 查看
CDE_STAGE.FUND_PKG第245行的代码,这是错误触发的核心位置,检查该行调用日志接口时传入的具体错误信息,或是执行的业务逻辑(如数据校验、DML操作) - 验证参数类型匹配:确认
COMMON_BATCH_LOG.JOB_ID%TYPE是否为字符串类型(当前传入的是'18323'),若为数值类型会引发隐式转换问题;同时检查PV_STAGE_HANDLE传入空字符串是否符合存储过程的参数要求 - 检查
CDE_STAGE.FUND_PKG第352行的代码,这里是调用第245行的上层逻辑,确认该行执行的操作(如循环、分支判断)是否触发了错误 - 对比日常正常执行的参数值,检查本次传入的
PV_SOURCE_CD='CRYPTO'、PV_VIEW_CD='NAT'等参数是否存在异常,或对应周期的数据是否有特殊情况(如数据量异常、字段值非法)
内容的提问来源于stack exchange,提问作者ncisco3200
相关产品推荐
相关产品推荐

