На главную О компании Продукты Технологии Публикации Партнерам in English: in English
На главную

   Помощь
Главная
Продукты
Общий форум для всех продуктов

RCO Law Reference Extractor SDK











Расширения стандартных решений
RCO for Oracle: поиск на русском языке
RCO for BackOffice: поиск на русском языке



Инструментарий разработчика
RCO Fact Extractor SDK
RCO Text Categorization Engine
RCO Address Parser
RCO Database Record Cleaner
RCO Morphology SDK
RCO Morphology Professional SDK
RCO Information Extraction Service



Приложения RCO Fact Extractor SDK
RCO Deduplicator SDK
RCO TopExtractor SDK
RCO Glossary Maker SDK
RCO Block Parser SDK
RCO Law Reference Extractor SDK



Инструментарий аналитика
RCO Fact Extractor Desktop
RCO Zoom



Архив продуктов (более не поддерживаются)
RCO Syntactic Engine SDK
RCO Semantic Network SDK
RCO Pattern Extractor SDK
RCO Entity Extractor SDK




Форум

Сергей Цветков

 17.08.05, 16:56
Не находится RCO setting
Установлен RCO на Linux SuSe, Oracle 10g.

Создаю настройку TEST, выполняю скрипт, который создает индекс:

declare SetID pls_integer := 3; SetName varchar2(30):='TEST'; Tbl varchar2(30):='PROPERTIES';
TxCol varchar2(30):='TMP'; Own varchar2(30):='MAK';
begin
insert into ctxsys.rco_settings (SettingID,SettingName,Owner,TableName,KeyName,TextName,DocFormat,UsingRcoFilter,DocCodePage,FuzzyStatus,ThemeStatus)
values (3,lower(SetName),Own,Tbl,rco_context.GetPKCol(Own,Tbl),TxCol,'TEXT_or_HTML','N','CL8MSWIN1251','EMPTY','EMPTY'); commit;
execute immediate 'create index '||SetName||' on '||Tbl||'('||TxCol||') indextype is ctxsys.context';
end;
/

Вроде бы все нормально, настройка сохраняется и индекс создается - работает обычный поиск Oracle Text (where contains...)

Но при попытке выполнить какие-то функции с данной настройкой (TEST) получается такая ошибка:

begin
rco_context.FuzzyCreateIndex('TEST');
end;
ORA-20110: RCO_CONTEXT.GetSettingID: Given RCO Setting (context index) 'TEST'-'mak.test' does not exist
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 169
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 208
ORA-01403: данных не найдено
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 4064
ORA-06512: на line 2

Пользователь тот. Скрипт, создающий индекс выполнялся даже в той же сессии. Название настройки не важно (пробовалось и не TEST).

Спустя некоторое время идеи кончились. Что может быть не так?
Ответить

Алексей Дмитровский

 17.08.05, 17:04
re: Не находится RCO setting
Добрый день, Сергей!

Попробуйте задать имя настройки lower-case
Ответить

Сергей Цветков

 17.08.05, 18:33
re: re: Не находится RCO setting
>Добрый день, Сергей!
>
>Попробуйте задать имя настройки lower-case

Спасибо, помогло. Хотя в нижний регистр пришлось опустить не только имя настройки, а и имена таблицы, столбца и пользователя.

Правда, теперь получается такая ошибка:

ORA-28595: Агент Extproc: неверный путь к DLL
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 25
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 4096
ORA-06512: на line 2

rco_lsnr вроде бы запущен нормально.
LD_LIBRARY_PATH тоже содержит путь к библиотеке.
Ответить

Алексей Дмитровский

 18.08.05, 17:12
