Александр Кононов |
16.05.07, 14:31 |
|
Rco на платформе Linux x86_64 |
|
Rco v.4.0.1 для Linux Oracle 10.2.0.1
Работало на платформе SUSE 10.0 RC2 32bit При переходе на OpenSUSE 10.2 for x86_64 вылетает ошибка: ORA-06520: PL/SQL: Error loading external library ORA-06522: /opt/rco/lib/libRequestRelay.so: wrong ELF class: ELFCLASS32
Содержимое rco_lsnr.err:
DEBUG: 14:05:26 16.05.07 CMessageQueue::Create: for path ('/opt/rco/'-1) & key=106ce4a created mqid=98304 DEBUG: 14:05:26 16.05.07 CMessageQueue::Create: for path ('/opt/rco/'-2) & key=206ce4a created mqid=131073 DEBUG: 14:05:26 16.05.07 CMessageQueue::Create: for path ('/opt/rco/'-3) & key=306ce4a created mqid=163842 DEBUG: 14:05:26 16.05.07 CreateSharedMemory: shm segment created for path ('/opt/rco/'-4), full size 65544, attached to address f7cdf000 DEBUG: 14:05:26 16.05.07 CSharedMemory:Create: Created sm '/opt/rco/', size=65536, handle=60002 DEBUG: 14:05:26 16.05.07 CreateSharedMemory: shm segment created for path ('/opt/rco/lib/morphdct.dat'-1), full size 3104404, attached to address f79e9000 DEBUG: 14:05:26 16.05.07 CSharedMemory:Create: Created sm '/opt/rco/lib/morphdct.dat', size=3104396, handle=68003 INFO: 14:05:26 16.05.07 Waiting for request ...
Должна ли наша версия работать на 64 разрядной платформе?
С уважением, Александр Кононов |
|
|
Алексей Дмитровский |
16.05.07, 14:46 |
|
re: Rco на платформе Linux x86_64 |
|
Добрый день! Какая версия Oracle - 32 или 64 бит?
|
|
|
Александр Кононов |
16.05.07, 14:58 |
|
re: re: Rco на платформе Linux x86_64 |
|
>Какая версия Oracle - 32 или 64 бит?
на 32 битном Linux - 32 на 64 битном Linux - 64 |
|
|
Алексей Дмитровский |
16.05.07, 15:05 |
|
re: re: re: Rco на платформе Linux x86_64 |
|
Попробуйте изменить SID_LIST_* в файле listener.ora extproc на extproc32: ... (SID_DESC = (ENVS = "EXTPROC_DLLS=ANY") (SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oracle\9.2.0) (PROGRAM = extproc32) ) ...
Проверьте предварительно, есть ли extproc32 в ORACLE_HOME/bin.
|
|
|
Александр Кононов |
16.05.07, 15:35 |
|
re: re: re: re: Rco на платформе Linux x86_64 |
|
>Попробуйте изменить >SID_LIST_* в файле listener.ora >extproc на extproc32: >... >(SID_DESC = > (ENVS = "EXTPROC_DLLS=ANY") > (SID_NAME = PLSExtProc) > (ORACLE_HOME = C:\oracle\9.2.0) > (PROGRAM = extproc32) >) >... > >Проверьте предварительно, есть ли extproc32 в ORACLE_HOME/bin. >
Попробовал:
ORA-28575: unable to open RPC connection to external procedure agent ORA-06512: at "CTXSYS.RCO_CONTEXT", line 26 ORA-06512: at "CTXSYS.RCO_CONTEXT", line 929 ORA-06512: at "CTXSYS.RCO_CONTEXT", line 1041
|
|
|
Алексей Дмитровский |
16.05.07, 15:44 |
|
re: re: re: re: re: Rco на платформе Linux x86_64 |
|
ORA-28575 - это уже скорее всего ошибка конфигурации вызовов внешних процедур. Посмотрите на metalink'е Note:70638.1 . Запущен ли rco_lsnr? Если у вас есть работающая конфигурация, скопируйте её. |
|
|
Александр Кононов |
16.05.07, 15:56 |
|
re: re: re: re: re: re: Rco на платформе Linux x86_64 |
|
>ORA-28575 - это уже скорее всего ошибка конфигурации вызовов внешних процедур.
listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = ...) (ENVS = "EXTPROC_DLLS=/opt/rco/lib/libRequestRelay.so") (PROGRAM = extproc32) ) )
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ...)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = extproc)) ) )
tnsnames.ora
EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = extproc)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) )
$ORACLE_HOME/bin/tnsping extproc_connection_data
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 16-MAY-2007 15:52:48
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = extproc))) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO))) OK (0 msec)
Что не так?
>Запущен ли rco_lsnr?
ps ax|grep rco 4197 pts/2 S 0:00 /opt/rco/bin/rco_lsnr
>Если у вас есть работающая конфигурация, скопируйте её.
Здесь как раз повторена работающая конфигурация |
|
|
Александр Кононов |
16.05.07, 17:03 |
|
re: re: re: re: re: re: Rco на платформе Linux x86_64 |
|
Спасибо за участие.
Помогло следующее: 1. В listener.ora прописаны библиотеки lib32 SID_LIST_LISTENER = ... (ENVS = "EXTPROC_DLLS=.../libRequestRelay.so,LD_LIBRARY_PATH=.../product/10.2.0/db_1/lib32") (PROGRAM = extproc32) ...
2. запуск rco_lsnr из скрипта со своими переменными:
файл rco_lsnr.sh export RCO_HOME=/opt/rco export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/ctx/lib32:$RCO_HOME/lib nohup $RCO_HOME/bin/rco_lsnr &
С уважением, Александр Кононов |
|
|