Авг 052014
 

Dblink - интересный и в то же время неприятный объект. Дело в том, что в синтаксисе Oracle нет способа просто проверить, работает он или нет, если он находится в другой схеме. Доступ через точку, в отличие от других объектов, не работает, т.к. точка может являться частью имени dblink'а.
Возникла задача: проверить работоспособность всех линков в базе. Просто SQL-запрос сделать не удалось (это, на мой взгляд, всегда немного элегантнее и удобнее, чем блок PL/SQL), но нашлось отличное решение индийского коллеги: вот. Скрипт хороший, но он пишет текстовый лог, что неудобно, если у нас действительно много линков. Я немного его модифицировал, теперь он создаёт табличку, в которую пишет имя линка, его владельца и статус проверки. Так будет удобнее работать со списком, можно будет применять к нему любые фильтры и сортировки и использовать его для генерации скриптов, например, для удаления лишних dblink'ов.
Итак, скрипт: Continue reading »

Авг 242011
 

Сегодня обнаружил такую ошибку в alert log:

ORA-00600: internal error code, arguments: [18095], [0x9C96A09A8], [], [], [], [], [], []

Поиск по металинку дал номер бага: Bug 4939224.
Кратко: ошибку можно игнорировать.
Если интересна причина, прошу под кат. Continue reading »

Апр 222011
 

Параметр GLOBAL_NAMES влияет на правила именования dblink'ов. Если он установлен в значение TRUE, то dblink может иметь только имя, совпадающее с именем целевой БД. Если же он равен FALSE, то никаких ограничений на именование dblink'ов нет.

Проведём небольшой эксперимент Continue reading »