Невозможно создать объекты со ссылкой на БД; ORA - 0251: другой сеанс или филиал в той же транзакции не выполнен или завершен
У меня есть разнородная связь между Oracle 11.2.0.3 и SQL Server 2008. Когда я пытаюсь создать представления или процедуры, которые ссылаются на представления разнородных служб для системных таблиц, я получаю 4 ошибки, перечисленные ниже:
ORA-00604: ошибка произошла на рекурсивном уровне SQL 1
ORA-02051: другой сеанс или филиал в той же транзакции не выполнен или завершен
ORA-06512: в строке "SYS.HS$_DDTF_SQLTABLES", строка 58
ORA-06512: в строке 1
Как пример, эти ошибки создаются, когда я пытаюсь выполнить следующий код:
CREATE VIEW ALLMYTABLES AS
SELECT * FROM ALL_TABLES@DBLINKNAME;
Однако я могу создавать представления на любой нормальной таблице:
CREATE VIEW RANDOMTABLE AS
SELECT * FROM RANDOMTABLE@DBLINKNAME;
Я провел некоторое исследование проблем, похожих на этот, но не нашел ссылок на этот конкретный вопрос. Я полагаю, что это может быть как-то связано с конфликтом между одновременными операциями создания представления и вызовом оператора select * к базе данных сервера SQL. Или, возможно, что записи не полностью извлекаются при создании представления.
Я не знаю специфики конфигурации и свойств линии HS.