Существует база данных Oracle (версия 8), действующая как PL/SQL API, обеспечивающая доступ к различным процедурам и таблицам в этой базе данных.
У меня есть другая база данных Oracle (версия 10g), которая использует эти процедуры и таблицы через ссылку базы данных.
Я обновил свою базу данных до версии 12g, но, по-видимому, есть проблемы совместимости, использующие связь базы данных между версиями 8 и 12g. Итак, придумал план создания третьей базы данных с Oracle версии 10g и поставьте ее между 8 и 12g в качестве «прокси».
Созданы ссылки на базы данных с v12g на v10g и с v10g на v8. Созданы синонимы в базе данных «proxy» (v10g) для таблиц и процедур в базе данных v8. я могу сделать стандартный ЗЕЬЕСТ из v12g:использует API PL/SQL через две базы данных
select column from [email protected];
Но положить его в анонимный блок:
declare
sVar varchar2(200);
begin
select column into sVar from [email protected];
dbms_output.put_line(sVar);
end;
дает ошибку: «PL/SQL: ORA-00980: синоним перевод больше не действует». Есть ли способ получить доступ к процедурам и таблицам v8 из v12g через v10g - это означает, что через 2 базы данных?
И почему вы не можете обновить базу данных v8 до версии из этого тысячелетия ...? – APC
Это принадлежит другой компании :) – Tanel
Другим решением, в зависимости от того, насколько текущими являются данные, является создание материализованных представлений в базе данных 10g, которые регулярно извлекают данные из 8 через свою ссылку db, затем запрашивают эти MV с 12g , –