Files
oci-deal-accelerator/kb/diagram/assets/archcenter-refs/migrate-database-with-zdm/_description.md
root b30a4f0d32 Diagram generation: ref-arch-driven procedure + spec validator + KB enrichment
The diagram path now follows a documented standard procedure (lookup
the closest Oracle Architecture Center reference → confirm components
→ author absolute_layout → spec validator → render → visually verify)
and ships persistent guardrails so layout regressions can't recur.

Persistent procedure changes (apply to all users, all sessions):
- tools/diagram_spec_validator.py — geometry checks (CONTAINER_TOO_THIN,
  CONTAINER_PADDING_VIOLATION, LABEL_OVERFLOW_PARENT) run BEFORE either
  renderer (drawio + PPTX). Catches the subnet-collapse / label-overflow
  bugs that the post-render drawio validator missed.
- tools/oci_diagram_gen.py + tools/oci_pptx_diagram_gen.py — call the
  spec validator before emitting any output. Adds mysql / mysql_heatwave
  type aliases.
- tools/archcenter_pattern_lookup.py — scores against cached page
  descriptions (not just the 1-line summary), supports --queries for
  multi-fragment composition, and applies synonym expansion via
  kb/architecture-center/synonyms.yaml so "LB HA cross AD" matches
  "load balancer high availability availability domain".
- kb/architecture-center/synonyms.yaml — canonical synonym table
  (load balancer, autonomous database, data guard, …) used by the
  lookup scorer.

KB enrichment:
- tools/archcenter_description_fetcher.py + 121 cached _description.md
  under kb/diagram/assets/archcenter-refs/<slug>/. Removes the runtime
  dependency on docs.oracle.com when authoring specs and feeds the
  pattern-lookup scorer.
- 110+ cached .drawio / .svg / .png references for offline reuse,
  plus the OCI Toolkit v24.2 import (kb/diagram/assets/oci-toolkit-drawio).

Documentation:
- docs/skill/output-formats.md — new "Standard diagram-generation
  procedure (MANDATORY)" + geometry rules + the new validator entry.
- SKILL.md option 2 — references the mandatory procedure.
- README.md — describes the spec validator, archcenter_pattern_lookup
  and description fetcher, and updates the KB-health table.

Tooling that backs the procedure (cumulative across recent sessions):
tools/archcenter_case_runner.py, archcenter_batch_driver.py,
archcenter_zip_downloader.py, drawio_visual_validator.py,
drawio_fidelity_eval.py, harvest_drawio_icon.py, import_oci_library.py,
oci_pptx_diagram_gen.py, oci_pptx_render.py, refresh_pptx_icon_index.py.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 21:15:21 -03:00

8.3 KiB
Raw Blame History

Migrate an on-premises database to the cloud with zero downtime

Summary (catalog)

Oracle Zero Downtime Migration for on-premises to OCI. Physical migration for same-version moves, logical for cross-version/platform. GoldenGate for continuous replication during extended cutover windows.

Architecture (fetched from source)

Architecture

This architecture shows the components used with Oracle Zero Downtime Migration (ZDM). Use this architecture when planning to migrate Oracle Database from on-premises to the same database type and version in Oracle Cloud.

Description of the illustration migrate-db-zdm.png Zero Downtime Migration uses a controlled switchover method for dynamically moving database services to the new database environment (either virtual machine or bare metal) in Oracle Cloud Infrastructure (OCI). It uses Oracle Recovery Manager (RMAN) to back up the source database to Oracle Cloud Infrastructure Object Storage , creating a standby database (with Oracle Data Guard configuration, Oracle Data Guard Maximum Performance protection mode and asynchronous redo transport mode) in the target environment from the backup, synchronizes the source and target databases, and switches over to the target database as the primary database.

