24.11.2014


Oracle, ошибка ORA-28513: internal error in heterogeneous remote agent


Категории: Администрирование — Administrator

Замечена в Windows и Oracle 11G при работе с ODBC-драйверами в гетерогенных сервисах, в данном примере с драйвером DBASE. В 10G при тех же условиях не возникала. Особенность ошибки заключается в том, что она появляется при использовании в jobs Oracle. Т.е. обращаться к таблицам через dblink в обычной ситуации (напрмиер в PL/SQL Developer) можно, ошибки нет, и даже если выполняются процедуры с подобными обращениями через Apache с помощью интерфейса mod_plsql.

В логах базы могут быть примерно такие сообщения:


Error 28500 trapped in 2PC on transaction 7.11.139151. Cleaning up.
Error stack returned to user:
ORA-28500: соединение ORACLE с посторонней системой выдало сообщение:
[Microsoft][ODBC dBASE Driver]Optional feature not implemented  {HYC00,NativeErr = 106}

Ситуация исправляется, если DBLINK создавать с ключевым словом CONNECT даже если драйвер ODBC не требует авторизации для данной системы, в нашем случае DBASE.


CREATE DATABASE LINK DBF_FOLDER CONNECT TO oracle_user IDENTIFIED BY "oracle-user" USING 'dbf_folder'

Рекомендуется указывать реального пользователя домена или компьютера, если пароль содержит спецсимволы, то его можно обернуть двойными кавычками, как в примере выше, хотя некоторые авторы советуют просто писать что угодно от балды в качестве пользователя и пароля. В любом случае, без использования ключевого слова CONNECT при обращении к таблице к ней приставляется спереди название схемы, что приводит к искажению ее названия.





Календарь


Архив