Назад | Перейти на главную страницу

Как я могу отключить повторное ведение журнала при обновлении материализованного представления?

10gR2 Database, в конфигурации Data Guard как физический, так и логический резервный.

У меня есть материализованное представление, которое периодически полностью обновляет около 40К записей из удаленной базы данных. Он без проблем работал над ежечасным обновлением в течение многих лет. Вчера меня попросили увеличить частоту обновления, например, каждые 2 минуты. Я сделал это, без видимых проблем, до сегодняшнего утра около 4 часов утра каталог архивных журналов был заполнен.

Я весь день борюсь с попыткой отключить ведение журнала. У меня есть:

Кажется, ничто не снижает скорость генерации журнала. Представление обновляется в запланированной задаче с помощью dbms_refresh.refresh непосредственно перед запуском процедуры, которая его читает.

Я знаю, что мне следует переделать процесс, возможно, засыпая данные в глобальную временную таблицу каждый раз при выполнении задания, но это займет некоторое время, чтобы пройти через мельницу контроля качества. Любое понимание того, что мне здесь не хватает? Судя по тому, что я могу прочитать, мне кажется, что я смогу это сделать. это асктом статья кажется, поддерживает это, но я не могу заставить его работать.

Большое спасибо за ваше время.

Ах, я наткнулся на решение. Вместо dbms_refresh используйте dbms_mview следующим образом:

begin dbms_mview.refresh ('MYTABLE', method => 'C', atomic_refresh => false); конец;

Я нашел решение здесь.

Спасибо, что посмотрели.