- Moving to a new OS platform
- Upgrading the database to a newer version
- Moving to another database (with new schemas)
- Moving to a new databases (different type)
Answer: It's important to make sure there is no open transaction when starting the extract. You will always want to check the oldest open transaction. You can use the following command:
GGSCI> send extract, showtransYou can find more detailed SQL query for Oracle DB at [2].
The following are the steps during the zero-down time migration:
- Start the extract at the old DB
Please include EXCLUDEUSER <ggadmin> in the extract to avoid data looping later. - Create the new DB and import data from old DB to the new DB.
This normally involved the import/export tools or the backup tools like Oracle RMAN. - Start the replicat at the new DB with HANDLECOLLISIOINS.
The collisions only happens if there are transactions after extract is started and before exporitng data from the old DB (between step 1 and 2)
Note: After GoldenGate 12.1.2, you can also use the start replicat with afterCSN to atCSN to avoid handling collisions. - Checke the lag and remove HANDLECOLLISIOINS after repliat catches up (no lag)
<--- Now, the new DB should be synced up with the old DB (Live Standby) - Setup the extract on the new DB and replicat on the old DB to enable replication from the new DB to the old DB. Please include EXCLUDEUSER <ggadmin> in the extract to avoid data looping.
<--- Now, *restricted* bi-directional replication is setup without CDR.
Both old and new DB can take application transactions. You just need to make sure no current update on the same table. - Migrate application gradually to the new system and transit to the complete cut over to the new database.
- If there is anything wrong, you can always switch to the old database. <--- This is Fallback.
Answer: You can show the records in the current transaction with the following command:
Answer: To check the collisions, please use the "stats " command for the report.