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,283 @@
# Implement disaster recovery with local and regional standbys on Oracle Database@AWS
- Source: https://docs.oracle.com/en/solutions/dr-local-regional-standby-db-at-aws/index.html
- Date: 2025-09
- Type: reference-architecture
- Services: exacs, adg, aws, fsdr
- Tags: database, multicloud, aws, ha-dr
## Summary (catalog)
Local standby for HA within same AWS region, regional standby for DR. Active Data Guard with Fast-Start Failover for automated failover. Full Stack DR service for cross-service failover orchestration.
## Architecture (fetched from source)
Architecture
This architecture shows Oracle Exadata Database
Service on Oracle Database@AWS in a disaster recovery topology using two standby databases:
- A local standby in the same region as the primary but in a different availability
zone.
- A remote standby in a different region.
Description of the illustration exadb-dbaws-dr-arch.png
exadb-dbaws-dr-arch-oracle.zip
Oracle Database runs in an Exadata VM cluster in the primary Region
1 . For data protection and disaster recovery, Active Data Guard replicates the data to the following two Exadata VM clusters:
- One in the same region but in a different availability zone (local
standby). A local standby is ideal for failover scenarios, offering zero data loss
for local failures while applications continue to operate without the performance
overhead of communicating with a remote region.
- A second standby in a different region (remote standby). A remote
standby is typically used for disaster recovery or to offload read-only
workloads.
Although Active Data Guard network traffic can traverse the AWS backbone, Oracle recommends this architecture
which routes it over OCI for optimized throughput and latency.
The Oracle Exadata Database
Service on Oracle Database@AWS network is connected to the Exadata client subnet using a Dynamic Routing Gateway
(DRG) managed by Oracle. A DRG is also required to create a peer connection between VCNs
in different regions. Because only one DRG is allowed per VCN in OCI, a second VCN with
its own DRG is required to connect the primary and standby VCNs in each region.
- The primary Exadata VM cluster is deployed in Region
1 , availability zone 1 in VCN1 with CIDR
10.10.0.0/16 and client subnet CIDR
10.10.1.0/24 .
- VCN1 has Local Peering Gateways (LPGs) LPG1
remote and LPG1 local .
- The Hub VCN in the primary Region 1 is Hub
VCN1 with CIDR 10.11.0.0/16 .
- The first standby Exadata VM Cluster is deployed in Region
1 , availability zone 2 in VCN2 with
CIDR 10.20.0.0/16 and client subnet CIDR
10.20.1.0/24 .
- VCN2 has two LPGs LPG2 remote and
LPG2 local .
- The Hub VCN is the same as the Hub VCN for the Primary database,
Hub VCN1 as it resides in the same region.
- Hub VCN1 has LPG Hub LPG1 and
Hub LPG2 and DRG1 .
- The second standby Exadata VM cluster is deployed in Region
2 in VCN3 with CIDR 10.30.0.0/16 and
client subnet CIDR 10.30.1.0/24 .
- VCN3 has a LPG LPG3 remote .
- The Hub VCN in the remote standby Region 2 is
Hub VCN3 with CIDR 10.33.0.0/16 .
- Hub VCN3 has a LPG Hub LPG3 and DRG
DRG3 .
- No subnet is required for the hub VCNs to enable transit routing.
Therefore, these VCNs can use very small IP CIDR ranges.
This architecture supports the following components:
- AWS region
AWS regions
are separate geographic areas. They consist of multiple,
physically separated, and isolated availability zones that
are connected with low latency, high throughput, highly
redundant networking.
- AWS availability zone
Availability
zones are highly available data centers within each AWS
region.
- OCI virtual cloud
network and subnet
A virtual cloud
network (VCN) is a customizable, software-defined
network that you set up in an OCI region. Like
traditional data center networks, VCNs give you
control over your network environment. A VCN can
have multiple non-overlapping classless
inter-domain routing (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.
- Route table
Virtual
route tables contain rules to route traffic from
subnets to destinations outside a VCN, typically
through gateways.
- Network security group
(NSG)
NSGs act as virtual firewalls for your cloud resources. With the zero-trust security model of OCI you control the network traffic inside a VCN. An NSG consists of a set of ingress and egress security rules that apply to only a specified set of virtual network interface cards (VNICs) in a single VCN.
- Local
peering
Local peering allows two VCNs
within the same OCI region to communicate directly
using private IP addresses. This communication
does not traverse the internet or your on-premises
network. Local peering is enabled by a Local
Peering Gateway (LPG), which serves as the
connection point between VCNs. Configure an LPG in
each VCN and establish a peering relationship to
allow instances, load balancers, and other
resources in one VCN to securely access resources
in another VCN within the same region.
- 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 OCI region, an
on-premises network, or a network in another cloud
provider.
- Remote
peering
Remote
peering enables private communication between
resources in different VCNs, which can be located
in the same or different OCI regions. Each VCN
uses its own Dynamic Routing Gateway (DRG) for
remote peering. The DRGs securely route traffic
between the VCNs over OCI's private backbone,
allowing resources to communicate using private IP
addresses without routing traffic over the
internet or through on-premises networks. Remote
peering removes the need for internet gateways or
public IP addresses for instances that need to
connect across regions.
- Oracle Exadata Database Service on Dedicated
Infrastructure
Oracle Exadata Database Service on Dedicated
Infrastructure enables you to leverage the power of Exadata in the cloud. Oracle Exadata Database
Service delivers proven Oracle Database capabilities on purpose-built, optimized Oracle Exadata infrastructure in the public cloud. Built-in cloud automation, elastic resource scaling, security, and fast performance for all Oracle Database workloads helps you simplify management and reduce costs.
- Oracle Data Guard
Oracle Data Guard and 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.
Recommendations
Use the following recommendations as a starting point
when performing disaster recovery for Oracle Exadata Database
Service on Oracle Database@AWS . Your requirements might differ from the architecture described here.
- Use Active Data Guard for comprehensive data corruption prevention with automatic block repair, online
upgrades and migrations, and to offload the workload to standby with read-mostly
scale-out.
- Enable Application Continuity to mask database outages during planned and unplanned events from end-users.
- Configure automatic backups to Oracle Database Autonomous
Recovery Service in OCI. Although data is protected by Oracle Data Guard , minimize the backup workload on the database by implementing the
incremental-forever backup strategy that eliminates weekly
full backups. Alternatively, use Amazon Simple Storage Service for automatic b

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 496 KiB

View File

@@ -0,0 +1,7 @@
The diagram you downloaded is available in these formats:
- DRAWIO
- SVG
You can customize them for your organization using the associated tools:
- For DRAWIO format, use draw.io for Confluence, online at diagrams.net, or the desktop app. Go to diagrams.net for more information.
- For SVG format, use an SVG editor such as Inkscape or Sketsa SVG Editor, which are free and available for Windows, macOS, Linux.