Обработка данных только в базе данных обрабатывается приложением, остальное необходимо для целей отчетности, но это приводит к плохой производительности приложения. Я хотел бы архивировать исторические данные без изменения схемы базы данных.Реплицированная база данных для хранения исторических данных
Есть ли возможность реплицировать базу данных, удалять старые данные из первичного экземпляра и регулярно синхронизировать новые изменения в реплицированную базу данных? Таким образом, первичная «транзакционная» база данных будет легкой, а реплицированная база данных будет содержать полный набор как текущих, так и исторических данных для целей отчетности.
Не могли бы вы порекомендовать некоторые инструменты или дать несколько советов по достижению этого в Oracle?
редактировать: Я интересно, если я мог бы использовать потоки и каким-то образом сделать обработчик DML игнорировать УДАЛИТЬ операции над строками (docs.oracle.com/cd/B28359_01/server.111/b28321/...), так что при данных исторические строки репликации будут сохранены, несмотря на то, что они удалены из транзакционного db.
Вы имеете в виду [хранилище данных] (https://docs.oracle.com/cd/E11882_01/server.112/e25554/concept.htm#DWHSG8063)? –
Вы хотите архивировать данные? у вас есть 100 миллионов строк в таблице, и вы хотите переместить половину из них (зависеть от условий) к другой таблице и удалить их из первичной базы данных? если да, я не думаю, что с репликацией вы можете это сделать. Я использую процедуру, которая выполняет работу по архивированию данных, что сильно влияет на производительность. – Moudiz
К сожалению, у меня нет возможности модифицировать схему ни для текущих, ни для исторических данных. Функции отчетности и транзакции реализованы на основе существующей схемы. Я стремлюсь к импровизированному решению, не мешая текущей реализации. – kar8o