Рассмотрим две системы: A (исходная система) и B (система получателя)
У нас есть хранимая процедура Oracle для загрузки некоторых деталей из A в B. У нас есть DBLINK для вставки данных из A в B.
Мы получаем ошибку DBLINK
ORA-01012: не зарегистрирован
ORA-02063: предыдущая строка из A_B_DBLINKORA-06512
Согласно моему пониманию, если DBLINK неактивен более 30 минут (как настроено в системе B), и система A пытается подключиться к B, она выдает эту ошибку.
Чтобы решить эту проблему, мы подходим к ней, как показано ниже:
UPLOAD PROCEDURE
begin
if A_B_DBLINK='Active' then
enter procedure;
upload data;
else
//attempt to trigger DBLINK as active
//calling UPLOAD PROCEDURE
end;
Мне нужна помощь для реализации этого, в настоящее время я использую select * from dual@A_B_DBLINK;
, чтобы проверить, активно ли соединение, но не могу активировать его (неспособно проверить сценарий сбоя).
Пожалуйста, ведите меня вперед.
Спасибо