oracle odi 资料档案库访问期间出现未分类的异常错误,ODI11g调用DBLink时报ORA-28267: Invalid NameSpace Value错误...

环境:ODI 11.1.1.5.0

在用odi111150调用Oracle 11g数据库中的DBlink时,报如下错误:

ODI-1228: 目标ORACLE连接ETL_UAT上的任务SJQY_PRODUCT_IMPORT_PKG.REFRESH_MV (Procedure) 失败。

Caused By: java.sql.SQLSyntaxErrorException: ORA-04052: 在查找远程对象 SOAU.SYS@EC_UAT 时出错

ORA-00604: 递归 SQL 级别 2 出现错误

ORA-28267: Invalid NameSpace Value

ORA-02063: 紧接着 line (起自 EC_UAT)

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2558

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2771

ORA-06512: 在 "SYS.DBMS_SNAPSHOT", line 2740

ORA-06512: 在 line 3

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:405)

at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:889)

at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)

at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:204)

at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:540)

at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)

at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1079)

at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)

at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)

at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3937)

at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)

at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)

at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)

at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)

at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)

at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)

at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)

at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:537)

at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)

at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)

at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)

at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)

at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)

at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)

at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)

at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)

at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)

at java.lang.Thread.run(Thread.java:662)

×××××××××××××××××××××××××××××××××

执行代码:

BEGIN

--  SJQY_PRODUCT_IMPORT_PKG.REFRESH_MV;

DBMS_MVIEW.refresh('TEMP_CTGY_ITEM_MV', atomic_refresh => false);

END;

经过测试在ODI11.1.1.6.0上面也报这个错误。

经过最终用确认,造成该错误的原因是Oracle 11g DB的bug,如果该procedure建在Oracle10g DB上则不会出现问题。

oracle给出的解释是:JDBC在调用Oracle 11g中的DBLink时有bug,解决方式就是给Database 打Patch

注意:导致该问题不是DBlink的问题,是通过JDBC调用DBlink有问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值