ODI环境

问题描述

我在Windows中运行自定义操作系统命令时遇到问题。

我已经将ODI 11迁移到了OPMN。服务设置为启动类型:自动

我创建了一个简单的测试程序,如下所示:

技术:Jython

import os
os.system('set')
os.system('echo 123')

在重新启动服务器之前运行良好。重新启动后,我运行此过程并得到以下错误

ODI-1217: Session TEST_OS_RUN (1618033023) fails with return code 7000.
ODI-1226: Step TEST_OS_RUN fails after 1 attempt(s).
ODI-1232: Procedure TEST_OS_RUN execution fails.
Caused By: org.apache.bsf.BSFException: exception from Jython:
Traceback (most recent call last):
  File "<string>",line 6,in <module>
  File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\os.py",line 726,in system
    return subprocess.call(command,shell=True)
  File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 456,in call
    return Popen(*popenargs,**kwargs).wait()
  File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 755,in __init__
    self._execute_child(args,executable,preexec_fn,close_fds,File "C:\Oracle\ODI_11_1_9_0\oracledi.sdk\lib\Lib\subprocess.py",line 1240,in _execute_child
    args = _shell_command + args
TypeError: unsupported operand type(s) for +: 'nonetype' and 'list'

    at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
    at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:322)
...and so on

之后,我重新启动Windows服务“ Oracle Process Manager(instance1)”,它又恢复正常了!

每次重新启动Windows计算机时,我都会遇到此问题。

我已经按照Doc ID 1518438.1

所述将ORACLE_HOME和PATH变量添加到opmn.xml中。

我不知道是什么原因导致重新启动后出现此错误,但不是导致手动服务重新启动之后。

服务使用本地用户运行,而不是系统内置的。

此问题还会导致例如运行sql * Loader的问题。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)