This architecture supports the following components:

  • Databases The source database is Oracle Database 19c and the target database is Oracle Base Database Service virtual machine instance in Oracle Cloud Infrastructure . You can provision the target from the OCI Console, or you can use Terraform code to deploy the topology. The Terraform code includes input variables, which you can use to tune the architecture to suit your topology requirements.

  • ZDM service host The ZDM service host is where the Zero Downtime Migration software is installed. It is also known as the ZDM node. Do not run the ZDM service host on an instance that is running Oracle Grid Infrastructure .

  • Bastion host The bastion host is a compute instance that serves as a secure, controlled entry point to the topology from outside the cloud. The bastion host is provisioned typically in a demilitarized zone (DMZ). It enables you to protect sensitive resources by placing them in private networks that can't be accessed directly from outside the cloud. The topology has a single, known entry point that you can monitor and audit regularly. So, you can avoid exposing the more sensitive components of the topology without compromising access to them.

  • Block volume With Oracle Cloud Infrastructure Block Volumes , you can create, attach, connect, and move storage volumes, and change volume performance to meet your storage, performance, and application requirements. After you attach and connect a volume to an instance, you can use the volume like a regular hard drive. You can also disconnect a volume and attach it to another instance without losing data.

  • Region An Oracle Cloud Infrastructure region is a localized geographic area that contains one or more data centers, called availability domains. Regions are independent of other regions, and vast distances can separate them (across countries or even continents).

  • Object storage Oracle Cloud Infrastructure Object Storage provides quick access to large amounts of structured and unstructured data of any content type, including database backups, analytic data, and rich content such as images and videos. You can safely and securely store and then retrieve data directly from the internet or from within the cloud platform. You can scale storage without experiencing any degradation in performance or service reliability. Use standard storage for "hot" storage that you need to access quickly, immediately, and frequently. Use archive storage for "cold" storage that you retain for long periods of time and seldom or rarely access.

  • Availability domain Availability domains are standalone, independent data centers within a region. The physical resources in each availability domain are isolated from the resources in the other availability domains, which provides fault tolerance. Availability domains dont share infrastructure such as power or cooling, or the internal availability domain network. So, a failure at one availability domain shouldn't affect the other availability domains in the region.

  • Fault domain A fault domain is a grouping of hardware and infrastructure within an availability domain. Each availability domain has three fault domains with independent power and hardware. When you distribute resources across multiple fault domains, your applications can tolerate physical server failure, system maintenance, and power failures inside a fault domain.

  • SQLNet and SSH connectivity The ZDM node requires SQLNet (default database port 1521) and SSH access (default port 22) to the source and target databases.

Zero Downtime Migration enables and allows fallback capability after database migration is complete. Upon switchover, the target database running in OCI becomes the primary database, and the on-premises becomes the standby. The SQL*Net connectivity between the new primary and the new standby after the switchover enables the configuration to continue to synchronize data from the new primary in Oracle Cloud Infrastructure to the new standby on-premises.

  • Internet gateway An internet gateway allows traffic between the public subnets in a VCN and the public internet.

  • Service gateway The service gateway provides access from a VCN to other services, such as Oracle Cloud Infrastructure Object Storage . The traffic from the VCN to the Oracle service travels over the Oracle network fabric and does not traverse the internet.

  • Security list For each subnet, you can create security rules that specify the source, destination, and type of traffic that must be allowed in and out of the subnet.

  • Route table Virtual route tables contain rules to route traffic from subnets to destinations outside a VCN, typically through gateways.

A private connection between on-premises and the cloud is not shown in the diagram. Connectivity includes the following components:

  • Site-to-Site VPN Site-to-Site VPN provides IPSec VPN connectivity between your on-premises network and VCNs in Oracle Cloud Infrastructure . The IPSec protocol suite encrypts IP traffic before the packets are transferred from the source to the destination and decrypts the traffic when it arrives.

  • FastConnect Oracle Cloud Infrastructure FastConnect creates a dedicated, private connection between your data center and Oracle Cloud Infrastructure . FastConnect provides higher-bandwidth options and a more reliable networking experience when compared with internet-based connections.

  • Dynamic routing gateway (DRG) The DRG is a virtual router that provides a path for private network traffic between VCNs in the same region, between a VCN and a network outside the region, such as a VCN in another Oracle Cloud Infrastructure region, an on-premises network, or a network in another cloud provider.

About Required Services and Roles

This solution requires the following services, products, and roles:

  • Oracle Database 11.2.0.4 or higher deployed on-premises

  • Oracle Linux 7

  • Oracle Zero Downtime Migration software

  • Oracle Base Database Service virtual machine. You can provision the system, or you can use Terraform code to deploy the target cloud topology. You can use the code available on GitHub to provision the required networking resources, a compute instance for the bastion server, and an Oracle Base Database Service .

These are the roles needed for each service.

Service Name: Role Required to...

Oracle Cloud Infrastructure: Admin Create the target Oracle Base Database Service and set up resources in Oracle Cloud.

Oracle Cloud Infrastructure : Admin

Provision the target Oracle Base Database Service and set up resources in Oracle Cloud.

Oracle Cloud Infrastructure Object Storage : Admin

Create a bucket to store the backup data from the on-premises database.

Oracle Database: root Access the database using SSH.

Ora