re: re: re: Не находится RCO setting
Это ошибка конфигурации вызова внешних процедур Oracle.
Если база 9.*, то была ли
задана переменная EXTPROC_DLLS в секции
(SID_DESC =
(PROGRAM = extproc)
...
(ENVS = "EXTPROC_DLLS=ANY")
...

файла listener.ora?
Проверьте верность записи пути библиотеки
RequestRelay.dll / libRequestRelay.so
в базе данных.
Ответить

Сергей Цветков

 18.08.05, 17:50
re: re: re: re: Не находится RCO setting
>Это ошибка конфигурации вызова внешних процедур Oracle.
>Если база 9.*, то была ли
>задана переменная EXTPROC_DLLS в секции
>(SID_DESC =
> (PROGRAM = extproc)
> ...
> (ENVS = "EXTPROC_DLLS=ANY")
> ...
>
>файла listener.ora?
>Проверьте верность записи пути библиотеки
>RequestRelay.dll / libRequestRelay.so
>в базе данных.

Спасибо, почти помогло. Путь в БД правильный. А вот вместо ANY в кофиге листенера действительно стоял зачем-то путь к библиотеке.

Правда, теперь, как и полагается возникла другая ошибка.

На любые попытки выполнить функции пакета rco_context выдает таймаут:

ORA-20100: RCO_CONTEXT.get_normal_form failed - RequestRelay: request timed out
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 169
ORA-06512: на "CTXSYS.RCO_CONTEXT", line 295
ORA-06512: на line 1

rco_lsnr запущен. Причем, в логах видно, что библиотека соединяется с rco_lsnr, принимает от него хэндшейк и отправляет запрос. И все. Вот из лога библиотеки:

DEBUG: 17:37:22 18.08.05 RequestRelay: received mess MT_HANDSHAKE: Addr (pid)=14472, clnt_rqID=2, rqID=5, SegID=0, BuffID=4, pidExec=13975
DEBUG: 17:37:22 18.08.05 GetSharedMemory: shm segment attached for path ('/opt/rco/'-4), full size 65544, address 412ef000
DEBUG: 17:37:22 18.08.05 CSharedMemory::Open: sm for path ('/opt/rco/'-4) gotten, size=65536, handle=278004
DEBUG: 17:37:22 18.08.05 RequestRelay: sent mess MT_EXEC: Addr (pidExec)=13975, rqID=5, pidClnt=14472, rqType=1, rqSize=26, SegID=0, BuffID=4
INFO: 17:37:52 18.08.05 alarm_hdl: signal SIGALRM=14 catched

Все заканчивается через 30 секунд таймаутом.

Со стороны листенера rco все еще проще:
DEBUG: 17:37:22 18.08.05 LsnrRun: sent mess MT_HANDSHAKE: Addr (pidClnt) = 14472, clnt_rqID=2, rqID=5, SegID=0, BuffID=4, pidExec=13975
INFO: 17:37:22 18.08.05 Waiting for request ...
DEBUG: 17:37:52 18.08.05 LsnrRun: got mess MT_DONE_CLNT: Addr (pidClnt) = 14472, rqID=-5
Ответить

Алексей Дмитровский

 18.08.05, 17:55
re: re: re: re: re: Не находится RCO setting
Есть ли в $RCO_HOME/lib файлы rco_exec_*.err?
Судя по логам под-процессы rco_exec запускаются, т.е. эти файлы должны быть.
Ответить

Сергей Цветков

 18.08.05, 18:00
re: re: re: re: re: re: Не находится RCO setting
>Есть ли в $RCO_HOME/lib файлы rco_exec_*.err?
>Судя по логам под-процессы rco_exec запускаются, т.е. эти файлы должны быть.

Нет, этих файлов нет.
Есть только файлы $RCO_HOME/log/RequestRelay_nnnnn.err - из одного я выдержку и привел.
Ответить

Алексей Дмитровский

 18.08.05, 18:01
re: re: re: re: re: re: re: Не находится RCO setting
Виноват, в $RCO_HOME/log, конечно.
Ответить

Сергей Цветков

 18.08.05, 18:07
re: re: re: re: re: re: re: re: Не находится RCO setting
>Виноват, в $RCO_HOME/log, конечно.

Нет, и в каталоге log файлов rco_exec*.err нет. Только RequestRelay*.err и rco_lsnr*.err
Ответить

Алексей Дмитровский

 18.08.05, 18:28
re: re: re: re: re: re: re: re: re: Не находится RCO setting
Попробуйте в command prompt'е запустить rco_exec "отдельно":
$ cd $RCO_HOME/bin
$ ./rco_exec 1
и посмотреть ошибки, если таковые появятся.
Ответить

Сергей Цветков

 18.08.05, 18:50
re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>Попробуйте в command prompt'е запустить rco_exec "отдельно":
>$ cd $RCO_HOME/bin
>$ ./rco_exec 1
>и посмотреть ошибки, если таковые появятся.

Ошибка появилась, причем довольно интересная - оказывается, rco_exec не находил библиотеки libclntsh.so.8.0. Поскольку в наличии имелась лишь libclntsh.so.10.1 (и симлинк на просто libclntsh.so), сделал симлинк с нужным именем на библиотеку "десятки".

После этого rco_exec стала запускаться из командной строки, судя по логам нормально. если ее запустить просто с ID конфигурации в качестве параметра, то запускается и останавливается на Waiting for request.

Если же делать запрос БД, то rco_exec, похоже, просто не запускается :(
Ответить

Алексей Дмитровский

 19.08.05, 11:16
re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
Включает ли сейчас LD_LIBRARY_PATH путь $ORACLE_HOME/lib в окружении rco_lsnr'а?
Ответить

Сергей Цветков

 19.08.05, 12:08
re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>Включает ли сейчас LD_LIBRARY_PATH путь $ORACLE_HOME/lib в окружении rco_lsnr'а?

Да. rco_lsnr запущен из этой сессии:
echo $LD_LIBRARY_PATH
/opt/oracle/OraHome_1/lib:/opt/rco/lib
Ответить

Алексей Дмитровский

 19.08.05, 12:21
re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
Итак:
1. Существует линк
libclntsh.so.8.0->libclntsh.so.10.1
2. В отдельной сессии rco_exec запускается
3. В качестве порождённого процесса rco_exec не запускается, причём отсутствуют лог-файлы $RCO_HOME/log/rco_exec_*
Всё правильно?
Ответить

Сергей Цветков

 19.08.05, 12:30
re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>Итак:
>1. Существует линк
> libclntsh.so.8.0->libclntsh.so.10.1
>2. В отдельной сессии rco_exec запускается
>3. В качестве порождённого процесса rco_exec не запускается, причём отсутствуют лог-файлы $RCO_HOME/log/rco_exec_*

>Всё правильно?

Да, все именно так. Могу прислать на какой-нибудь адрес полные файлы .err при запуске из командной строки и при запросе из БД, если это поможет делу.
Ответить

Алексей Дмитровский

 19.08.05, 12:42
re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
Ещё одно уточнение.
Нет ли файлов rco_exec_*.err где-либо ещё - (find / ... )?
Ответить

Сергей Цветков

 19.08.05, 12:54
re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>Ещё одно уточнение.
>Нет ли файлов rco_exec_*.err где-либо ещё - (find / ... )?

Нет, нигде такие файлы не находятся.
Ответить

Алексей Дмитровский

 19.08.05, 13:15
re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
Хорошо, я попытаюсь воспроизвести.
Какая версия OS, БД?
Ответить

Сергей Цветков

 19.08.05, 13:52
re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>Хорошо, я попытаюсь воспроизвести.
>Какая версия OS, БД?

OS - SuSe 9.3
Ядро:
Linux SuSe 2.6.8-24-smp #1 SMP Wed Oct 6 09:16:23 UTC 2004 i686 i686 i386 GNU/Linux

БД - Oracle 10.1.0.3g
Ответить

Сергей Цветков

 19.08.05, 13:53
re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: re: Не находится RCO setting
>OS - SuSe 9.3
>Ядро:
>Linux SuSe 2.6.8-24-smp #1 SMP Wed Oct 6 09:16:23 UTC 2004 i686 i686 i386 GNU/Linux

Пардон, это SuSe 9.2, а не 9.3.
Ответить
Новое сообщение






Контакты

тел./факс: +7 495 287-9887    e-mail: info@rco.ru