diff --git a/dms-online/introduction-terraform/images/dms-simplified-topology-2.png b/dms-online/introduction-terraform/images/dms-simplified-topology-2.png new file mode 100644 index 000000000..3ed79bec7 Binary files /dev/null and b/dms-online/introduction-terraform/images/dms-simplified-topology-2.png differ diff --git a/dms-online/introduction-terraform/images/dms-simplified-topology.png b/dms-online/introduction-terraform/images/dms-simplified-topology.png new file mode 100644 index 000000000..f24efaf1c Binary files /dev/null and b/dms-online/introduction-terraform/images/dms-simplified-topology.png differ diff --git a/dms-online/introduction-terraform/introduction.md b/dms-online/introduction-terraform/introduction.md new file mode 100644 index 000000000..c85b76732 --- /dev/null +++ b/dms-online/introduction-terraform/introduction.md @@ -0,0 +1,76 @@ +# Introduction + +The labs in this workshop will walk you through all the steps to get started using Oracle Cloud Infrastructure (OCI) Database Migration (DMS). + +For these labs convenience the following resources have been created in advance: + +* A Vault +* A Virtual Cloud Network (VCN) +* An Object Storage Bucket +* An Oracle Database 19c instance +* An Oracle Autonomous Database (ADB) instance + +You will create Database Connections for the source and target databases. You will also create a Migration that you will Validate and finally you will Run the actual migration. + +With DMS we make it quick and easy for you to migrate databases from on-premises, Oracle or third-party cloud into Oracle databases on OCI. + +Watch the video below for an overview of Oracle Database Migration. + +[](youtube:1qHjaRFlPUo) + +Estimated workshop time: 180 minutes + +## About OCI Database Migration + +DMS provides high performance, fully managed approach to migrating databases from on-premises, Oracle, or third-party cloud into OCI-hosted databases. Migrations can be in either one of the following modes: + +* **Offline**: The Migration makes a point-in-time copy of the source to the target database. Any changes to the source database during migration are not copied, requiring any applications to stay offline for the duration of the migration. +* **Online**: The Migration makes a point-in-time copy and replicates all subsequent changes from the source to the target database. This allows applications to stay online during the migration and then be switched over from source to target database. + +In the current release of DMS we support Oracle databases located on-premises, in third-party clouds, or on OCI as the source. The supported targets are in OCI, below is a table of supported configurations; + +| | | +|--------------------------|-------------------------| +| Source Databases | Oracle DB 11g, 12c, 18c, 19c ,21c:
on-premises, third-party cloud, OCI. | +| Target Databases | ADB serverless and dedicated
Co-managed Oracle Base Database (VM, BM)
Exadata on Oracle Public Cloud. | +| Supported Source Environments| Oracle Cloud Infrastructure co-managed databases or on-premises environments
Amazon Web Services RDS Oracle Database
Linux-x86-64, IBM AIX
Oracle Solaris | +| Migration Modes | Direct Access to Source
(VPN or Fast Connect) Indirect Access to Source
(Agent on Source Env) | | +| Initial Load
(Offline Migration) | Logical Migration using
Data Pump to Object Store
Data Pump using SQLnet | | +| Replication
(Online Migration) | GoldenGate Integrated Service
GoldenGate Marketplace | + +The DMS service runs as a managed cloud service separated from the user's tenancy and resources. The service operates as a multitenant service in a DMS Service Tenancy and communicates with the user's resources using Private Endpoints (PEs). PEs are managed by DMS and are transparent to the user. + +![dms topology](images/dms-simplified-topology-2.png =80%x*) + +* **DMS Control Plane**: Used by DMS end user to manage Migration and Registered Database objects. The control plane is exposed through the DMS Console UI as well as the REST API. +* **DMS Data Plane**: Managed by DMS Control Plane and transparent to the user. The GGS Data Plane manages ongoing migration jobs and communicates with the user's databases and GoldenGate instance using PEs. The DMS data plane does not store any customer data, as data flows through GoldenGate and Data Pump directly within the user's tenancy. +* **Migration**: A Migration contains metadata for migrating one database. It contains information about source, target, and migration methods and is the central object for users to run migrations. After creating a migration, a user can validate the correctness of the environment and then run the migration to perform the copy of database data and schema metadata from source to target. +* **Migration Job**: A Migration Job displays the state or a given Migration execution, either for validation or migration purposes. A job consists of a number of sequential phases, users can opt to wait after a given phase for user input to resume with the following phase. +* **Database Connection**: A Database Connection represents information about a source or target database, such as connection details and authentication credentials. DMS uses the OCI Vault to store credentials. A Database Connection is reusable across multiple Migrations. + +Estimated Lab Time: 180 minutes -- this estimate is for the entire workshop - it is the sum of the estimates provided for each of the labs included in the workshop. + + +### Objectives + +In this lab, you will: + +* Create Database Connections +* Create, Validate, and Run a Migration + +### Prerequisites + +* An Oracle Cloud Account - Please view this workshop's LiveLabs landing page to see which environments are supported + +You may now [proceed to the next lab](#next). + +## Learn More + +* [Blog - Elevate your database into the cloud using Oracle Cloud Infrastructure Database Migration](https://blogs.oracle.com/dataintegration/elevate-your-database-into-the-cloud-using-oracle-cloud-infrastructure-database-migration) +* [Overview of Oracle Cloud Infrastructure Database Migration](https://docs.oracle.com/en-us/iaas/database-migration/doc/overview-oracle-cloud-infrastructure-database-migration.html) + +## Acknowledgments + +* **Author** - Alex Kotopoulis, Director, Product Management +* **Contributors** - Kiana McDaniel, Hanna Rakhsha, Killian Lynch, Solution Engineers, Austin Specialist Hub +* **Last Updated By/Date** - Jorge Martinez, Product Manager, July 2022 diff --git a/dms-online/register-and-migrate-terraform/create-registered-databases-terraform.md b/dms-online/register-and-migrate-terraform/create-registered-databases-terraform.md index 35730a465..205eff3f1 100644 --- a/dms-online/register-and-migrate-terraform/create-registered-databases-terraform.md +++ b/dms-online/register-and-migrate-terraform/create-registered-databases-terraform.md @@ -1,8 +1,9 @@ -# Create Registered Databases +# Create Database Connections ## Introduction -This lab walks you through the steps to create a database connection to use with DMS. Database connection resources enable networking and connectivity for the source and target databases. +This lab walks you through the steps to create a database connections to use with DMS. Database connection resources enable networking and connectivity for the source and target databases. +You will also create and Online Migration leveraging the integrated GoldenGate feature available in DMS. Estimated Lab Time: 20 minutes @@ -15,7 +16,7 @@ In this lab, you will: * Create a Database Connection for Source CDB * Create a Database Connection for Source PDB * Create a Database Connection for Target ADB -* Create a Migration +* Create an Online Migration ### Prerequisites diff --git a/dms-online/register-and-migrate-terraform/images/select-testmigration.png b/dms-online/register-and-migrate-terraform/images/select-testmigration.png new file mode 100644 index 000000000..ced28c32a Binary files /dev/null and b/dms-online/register-and-migrate-terraform/images/select-testmigration.png differ diff --git a/dms-online/validate-and-run-terraform/images/adb-navigation.png b/dms-online/validate-and-run-terraform/images/adb-navigation.png index 91a783796..72f131788 100644 Binary files a/dms-online/validate-and-run-terraform/images/adb-navigation.png and b/dms-online/validate-and-run-terraform/images/adb-navigation.png differ diff --git a/dms-online/validate-and-run-terraform/images/cleanup-completed.png b/dms-online/validate-and-run-terraform/images/cleanup-completed.png index f267483a8..326d2e4aa 100644 Binary files a/dms-online/validate-and-run-terraform/images/cleanup-completed.png and b/dms-online/validate-and-run-terraform/images/cleanup-completed.png differ diff --git a/dms-online/validate-and-run-terraform/images/migration-create.png b/dms-online/validate-and-run-terraform/images/migration-create.png new file mode 100644 index 000000000..8edec6e40 Binary files /dev/null and b/dms-online/validate-and-run-terraform/images/migration-create.png differ diff --git a/dms-online/validate-and-run-terraform/images/monitor-lag-waiting.png b/dms-online/validate-and-run-terraform/images/monitor-lag-waiting.png index 36008095b..98c33e90d 100644 Binary files a/dms-online/validate-and-run-terraform/images/monitor-lag-waiting.png and b/dms-online/validate-and-run-terraform/images/monitor-lag-waiting.png differ diff --git a/dms-online/validate-and-run-terraform/images/monitor-replication-lag.png b/dms-online/validate-and-run-terraform/images/monitor-replication-lag.png index 4543559c7..db26e9e1e 100644 Binary files a/dms-online/validate-and-run-terraform/images/monitor-replication-lag.png and b/dms-online/validate-and-run-terraform/images/monitor-replication-lag.png differ diff --git a/dms-online/validate-and-run-terraform/images/press-validate.png b/dms-online/validate-and-run-terraform/images/press-validate.png index 54d4f6e6e..60d41dfcd 100644 Binary files a/dms-online/validate-and-run-terraform/images/press-validate.png and b/dms-online/validate-and-run-terraform/images/press-validate.png differ diff --git a/dms-online/validate-and-run-terraform/images/pump.png b/dms-online/validate-and-run-terraform/images/pump.png index 2d6524246..44c298a61 100644 Binary files a/dms-online/validate-and-run-terraform/images/pump.png and b/dms-online/validate-and-run-terraform/images/pump.png differ diff --git a/dms-online/validate-and-run-terraform/images/resume-job-switchover.png b/dms-online/validate-and-run-terraform/images/resume-job-switchover.png index f0fd60757..08bf6ec76 100644 Binary files a/dms-online/validate-and-run-terraform/images/resume-job-switchover.png and b/dms-online/validate-and-run-terraform/images/resume-job-switchover.png differ diff --git a/dms-online/validate-and-run-terraform/images/select-testmigration.png b/dms-online/validate-and-run-terraform/images/select-testmigration.png index de4ad5649..ced28c32a 100644 Binary files a/dms-online/validate-and-run-terraform/images/select-testmigration.png and b/dms-online/validate-and-run-terraform/images/select-testmigration.png differ diff --git a/dms-online/validate-and-run-terraform/images/succeeded.png b/dms-online/validate-and-run-terraform/images/succeeded.png index e2e548e5b..8c5b7b065 100644 Binary files a/dms-online/validate-and-run-terraform/images/succeeded.png and b/dms-online/validate-and-run-terraform/images/succeeded.png differ diff --git a/dms-online/validate-and-run-terraform/validate-and-run-terraform.md b/dms-online/validate-and-run-terraform/validate-and-run-terraform.md index ea358f0cb..6ec0c57eb 100644 --- a/dms-online/validate-and-run-terraform/validate-and-run-terraform.md +++ b/dms-online/validate-and-run-terraform/validate-and-run-terraform.md @@ -23,19 +23,19 @@ In this lab, you will: ## Task 1: Validate Migration -1. In the OCI Console Menu ![](images/hamburger.png =22x22), go to **Migration > Database Migration > Migrations** +1. In the OCI Console Menu ![hamburger icon](images/hamburger.png =22x22), go to **Migration & Disaster Recovery > Database Migration > Migrations** - ![Screenshot of migration navigation](images/migration-navigation.png =90%x*) + ![create migration navigation](images/migration-create.png =50%x*) 2. Select **TestMigration** - ![Screenshot of select testmigration](images/select-testmigration.png =90%x*) + ![Screenshot of select testmigration](images/select-testmigration.png =50%x*) 3. If Migration is still being created, wait until Lifecycle State is Active 4. Press **Validate** button - ![Screenshot of press validate](images/press-validate.png =90%x*) + ![Screenshot of press validate](images/press-validate.png =50%x*) 5. Press **Validate** button to confirm @@ -56,9 +56,9 @@ In this lab, you will: ## Task 2: Run Migration - 1. In the OCI Console Menu ![](images/hamburger.png =22x22), go to **Migration > Database Migration > Migrations** + 1. In the OCI Console Menu ![hamburger icon](images/hamburger.png =22x22), go to **Migration & Disaster Recovery > Database Migration > Migrations** - ![Screenshot of migration navigation](images/migration-navigation.png =90%x*) + ![create migration navigation](images/migration-create.png =50%x*) 2. Select **TestMigration** @@ -68,19 +68,21 @@ In this lab, you will: ![Screenshot of start migration](images/monitor-replication-lag.png =50%x*) - 4. Click on **View Details** in the information box above the validate button. You can also navigate to the Jobs resources of this migration. + 4. Click on **Jobs** in the left-hand **Resources** list - ![Screenshot of click jobs](images/runmigration-view-details.png) + 5. Click on the most recent Migration Job - 5. Job phases are updated as the migration progresses + 6. Click on **Phases** in the left-hand **Resources** list - 6. Wait till **Monitor replication lag** phase completes and migration goes into **Waiting** state + 7. Job phases are updated as the migration progresses + + 8. Wait till **Monitor replication lag** phase completes and te migration goes into **Waiting** state. ![Screenshot of completed phases](images/monitor-lag-waiting.png =90%x*) Data replication is in progress and is capturing all transactions since start of the migration. - 7. Open the Cloud Shell by pressing the icon ![](images/cloudshell.png =22x22) and enter the following command to run SQL*Plus: + 9. Open the Cloud Shell by pressing the icon ![](images/cloudshell.png =22x22) and enter the following command to run SQL*Plus: ``` sqlplus system/@:1521/ @@ -110,54 +112,52 @@ In this lab, you will: This will insert a record into the source database simulating new transactions which GoldenGate will identify and replicate to the target database. You can close the Cloud Shell window now. - 8. Let's review the migrated data in the autonomous database. + 10. Let's review the migrated data in the autonomous database. In the OCI Console Menu ![](images/hamburger.png =22x22), go to **Oracle Database > Autonomous Database** ![Screenshot of migration navigation](images/adb-navigation.png =90%x*) - 9. In the list of autonomous databases, click on the entry TargetADB#####. + 11. In the list of autonomous databases, click on the entry TargetADB#####. ![Screenshot of ADB list](images/adb-list.png =90%x*) - 10. Click on the **Database Actions** button. If your browser blocks the popup, change it to allow popups from Oracle cloud. + 12. Click on the **Database Actions** button. If your browser blocks the popup, change it to allow popups from Oracle cloud. ![Screenshot of ADB list](images/db-actions.png =90%x*) - 11. In **Database Actions**, click on the **SQL** tile. Close any popup dialogs. + 13. In **Database Actions**, click on the **SQL** tile. Close any popup dialogs. ![Screenshot of ADB list](images/db-actions-sql.png =50%x*) - 12. On the left side, change the user to **EMPL01** and right-click on the table **EMPL** to select **Open**. + 14. On the left side, change the user to **EMPL01** and right-click on the table **EMPL** to select **Open**. ![Screenshot of ADB list](images/db-actions-empl.png =40%x*) - 13. On the right side, select the tab **Data**. All entries of the test data table EMPL will show. Click on the filter icon and fill in a search condition for col1 equals 99999. The entry for Joe Smith should appear, which got replicated in real-time by GoldenGate. + 15. On the right side, select the tab **Data**. All entries of the test data table EMPL will show. Click on the filter icon and fill in a search condition for col1 equals 99999. The entry for Joe Smith should appear, which got replicated in real-time by GoldenGate. - ![Screenshot of ADB list](images/db-actions-data.png =40%x*) + ![Screenshot of ADB list](images/db-actions-data.png =90%x*) - 14. You can close the Database Actions window and go back to OCI. + 16. You can close the Database Actions window and go back to OCI. - 15. In the OCI Console Menu ![](images/hamburger.png =22x22), go to **Migration > Database Migration > Migrations** + 17. In the OCI Console Menu ![hamburger icon](images/hamburger.png =22x22), go to **Migration & Disaster Recovery > Database Migration > Migrations** - ![Screenshot of migration navigation](images/migration-navigation.png =90%x*) + ![create migration navigation](images/migration-create.png =50%x*) - 16. Select **TestMigration** + 18. Select **TestMigration** ![Screenshot of select testmigration](images/select-testmigration.png =90%x*) - 17. Click on **View Details** in the information box above the validate button. You can also navigate to the Jobs resources of this migration. - - ![Screenshot of View Details ](images/waiting-migration-viewdetails.png =90%x*) + 19. Select the most recent Migration job. - 18. This is the point where a migration user would stop the source application so that no more transactions are applied to the source DB. You can now press **Resume** on the job to complete replication. In the Resume Job dialog, chose the **Switchover App** phase and press **Resume**. The Switchover App phase will gracefully stop replication and signal the target application to initiate transactions to the target DB. + 20. This is the point where a migration user would stop the source application so that no more transactions are applied to the source DB. You can now press **Resume** on the job to complete replication. In the Resume Job dialog, chose the **Switchover App** phase and press **Resume**. The Switchover App phase will gracefully stop replication and signal the target application to initiate transactions to the target DB. ![Screenshot of resume job switchover](./images/resume-job-switchover.png " ") - 19. After Job resumes and changes the status to WAITING after Switchover App phase, press Resume. Select the last phase Cleanup and press Resume: - ![Screenshot of resume job cleanup](./images/resume-job-cleanup.png " ") + 21. After Job resumes and changes the status to WAITING after Switchover App phase, press Resume. Select the last phase Cleanup and press Resume: + ![Screenshot of resume job cleanup](./images/resume-job-cleanup.png =60%x*) - 20 . The migration runs the final cleanup phases and shows as Succeeded when finished: - ![Screenshot of resume job cleanup completed](./images/cleanup-completed.png " ") - ![Screenshot of succeeded Migration](./images/succeeded.png " ") + 22. The migration runs the final cleanup phases and shows as Succeeded when finished: +![Screenshot of resume job cleanup completed](./images/cleanup-completed.png =90%x*) +![Screenshot of succeeded Migration](./images/succeeded.png " ") ## Learn More diff --git a/dms-online/workshops/ocw-livelabs/manifest.json b/dms-online/workshops/ocw-livelabs/manifest.json index f0b382e1e..061cbae7e 100644 --- a/dms-online/workshops/ocw-livelabs/manifest.json +++ b/dms-online/workshops/ocw-livelabs/manifest.json @@ -9,7 +9,7 @@ "tutorials": [ { "title": "Introduction", - "filename": "../../introduction/introduction.md" + "filename": "../../introduction-terraform/introduction.md" }, { "title": "Lab 1: Register and Setup Migration",