У меня есть задача перенести данные из другой базы данных в базу данных Oracle.
А данные из предыдущей базы данных содержат информацию аудита, т.е. отслеживание создания / обновления записей с помощью update_time и update_user. Для простоты предположим, что предыдущая база данных, о которой я говорю, - это файл Excel следующего формата:
Key | Value | Update_Time | Update_User |
----|-------|-------------|-------------|
a | 1 | 23/04/2020 | user1 |
b | 2 | 21/04/2020 | user2 |
a | 3 | 20/04/2020 | user1 |
a | 4 | 19/04/2020 | user5 |
a | 5 | 18/04/2020 | user2 |
Как лучше всего перемещать данные в Oracle, чтобы пользователь мог по-прежнему запрашивать данные аудита информация вместе с новым аудитом, учитывая, что данные теперь сохраняются в новую таблицу в Oracle ниже? Oracle предоставляет какое-либо нативное решение для этого? Я пытаюсь Oracle Flashback, но не уверен, как включить эти предыдущие проверки, потому что, как я понимаю, мы можем только запрашивать Flashback для изменения данных с этого момента. В идеале я хочу хранить только самые последние таблицы данных в Oracle, например, так как они являются действительными активными данными:
Key | Value | Last_Update_Time | Last_Update_User |
----|-------|------------------|------------------|
a | 1 | 23/04/2020 | user1 |
b | 2 | 21/04/2020 | user2 |
Допустим, пользователь продолжит редактировать строку с ключом b
24/04 / 2020, затем я хочу получить эти результаты для отображения пользовательского интерфейса (в настоящее время я использую python sqlalchemy для доступа к БД, но решение с запросом sql должно подойти для начала)
Key | Value | Update_Time | Update_User |
----|-------|-------------|-------------|
b | 7 | 24/04/2020 | user2 | ---> this is an update on the new oracle table above
a | 1 | 23/04/2020 | user1 | ---> those rows below I want to somehow load into the oracle without explicitly create a new table for it
b | 2 | 21/04/2020 | user2 |
a | 3 | 20/04/2020 | user1 |
a | 4 | 19/04/2020 | user5 |
a | 5 | 18/04/2020 | user2 |
После изменения основная таблица данных в Oracle должна выглядеть ниже
Key | Value | Last_Update_Time | Last_Update_User |
----|-------|------------------|------------------|
a | 1 | 23/04/2020 | user1 |
b | 7 | 24/04/2020 | user2 |