У меня есть две базы данных oracle 11g: производственная и резервная, где некоторые данные реплицируются с помощью механизма MQ, для остальных мне все еще нужно решение. По сути, мне нужен способ синхронной репликации для столбца в таблице, которая очень быстро обновляется в производственной базе данных. Репликация должна быть мгновенной, поэтому в случае выхода из строя производственной базы данных вся эта информация (этот столбец) должна быть готова и обновлена при резервном копировании. Это с одной стороны. С другой стороны, производительность не должна изменяться на производстве во время репликации. В таблице могут быть сотни тысяч строк, не все из них должны быть реплицированы (есть данные IN и данные OUT - только для данных OUT мне нужно, чтобы этот столбец реплицировался при резервном копировании). Я думал о материализованном представлении, триггерах и потоках. Для триггеров все... просто, но некоторые люди говорят, что это не рекомендуется. Я сделал ссылку на базу данных и такой триггер:
after update of column
for each row
update table@backup set column = :NEW.column...
Для материализованного представления... У меня пока нет решения, так как я не знаю, как на самом деле обновить в моей backup.table только последнюю строку, обновленную в production.table, используя записи из materializedview.
Для потоков. Я не знаком с ними и действительно не знаю, смогу ли я реплицировать только изменения в столбце или, лучше, реплицировать всю таблицу, а затем при резервном копировании выполнять некоторые выборки и т. д. и т. д.
Есть идеи? Большое спасибо