我计划将驻留在 oracle 数据库中的数据迁移到 CMDB 应用程序数据库。
由于数据库对 CMDB 的最终用户/开发人员不可见,因此我们使用 API 将数据导入 CMDB。
目前我的问题是,当我们进行迁移时,我无法关闭 oracle 数据库,这意味着,当我通过 ETL 工具进行迁移时,oracle 数据库将始终插入数据。因此,即使迁移完成,数据也会再次填充到 oracle 数据库中。
我怎样才能解决这种情况?没有停机时间?还是永远不可能?
我计划将驻留在 oracle 数据库中的数据迁移到 CMDB 应用程序数据库。
由于数据库对 CMDB 的最终用户/开发人员不可见,因此我们使用 API 将数据导入 CMDB。
目前我的问题是,当我们进行迁移时,我无法关闭 oracle 数据库,这意味着,当我通过 ETL 工具进行迁移时,oracle 数据库将始终插入数据。因此,即使迁移完成,数据也会再次填充到 oracle 数据库中。
我怎样才能解决这种情况?没有停机时间?还是永远不可能?
To minimise downtime: assuming all tables have a primary key (which they should), record each tables' primary key value at point of migration, migrate the bulk of the data up to the recorded key values, then perform a second step with a small outage to pick up any further changes.
It might be further complicated if you have many new foreign keys being created. I would record all the primary key values in a serializable transaction to ensure a consistent view across all the data.
Your question is quite broad, so this answer is high level. Suggest you add more detail, if you want a more detailed answer.