2010-11-05 6 views
1

У меня есть SQL-скрипт, который подключается к другой базе данных, используя «создать ссылку на базу данных» и копирует некоторые данные.Должны ли базы данных ссылаться на оракулы, если вы закончите использовать их?

Если эта базовая ссылка базы данных была сброшена или закрыта после того, как я закончил использовать ее? (Предположим, что я, вероятно, больше не понадобится).

Какая практика?

Я слышал некоторые противоречивые ответы на мою команду.

Если я должен закрыть его, как я могу гарантировать, что связь закрывается, когда я звоню:

drop database link somelink; 

(я получаю ошибки жаловаться, что у меня есть связи открытыми, что странно, потому что я не выполнение любых асинхронных операций/заданий).

ответ

6

С точки зрения лучших практик, я был бы очень осторожен в создании динамических ссылок на базы данных в скрипте. Ссылки на базы данных должны быть похожими на любой другой объект - они должны создаваться один раз и ссылаться несколько раз. Если это действительно одноразовое событие, в котором вы извлекаете данные из другой базы данных до того, как ее вывести из эксплуатации, создание и удаление ссылки имеет смысл. Для чего бы то ни было, я бы создал ссылку и оставил ее для следующего человека, который может понадобиться, если нет необходимости бросать ее (т. Е. Вы получаете исключение из группы безопасности, чтобы создать ссылку на короткий период времени).

Вы можете закрыть базу данных ссылка с командой

ALTER SESSION CLOSE DATABASE LINK <<dblink name>> 

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

 Смежные вопросы

  • Нет связанных вопросов^_^