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>
This commit is contained in:
root
2026-04-25 21:15:21 -03:00
parent 2491c38d4b
commit b30a4f0d32
635 changed files with 365317 additions and 1014 deletions

View File

@@ -0,0 +1,207 @@
# Move to Oracle Database@Azure with Oracle Zero Downtime Migration
- Source: https://docs.oracle.com/en/solutions/oracle-db-at-azure-migration/index.html
- Date: 2024-12
- Type: reference-architecture
- Services: exacs, azure, goldengate
- Tags: database, multicloud, azure, migration
## Summary (catalog)
Zero Downtime Migration to Database@Azure using logical or physical online migration. GoldenGate for continuous replication during cutover. Supports on-premises Oracle DB to ExaCS on Database@Azure.
## Architecture (fetched from source)
Architecture
This reference architecture describes Oracle Database migrations from on-premises to Oracle Exadata Database Service on Dedicated
Infrastructure on Oracle Database@Azure using the physical online migration workflow based on Oracle Data Guard and direct data transfer, providing simplicity, automation, and business
continuity during your database migrations to Oracle Database@Azure .
The Oracle Zero Downtime Migration service host is installed on a separate on-premises virtual machine (VM)
next to the source database. The target Oracle Exadata Database Service on Dedicated
Infrastructure is provisioned in Azure s data center within the Azure Virtual Network (VNet) in a delegated subnet to Oracle Database@Azure . The on-premises data center is connected to Azure s data center via Azure ExpressRoute or site-to-site VPN. The Oracle Zero Downtime Migration physical online workflow based on direct data transfer creates the target
database by using the restore from a service method and avoids backing up
the source database to an intermediate storage location. Oracle Zero Downtime Migration automatically leverages Oracle Data Guard to replicate the data from the on-premises database to the target
database. Oracle Zero Downtime Migration automatically sets up Oracle Data Guard , maintains it, and cleans up the configuration after the migration
completes. Hence, knowledge in setting up and maintaining Oracle Data Guard is not required. After the migration completes, the target database can
use the Automatic Backup feature to back up the database into Oracle Database Autonomous
Recovery Service .
The following diagram illustrates this reference architecture.
Description of the illustration oracle-db-azure-zdm.png
oracle-db-azure-zdm-oracle.zip
Microsoft Azure provides the following components:
- Azure VNIC
The services in Azure data centers have physical network interface cards
(NICs). Virtual machine instances communicate using virtual
NICs (VNICs) associated with the physical NICs. Each
instance has a primary VNIC that's automatically created and
attached during launch and is available during the
instance's lifetime.
- Azure Virtual Network Gateway
Azure Virtual Network Gateway is a service that establishes
secure, cross-premises connectivity between an Azure virtual network and an on-premises network. It allows you
to create a hybrid network that spans your data center and
Azure .
- Azure Delegated subnet
Subnet delegation is
Microsoft's ability to inject a managed service,
specifically a platform-as-a-service service, directly into
your virtual network. This means you can designate or
delegate a subnet to be a home for an external managed
service inside your virtual network. In other words, that
external service will act as a virtual network resource,
even though it technically is an external
platform-as-a-service service.
- Azure Virtual Network
Azure Virtual Network (VNet) is the fundamental building block
for your private network in Azure . VNet enables many Azure resources, such as Azure virtual machines, to securely communicate with each
other, the internet, and on-premises networks.
Oracle Cloud
Infrastructure provides the following components:
- 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).
- Virtual cloud network (VCN) and subnets
A VCN is a customizable, software-defined network that you set up in an Oracle Cloud
Infrastructure region. Like traditional data center networks, VCNs give you control over your network environment. A VCN can have multiple non-overlapping CIDR blocks that you can change after you create the VCN. You can segment a VCN into subnets, which can be scoped to a region or to an availability domain. Each subnet consists of a contiguous range of addresses that don't overlap with the other subnets in the VCN. You can change the size of a subnet after creation. A subnet can be public or private.
- On-premises network
This network is the local network used by your organization. It is one of the spokes of the topology.
- 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.
- Data Guard
Oracle Data Guard and Oracle Active Data Guard provide a comprehensive set of services that create, maintain, manage, and monitor one or more standby databases and that enable production Oracle databases to remain available without interruption. Oracle Data Guard maintains these standby databases as copies of the production database by using in-memory replication. If the production database becomes unavailable due to a planned or an unplanned outage, Oracle Data Guard can switch any standby database to the production role, minimizing the downtime associated with the outage. Oracle Active Data Guard provides the additional ability to offload read-mostly workloads to standby databases and also provides advanced data protection features.
- Exadata Database Service
Oracle Exadata Database
Service enables you to leverage the power of Exadata in the cloud. You can provision
flexible Exadata X9M systems that allow you to add database compute servers and
storage servers to your system as your needs grow. Exadata X9M systems offer
RDMA over Converged Ethernet (RoCE) networking for high bandwidth and low
latency, persistent memory (PMEM) modules, and intelligent Exadata software. You
can provision Exadata X9M systems by using a shape that's equivalent to a
quarter-rack X9M system, and then add database and storage servers at any time
after provisioning.
Oracle Exadata Database Service on Dedicated
Infrastructure provides Oracle Exadata Database Machine as a service in an Oracle Cloud
Infrastructure (OCI) data center. The Oracle Exadata Database Service on Dedicated
Infrastructure instance is a virtual machine (VM) cluster that resides on Exadata racks in
an OCI region.
Oracle Exadata Database Service
on Cloud@Customer provides Oracle Exadata Database
Service that is hosted in your data center.
- Zero Downtime Migration service host
The Oracle Zero Downtime Migration service host should be a dedicated system, but it can be
shared for other purposes.
Oracle Zero Downtime Migration software requires a standalone Oracle Linux host running on any one of the following platforms: Oracle Linux 7, Oracle Linux 8, or Red Hat Enterprise Linux 8.
The
Oracle Zero Downtime Migration service host must be able to connect to the source and
the target database servers; as long as connectivity is
guaranteed, the service host can be located
anywhere.
- Oracle Database Autonomous
Recovery Service
Oracle Database Autonomous
Recovery Service is an Oracle Cloud service that protects Oracle databases. With backup automation and enhanced data protection capabilities for OCI databases, you can offload all backup processing and storage requirements to Oracle Database Autonomous
Recovery Service , thereby eliminating backup infrastructure costs and manual administration overhead.
Oracle Zero Downtime Migration migration workflows
Note:
For each migration worklfow listed, see Explore More for more details.
You can perform the following workflows to migrate your Oracle Database to Oracle Exadata Database Service on Dedicated
Infrastructure on Oracle Database@Azure .
- Physical online migration
The physical online migration
workflow supports migrations between the same database
versions and platforms. It uses direct data tra