Вопросы управления издателями Oracle

После завершения настройки издателя Oracle и установки механизмов отслеживания изменения репликаций администраторы систем баз данных Oracle могут использовать стандартные служебные программы Oracle и выполнять типичные задачи системного администратора. Однако необходимо знать о влиянии некоторых административных задач на публикуемые данные.

За исключением удаления или изменения столбца, публикуемого для репликации, либо удаления или изменения любого объекта репликации, эти вопросы не относятся к публикациям моментальных снимков.

Импорт и загрузка данных

Триггеры используются для отслеживания изменений публикаций транзакций в Oracle. Изменения опубликованных таблиц можно реплицировать на подписчики, только если триггеры репликации запускаются, когда происходит обновление, вставка или удаление. В служебных программах Oracle Import и SQL*Loader имеются параметры, которые влияют на запуск триггеров при вставке строк в реплицированные таблицы с помощью этих программ.

Служебная программа Oracle Import

С помощью программы Oracle Import можно присвоить параметру ignore значение 'y' или 'n' (по умолчанию 'n'). Если параметр ignore имеет значение 'n', таблица во время импорта удаляется и создается заново. Таким образом удаляются триггеры репликации и отключается репликация. Если параметр ignore имеет значение 'y', операция импорта попытается загрузить строки в существующую таблицу, что запускает триггеры репликации. Поэтому при импорте реплицированной таблицы с помощью инструмента Import убедитесь, что параметру ignore присвоено значение 'y'.

Служебная программа SQL*Loader

С помощью программы SQL*Loader можно присвоить параметру direct значение 'true' или 'false' (по умолчанию 'false'). Если параметр direct имеет значение 'false', строки вставляются с использованием обычных инструкций INSERT, что запускает триггеры репликации. Если параметр direct имеет значение 'true', загрузка оптимизируется, а триггеры не запускаются. Поэтому при загрузке реплицированной таблицы с помощью инструмента SQL*Loader убедитесь, что параметру direct присвоено значение 'false'.

Внесение изменений в опубликованные объекты

Для следующих действий не требуются особые соображения:

  • Перестроение индексов в опубликованных таблицах.

  • Добавление пользовательских триггеров у опубликованную таблицу.

Следующее действие требует остановки всех операций в опубликованных таблицах:

  • Перемещение опубликованной таблицы.

Для следующих действий требуется удалить публикацию, выполнить нужное действие, а затем заново создать эту публикацию:

  • Усечение опубликованной таблицы.

  • Переименование опубликованной таблицы.

  • Добавление столбца в опубликованную таблицу.

  • Удаление или изменение столбца, опубликованного для репликации.

  • Выполнение операций, не регистрируемых в журналах.

Удаление или изменение объектов репликации

Необходимо удалить и заново сконфигурировать издателя, если удаляются или изменяются любые таблицы отслеживания, триггеры, последовательности или хранимые процедуры. Частичный список таких объектов см. в разделе Объекты, создаваемые на издателе Oracle.

Сведения об удалении и повторной настройке издателя см. в подразделе «Изменения, требующие повторной настройки издателя» раздела Диагностика издателей Oracle.