ORA-28595:Extproc代理:无效的DLL路径

时间:2018-10-18 17:05:05

标签: oracle

我们有一些Oracle外部过程​​库(C语言.so文件,全为32位),我们正尝试从AIX / Oracle 11.2迁移到Linux / Oracle 12.2。他们在Linux上使用gcc成功重新编译。虽然这些库在AIX / Oracle中运行良好,但是在Linux / 12c环境中进行测试时,却收到“ ORA-28595:Extproc代理:无效的DLL路径”错误。

Linux listener.ora包含:

SID_LIST_EXTERNAL_PROCEDURE_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = swm1)
      (ORACLE_HOME = /u01/app/oracle/product/12.2.0/client32)
      (PROGRAM=extproc)
      (ENVS="EXTPROC_DLLS=ANY,LIBPATH=/u01/app/oracle/product/12.2.0/client32/lib,LD_LIBRARY_PATH=/swms/curr/lib,TRACE_LEVEL=ON")
 )
 )

每次测试后,我们都可以在hs / log跟踪中看到如下内容:

Oracle Corporation --- THURSDAY  OCT 18 2018 16:37:43.679

    Version 12.2.0.1.0

HOA 10/18 16:37:43.679414000: (horcrase_AllocStackElt) Entered!
HOA 10/18 16:37:43.679437000: (horcrase_AllocStackElt) Exiting...
HOA 10/18 16:37:43.679448000: (horcrpuoe_PushOciEnv) Entered!
HOA 10/18 16:37:43.679457000: (horcrpuoe_PushOciEnv) Exiting...
HOA 10/18 16:37:43.679465000: (horcries_InitExtprocSession) Exiting...
HOA 10/18 16:37:43.679486000: (hotkisc_InitSessionContext) Exiting...
HOA 10/18 16:37:43.679496000: (hotkec_EstablishConnection) Entered!
2018/10/18-16:37:43.679812000: Entered shorcsju_spawn_jssu_unix
  HS: Parent extproc argv[1] = (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))
  HS: Parent extproc called nsgetaddr, addr = (ADDRESS=(PROTOCOL=ipc)(KEY=#20938.1.933310848))
  HS: Parent extproc received the IN param, flags_horrx = 0x1000
0: 31303030                             [1000]
  HS: Parent extproc is falling back to the old behavior with connect string = (ADDRESS=(PROTOCOL=BEQ)(PROGRAM=/u01/app/oracle/produ
ct/12.2.0/dbhome_1/bin/extproc)(ARGV0=/u01/app/oracle/product/12.2.0/dbhome_1/bin/extproc)(ARGS='(DESCRIPTION=(LOCAL=YES)(ADDRESS=(P
ROTOCOL=BEQ)))'))
  HS: Parent extproc called nsbequeath! status = 0
2018/10/18-16:37:43.695384000: Exiting shorcsju_spawn_jssu_unix, rc=0
  HS: Parent extproc is calling exit(0)!!!

很好奇,即使我们在listener.ora中显式提供了32位ORACLE_HOME,它仍在加载64位bin / extproc。

虽然我们在$ ORACLE_HOME / hs / logs中看到了类似上面的跟踪内容,但是运行测试时external_procedure_listener / trace / *文件没有显示新的跟踪内容。

有什么主意要纠正吗?

0 个答案:

没有答案