Oracle Exadata Exascale

Oracle Database 26ai on Oracle Cloud Infrastructure

Scaling Oracle Database 26ai on Exadata Exascale

From a single-node clustered database deployment to a two-node deployment, with service access, high availability components, service configuration, and workload validation organized for fast technical review.

Scale pathSingle-node clustered database deployment to two-node clustered database deployment.
Availability stackResilience components are presented with full acronym descriptions after the benefits list.
Service routingOracle Net connect descriptors and service-management examples show service access and load balancing.
ValidationCluster commands and database queries check status, sessions, and memory distribution.

Introduction

Oracle Exadata Exascale Database Service on Oracle Cloud Infrastructure (OCI) enables elastic scaling of Oracle Real Application Clusters (RAC) databases. This document explains the architectural transition from a single-node RAC deployment to a two-node RAC deployment running Oracle Database 26ai.

Architecture Evolution

Entry Client connections

Clients connect through service-based connections rather than instance-specific endpoints.

  • Clients
  • Service name
SCAN Single Client Access Name (SCAN) access layer

The connection path uses SCAN, Domain Name System (DNS) resolution, SCAN Virtual IPs (VIPs), and SCAN listeners before service lookup.

  • SCAN Name
  • SCAN DNS
  • SCAN VIPs
  • SCAN Listeners
Service Service resolution

Services resolve the connection toward local listeners on the available RAC nodes.

  • Services
  • Service Lookup
  • Local Listeners
Single-node baseline Node1 / DB26AI1

Node1 hosts DB26AI1 in the single-node RAC deployment and remains active after scaling.

  • Node Virtual IP (VIP)
  • Local Listener
  • Database Instance
Two-node RAC Node2 / DB26AI2

Node2 adds DB26AI2 for the two-node RAC deployment.

  • Node Virtual IP (VIP)
  • Local Listener
  • Database Instance
Fast Application Notification (FAN)

Included in the high availability stack with Oracle Notification Service.

Oracle Notification Service (ONS)

Shown with FAN as part of the SCAN component list.

Runtime Load Balancing (RLB)

Runtime Load Balancing is part of the two-node RAC benefits and service configuration.

Application Continuity (AC) / Transparent Application Continuity (TAC)

Application Continuity and Transparent Application Continuity provide replay-capable availability options.

Benefits

  • Active-active processing
  • Rolling maintenance
  • Runtime Load Balancing
  • Higher availability

Acronym Guide

OCI — Oracle Cloud InfrastructureOracle's cloud platform where Exadata Exascale Database Service runs.
RAC — Real Application ClustersOracle architecture where multiple database instances on clustered nodes access one shared database.
SCAN — Single Client Access NameA stable cluster-level client access name that routes service connections without tying clients to individual nodes.
DNS / VIP — Domain Name System / Virtual IPDNS resolves names such as SCAN; VIPs provide movable network addresses used by cluster listeners and nodes.
FAN / ONS — Fast Application Notification / Oracle Notification ServiceFAN publishes high availability events, and ONS transports those notifications to interested clients.
RLB — Runtime Load BalancingConnection routing uses service workload information to direct clients toward suitable RAC instances.
AC — Application ContinuityReplay-capable availability that can mask recoverable outages by rebuilding and replaying database work when safe.
TAC — Transparent Application ContinuityA mode of Application Continuity that automatically tracks session state and discovers request boundaries.

SCAN Architecture Deep Dive

Text diagram
Client
   |
SCAN DNS
   |
SCAN Listener
   |
Service Lookup
   |
Local Listener
   |
Database Instance

Components

  • SCAN Name
  • SCAN VIPs
  • SCAN Listeners
  • Node VIPs
  • Local Listeners
  • Services
  • FAN
  • ONS

High Availability Components

SCAN

Used exclusively in best practices and shown as the path from clients to service lookup and local listeners.

RAC

The article contrasts one RAC node with a two-node RAC deployment using DB26AI1 and DB26AI2.

FAN

Listed with ONS in the SCAN component stack and included in the high availability infographic.

RLB

Runtime Load Balancing is configured with -clbgoal SHORT and -rlbgoal SERVICE_TIME.

AC

The AC example uses TRANSACTION, commit_outcome TRUE, replay initialization, and retention settings.

TAC

The TAC recommendation uses AUTO, DYNAMIC, commit outcome, replay initialization, and retention settings.

High Availability Infographic

Text diagram
CLIENTS
   |
SCAN
   |
+-----------------------------+
| SCAN VIP1 / SCAN LISTENER1 |
| SCAN VIP2 / SCAN LISTENER2 |
| SCAN VIP3 / SCAN LISTENER3 |
+-----------------------------+
              |
      Service Resolution
              |
     +--------+--------+
     |                 |
  DB26AI1          DB26AI2

 FAN / ONS / RLB / TAC

Availability Technology Comparison

TechnologyReconnectReplay
SCANYesNo
Fast Connection Failover (FCF)YesNo
ACYesYes
TACYesYes

Application Continuity (AC)

Example configuration

Example: Server Control Utility (SRVCTL) manages Oracle RAC database services. The placeholder MYCDB represents the Container Database (CDB), and pdb1 represents a Pluggable Database (PDB) service.

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype TRANSACTION \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Transparent Application Continuity (TAC)

Recommended configuration

Recommended configuration: SRVCTL applies the TAC service attributes to the CDB and PDB service placeholders used in this example.

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype AUTO \
-session_state DYNAMIC \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Service Configuration and Load Balancing

Transparent Network Substrate (TNS) connect descriptor

This Oracle Net descriptor uses the PDB1 service name, SCAN host name, load balancing, and failover flags for service-based access.

TNS
PDB1 =
 (DESCRIPTION=
   (LOAD_BALANCE=ON)
   (FAILOVER=ON)
   (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=salesdb-scan.company.com)
      (PORT=1521))
   (CONNECT_DATA=
      (SERVICE_NAME=pdb1)))

Runtime Load Balancing

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-clbgoal SHORT \
-rlbgoal SERVICE_TIME

RAC Validation Commands

Cluster and service status commands

Cluster Ready Services Control (CRSCTL) checks Oracle Clusterware status. SRVCTL checks the database, services, SCAN, SCAN listeners, and local listeners.

Bash
crsctl check cluster -all
crsctl stat res -t
olsnodes -n

srvctl status database -db MYCDB
srvctl status service -db MYCDB
srvctl status scan
srvctl status scan_listener
srvctl status listener

Session and Memory Distribution Queries

These Structured Query Language (SQL) queries use Oracle dynamic performance views to compare user sessions and process memory across RAC instances and PDBs.

Sessions per Instance
SQL
SELECT inst_id, COUNT(*)
FROM gv$session
GROUP BY inst_id;
Sessions per PDB and Instance
SQL
SELECT s.inst_id,
       p.name pdb_name,
       COUNT(*) sessions
FROM gv$session s
JOIN v$containers p
  ON s.con_id=p.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,p.name
ORDER BY p.name,s.inst_id;
Memory Usage per PDB and RAC Instance
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;
Cluster-Wide Memory Distribution
SQL
SELECT
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY c.name
ORDER BY total_pga_mb DESC;
RAC Workload Dashboard
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    COUNT(*) sessions,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    ROUND(SUM(p.pga_alloc_mem)/COUNT(*)/1024/1024,2) avg_pga_mb_per_session
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;

High Availability Testing

Bash
srvctl relocate service \
-db MYCDB \
-service pdb1 \
-oldinst DB26AI1 \
-newinst DB26AI2

Best Practices

Operational checklist
  • Use SCAN exclusively.
  • Use services instead of instance-specific connections.
  • Enable FAN and Runtime Load Balancing.
  • Use Universal Connection Pool (UCP) with TAC.
  • Validate service distribution after scaling.
  • Test rolling maintenance procedures regularly.

Conclusion

A two-node Oracle RAC deployment on Exadata Exascale provides active-active scalability, workload balancing, and high availability. Combining SCAN, FAN, RLB, AC, and TAC delivers a resilient architecture for Oracle Database 26ai workloads.

Glossary

These definitions summarize the acronyms used in this article and point to official Oracle documentation for deeper reference.

AC Application Continuity

Replay-capable high availability for recoverable database outages when replay is enabled and safe.

CDB Container Database

The multitenant database container used in the service examples; PDB services run inside it.

CRSCTL Clusterware control

Command-line utility used to check and manage Oracle Clusterware resources.

DNS Domain Name System

Name resolution layer used by clients to resolve names such as SCAN.

ExaDB-XS Exadata Database Service on Exascale Infrastructure

Oracle's Exadata Exascale cloud database service deployment option in OCI.

FAN Fast Application Notification

Oracle RAC high availability event notification framework for planned and unplanned events.

FCF Fast Connection Failover

Client-side failover behavior that helps reconnect applications after service or instance changes.

OCI Oracle Cloud Infrastructure

Oracle's cloud platform for running Exadata Exascale Database Service resources.

ONS Oracle Notification Service

Notification transport used with FAN events for Oracle RAC-aware clients.

PDB Pluggable Database

A database container inside a CDB; this article uses pdb1 as a service placeholder.

RAC Real Application Clusters

Oracle architecture where multiple instances on clustered servers access one shared database.

RLB Runtime Load Balancing

Service-aware routing that uses workload information to direct connections across RAC instances.

SCAN Single Client Access Name

Stable cluster access name used by clients instead of node-specific addresses.

SQL Structured Query Language

Query language used here to inspect RAC sessions and process memory distribution.

SRVCTL Server Control Utility

Oracle command-line utility for managing RAC databases, services, listeners, and related resources.

TAC Transparent Application Continuity

A mode of Application Continuity that automatically tracks session state and request boundaries.

TNS Transparent Network Substrate

Oracle Net connection descriptor format used to define service, host, load balancing, and failover settings.

UCP Universal Connection Pool

Oracle JDBC connection pool commonly used with RAC-aware high availability features.

VIP Virtual IP

Cluster-managed network address used by SCAN listeners and node access paths.

Official Oracle references

Oracle Database 26ai en Oracle Cloud Infrastructure

Escalado de Oracle Database 26ai en Exadata Exascale

De un despliegue de base de datos en clúster de un solo nodo a un despliegue de dos nodos, con acceso por servicios, componentes de alta disponibilidad, configuración de servicios y validación de carga de trabajo organizados para una revisión técnica rápida.

Ruta de escaladoDespliegue de base de datos en clúster de un solo nodo a despliegue en clúster de dos nodos.
Pila de disponibilidadLos componentes de resiliencia se presentan con descripciones completas de acrónimos después de la lista de beneficios.
Enrutamiento de serviciosLos descriptores de Oracle Net y ejemplos de administración de servicios muestran acceso por servicios y balanceo de carga.
ValidaciónComandos de clúster y consultas de base de datos revisan estado, sesiones y distribución de memoria.

Introducción

Oracle Exadata Exascale Database Service en Oracle Cloud Infrastructure (OCI) permite el escalado elástico de bases de datos Oracle Real Application Clusters (RAC). Este documento explica la transición arquitectónica desde un despliegue RAC de un solo nodo hacia un despliegue RAC de dos nodos ejecutando Oracle Database 26ai.

Evolución de la arquitectura

Entrada Conexiones de clientes

Los clientes se conectan mediante conexiones basadas en servicios en lugar de endpoints específicos por instancia.

  • Clientes
  • Nombre de servicio
SCAN Capa de acceso Single Client Access Name (SCAN)

La ruta de conexión usa SCAN, resolución Domain Name System (DNS), Virtual IPs (VIPs) de SCAN y listeners SCAN antes de la búsqueda de servicio.

  • Nombre SCAN
  • SCAN DNS
  • VIPs de SCAN
  • Listeners SCAN
Servicio Resolución de servicio

Los servicios resuelven la conexión hacia listeners locales en los nodos RAC disponibles.

  • Servicios
  • Búsqueda de servicio
  • Listeners locales
Base de un nodo Nodo1 / DB26AI1

El Nodo1 hospeda DB26AI1 en el despliegue RAC de un solo nodo y permanece activo después del escalado.

  • Virtual IP (VIP) de nodo
  • Listener local
  • Instancia de base de datos
RAC de dos nodos Nodo2 / DB26AI2

El Nodo2 agrega DB26AI2 para el despliegue RAC de dos nodos.

  • Virtual IP (VIP) de nodo
  • Listener local
  • Instancia de base de datos
Fast Application Notification (FAN)

Incluido en la pila de alta disponibilidad con Oracle Notification Service.

Oracle Notification Service (ONS)

Se muestra con FAN como parte de la lista de componentes SCAN.

Runtime Load Balancing (RLB)

Runtime Load Balancing es parte de los beneficios de RAC de dos nodos y de la configuración de servicios.

Application Continuity (AC) / Transparent Application Continuity (TAC)

Application Continuity y Transparent Application Continuity ofrecen opciones de disponibilidad con replay.

Beneficios

  • Procesamiento activo-activo
  • Mantenimiento rolling
  • Runtime Load Balancing
  • Mayor disponibilidad

Guía de acrónimos

OCI — Oracle Cloud InfrastructureLa plataforma cloud de Oracle donde se ejecuta Exadata Exascale Database Service.
RAC — Real Application ClustersArquitectura de Oracle donde varias instancias de base de datos en nodos de clúster acceden a una base de datos compartida.
SCAN — Single Client Access NameNombre estable de acceso al clúster que enruta conexiones de servicio sin ligar clientes a nodos individuales.
DNS / VIP — Domain Name System / Virtual IPDNS resuelve nombres como SCAN; las VIPs proporcionan direcciones de red móviles usadas por listeners y nodos del clúster.
FAN / ONS — Fast Application Notification / Oracle Notification ServiceFAN publica eventos de alta disponibilidad y ONS transporta esas notificaciones a clientes interesados.
RLB — Runtime Load BalancingEl enrutamiento de conexiones usa información de carga de trabajo del servicio para dirigir clientes hacia instancias RAC adecuadas.
AC — Application ContinuityDisponibilidad con capacidad de replay que puede ocultar interrupciones recuperables al reconstruir y reproducir trabajo de base de datos cuando es seguro.
TAC — Transparent Application ContinuityModo de Application Continuity que rastrea automáticamente el estado de sesión y descubre límites de petición.

Análisis detallado de arquitectura SCAN

Diagrama de texto
Client
   |
SCAN DNS
   |
SCAN Listener
   |
Service Lookup
   |
Local Listener
   |
Database Instance

Componentes

  • Nombre SCAN
  • VIPs de SCAN
  • Listeners SCAN
  • VIPs de nodo
  • Listeners locales
  • Servicios
  • FAN
  • ONS

Componentes de alta disponibilidad

SCAN

Se usa exclusivamente en las mejores prácticas y se muestra como la ruta desde clientes hacia la búsqueda de servicio y los listeners locales.

RAC

El artículo contrasta un nodo RAC con un despliegue RAC de dos nodos usando DB26AI1 y DB26AI2.

FAN

Está listado con ONS en la pila de componentes SCAN e incluido en la infografía de alta disponibilidad.

RLB

Runtime Load Balancing se configura con -clbgoal SHORT y -rlbgoal SERVICE_TIME.

AC

El ejemplo de AC usa TRANSACTION, commit_outcome TRUE, inicialización de replay y configuración de retención.

TAC

La recomendación de TAC usa AUTO, DYNAMIC, commit outcome, inicialización de replay y configuración de retención.

Infografía de alta disponibilidad

Diagrama de texto
CLIENTS
   |
SCAN
   |
+-----------------------------+
| SCAN VIP1 / SCAN LISTENER1 |
| SCAN VIP2 / SCAN LISTENER2 |
| SCAN VIP3 / SCAN LISTENER3 |
+-----------------------------+
              |
      Service Resolution
              |
     +--------+--------+
     |                 |
  DB26AI1          DB26AI2

 FAN / ONS / RLB / TAC

Comparación de tecnologías de disponibilidad

TecnologíaReconexiónReplay
SCANNo
Fast Connection Failover (FCF)No
AC
TAC

Application Continuity (AC)

Configuración de ejemplo

Ejemplo: Server Control Utility (SRVCTL) administra servicios de base de datos Oracle RAC. El marcador MYCDB representa la Container Database (CDB), y pdb1 representa un servicio de Pluggable Database (PDB).

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype TRANSACTION \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Transparent Application Continuity (TAC)

Configuración recomendada

Configuración recomendada: SRVCTL aplica los atributos de servicio TAC a los marcadores de CDB y servicio PDB usados en este ejemplo.

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype AUTO \
-session_state DYNAMIC \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Configuración de servicios y balanceo de carga

Descriptor de conexión Transparent Network Substrate (TNS)

Este descriptor de Oracle Net usa el nombre de servicio PDB1, el nombre de host SCAN y las opciones de balanceo de carga y failover para acceso basado en servicios.

TNS
PDB1 =
 (DESCRIPTION=
   (LOAD_BALANCE=ON)
   (FAILOVER=ON)
   (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=salesdb-scan.company.com)
      (PORT=1521))
   (CONNECT_DATA=
      (SERVICE_NAME=pdb1)))

Runtime Load Balancing

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-clbgoal SHORT \
-rlbgoal SERVICE_TIME

Comandos de validación RAC

Comandos de estado del clúster y servicios

Cluster Ready Services Control (CRSCTL) revisa el estado de Oracle Clusterware. SRVCTL revisa la base de datos, servicios, SCAN, listeners SCAN y listeners locales.

Bash
crsctl check cluster -all
crsctl stat res -t
olsnodes -n

srvctl status database -db MYCDB
srvctl status service -db MYCDB
srvctl status scan
srvctl status scan_listener
srvctl status listener

Consultas de distribución de sesiones y memoria

Estas consultas Structured Query Language (SQL) usan vistas dinámicas de rendimiento de Oracle para comparar sesiones de usuario y memoria de procesos entre instancias RAC y PDBs.

Sesiones por instancia
SQL
SELECT inst_id, COUNT(*)
FROM gv$session
GROUP BY inst_id;
Sesiones por PDB e instancia
SQL
SELECT s.inst_id,
       p.name pdb_name,
       COUNT(*) sessions
FROM gv$session s
JOIN v$containers p
  ON s.con_id=p.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,p.name
ORDER BY p.name,s.inst_id;
Uso de memoria por PDB e instancia RAC
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;
Distribución de memoria en todo el clúster
SQL
SELECT
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY c.name
ORDER BY total_pga_mb DESC;
Dashboard de carga de trabajo RAC
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    COUNT(*) sessions,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    ROUND(SUM(p.pga_alloc_mem)/COUNT(*)/1024/1024,2) avg_pga_mb_per_session
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;

Pruebas de alta disponibilidad

Bash
srvctl relocate service \
-db MYCDB \
-service pdb1 \
-oldinst DB26AI1 \
-newinst DB26AI2

Mejores prácticas

Lista operativa
  • Use SCAN exclusivamente.
  • Use servicios en lugar de conexiones específicas por instancia.
  • Habilite FAN y Runtime Load Balancing.
  • Use Universal Connection Pool (UCP) con TAC.
  • Valide la distribución de servicios después del escalado.
  • Pruebe regularmente los procedimientos de mantenimiento rolling.

Conclusión

Un despliegue Oracle RAC de dos nodos en Exadata Exascale proporciona escalabilidad activo-activo, balanceo de carga de trabajo y alta disponibilidad. La combinación de SCAN, FAN, RLB, AC y TAC ofrece una arquitectura resiliente para cargas de trabajo de Oracle Database 26ai.

Glosario

Estas definiciones resumen los acrónimos usados en el artículo y apuntan a documentación oficial de Oracle para una referencia más profunda.

AC Application Continuity

Alta disponibilidad con capacidad de replay para interrupciones recuperables cuando el replay está habilitado y es seguro.

CDB Container Database

Contenedor multitenant de base de datos usado en los ejemplos de servicio; los servicios PDB se ejecutan dentro de él.

CRSCTL Control de Clusterware

Utilidad de línea de comandos usada para revisar y administrar recursos de Oracle Clusterware.

DNS Domain Name System

Capa de resolución de nombres usada por clientes para resolver nombres como SCAN.

ExaDB-XS Exadata Database Service on Exascale Infrastructure

Opción de servicio cloud de Oracle para Exadata Exascale Database Service en OCI.

FAN Fast Application Notification

Marco de notificación de eventos de alta disponibilidad de Oracle RAC para eventos planeados y no planeados.

FCF Fast Connection Failover

Comportamiento de failover del cliente que ayuda a reconectar aplicaciones después de cambios de servicio o instancia.

OCI Oracle Cloud Infrastructure

Plataforma cloud de Oracle para ejecutar recursos de Exadata Exascale Database Service.

ONS Oracle Notification Service

Transporte de notificaciones usado con eventos FAN para clientes conscientes de Oracle RAC.

PDB Pluggable Database

Contenedor de base de datos dentro de una CDB; este artículo usa pdb1 como marcador de servicio.

RAC Real Application Clusters

Arquitectura Oracle donde varias instancias en servidores de clúster acceden a una base de datos compartida.

RLB Runtime Load Balancing

Enrutamiento consciente de servicios que usa información de carga de trabajo para dirigir conexiones entre instancias RAC.

SCAN Single Client Access Name

Nombre estable de acceso al clúster usado por clientes en lugar de direcciones específicas por nodo.

SQL Structured Query Language

Lenguaje de consulta usado aquí para inspeccionar sesiones RAC y distribución de memoria de procesos.

SRVCTL Server Control Utility

Utilidad de línea de comandos de Oracle para administrar bases de datos RAC, servicios, listeners y recursos relacionados.

TAC Transparent Application Continuity

Modo de Application Continuity que rastrea automáticamente estado de sesión y límites de petición.

TNS Transparent Network Substrate

Formato de descriptor de conexión de Oracle Net usado para definir servicio, host, balanceo de carga y failover.

UCP Universal Connection Pool

Pool de conexiones JDBC de Oracle usado comúnmente con funciones de alta disponibilidad conscientes de RAC.

VIP Virtual IP

Dirección de red administrada por el clúster usada por listeners SCAN y rutas de acceso de nodo.

Referencias oficiales de Oracle

Oracle Database 26ai no Oracle Cloud Infrastructure

Escalando Oracle Database 26ai no Exadata Exascale

De uma implantação de banco de dados em cluster de nó único para uma implantação de dois nós, com acesso por serviços, componentes de alta disponibilidade, configuração de serviços e validação de carga de trabalho organizados para revisão técnica rápida.

Caminho de escalaImplantação de banco de dados em cluster de nó único para implantação em cluster de dois nós.
Pilha de disponibilidadeOs componentes de resiliência aparecem com descrições completas de acrônimos após a lista de benefícios.
Roteamento de serviçosDescritores do Oracle Net e exemplos de administração de serviços mostram acesso por serviços e balanceamento de carga.
ValidaçãoComandos de cluster e consultas de banco de dados verificam estado, sessões e distribuição de memória.

Introdução

O Oracle Exadata Exascale Database Service no Oracle Cloud Infrastructure (OCI) permite escalonamento elástico de bancos de dados Oracle Real Application Clusters (RAC). Este documento explica a transição arquitetônica de uma implantação RAC de nó único para uma implantação RAC de dois nós executando Oracle Database 26ai.

Evolução da arquitetura

Entrada Conexões de clientes

Os clientes se conectam por conexões baseadas em serviços, em vez de endpoints específicos por instância.

  • Clientes
  • Nome do serviço
SCAN Camada de acesso Single Client Access Name (SCAN)

O caminho de conexão usa SCAN, resolução Domain Name System (DNS), Virtual IPs (VIPs) do SCAN e listeners SCAN antes da busca de serviço.

  • Nome SCAN
  • SCAN DNS
  • VIPs do SCAN
  • Listeners SCAN
Serviço Resolução de serviço

Os serviços resolvem a conexão para listeners locais nos nós RAC disponíveis.

  • Serviços
  • Busca de serviço
  • Listeners locais
Base de nó único Nó1 / DB26AI1

O Nó1 hospeda DB26AI1 na implantação RAC de nó único e permanece ativo após o escalonamento.

  • Virtual IP (VIP) do nó
  • Listener local
  • Instância do banco de dados
RAC de dois nós Nó2 / DB26AI2

O Nó2 adiciona DB26AI2 para a implantação RAC de dois nós.

  • Virtual IP (VIP) do nó
  • Listener local
  • Instância do banco de dados
Fast Application Notification (FAN)

Incluído na pilha de alta disponibilidade com Oracle Notification Service.

Oracle Notification Service (ONS)

Mostrado com FAN como parte da lista de componentes SCAN.

Runtime Load Balancing (RLB)

Runtime Load Balancing faz parte dos benefícios do RAC de dois nós e da configuração de serviços.

Application Continuity (AC) / Transparent Application Continuity (TAC)

Application Continuity e Transparent Application Continuity oferecem opções de disponibilidade com replay.

Benefícios

  • Processamento ativo-ativo
  • Manutenção rolling
  • Runtime Load Balancing
  • Maior disponibilidade

Guia de acrônimos

OCI — Oracle Cloud InfrastructureA plataforma cloud da Oracle onde o Exadata Exascale Database Service é executado.
RAC — Real Application ClustersArquitetura Oracle em que várias instâncias de banco de dados em nós de cluster acessam um banco de dados compartilhado.
SCAN — Single Client Access NameNome estável de acesso ao cluster que roteia conexões de serviço sem vincular clientes a nós individuais.
DNS / VIP — Domain Name System / Virtual IPDNS resolve nomes como SCAN; VIPs fornecem endereços de rede móveis usados por listeners e nós do cluster.
FAN / ONS — Fast Application Notification / Oracle Notification ServiceFAN publica eventos de alta disponibilidade, e ONS transporta essas notificações para clientes interessados.
RLB — Runtime Load BalancingO roteamento de conexões usa informações de carga de trabalho do serviço para direcionar clientes a instâncias RAC adequadas.
AC — Application ContinuityDisponibilidade com capacidade de replay que pode ocultar interrupções recuperáveis ao reconstruir e reproduzir trabalho de banco de dados quando seguro.
TAC — Transparent Application ContinuityModo de Application Continuity que rastreia automaticamente o estado da sessão e descobre limites de requisição.

Análise detalhada da arquitetura SCAN

Diagrama de texto
Client
   |
SCAN DNS
   |
SCAN Listener
   |
Service Lookup
   |
Local Listener
   |
Database Instance

Componentes

  • Nome SCAN
  • VIPs do SCAN
  • Listeners SCAN
  • VIPs dos nós
  • Listeners locais
  • Serviços
  • FAN
  • ONS

Componentes de alta disponibilidade

SCAN

Usado exclusivamente nas melhores práticas e mostrado como o caminho dos clientes para a busca de serviço e os listeners locais.

RAC

O artigo contrasta um nó RAC com uma implantação RAC de dois nós usando DB26AI1 e DB26AI2.

FAN

Listado com ONS na pilha de componentes SCAN e incluído no infográfico de alta disponibilidade.

RLB

Runtime Load Balancing é configurado com -clbgoal SHORT e -rlbgoal SERVICE_TIME.

AC

O exemplo de AC usa TRANSACTION, commit_outcome TRUE, inicialização de replay e configurações de retenção.

TAC

A recomendação de TAC usa AUTO, DYNAMIC, commit outcome, inicialização de replay e configurações de retenção.

Infográfico de alta disponibilidade

Diagrama de texto
CLIENTS
   |
SCAN
   |
+-----------------------------+
| SCAN VIP1 / SCAN LISTENER1 |
| SCAN VIP2 / SCAN LISTENER2 |
| SCAN VIP3 / SCAN LISTENER3 |
+-----------------------------+
              |
      Service Resolution
              |
     +--------+--------+
     |                 |
  DB26AI1          DB26AI2

 FAN / ONS / RLB / TAC

Comparação de tecnologias de disponibilidade

TecnologiaReconexãoReplay
SCANSimNão
Fast Connection Failover (FCF)SimNão
ACSimSim
TACSimSim

Application Continuity (AC)

Configuração de exemplo

Exemplo: Server Control Utility (SRVCTL) administra serviços de banco de dados Oracle RAC. O marcador MYCDB representa a Container Database (CDB), e pdb1 representa um serviço de Pluggable Database (PDB).

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype TRANSACTION \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Transparent Application Continuity (TAC)

Configuração recomendada

Configuração recomendada: SRVCTL aplica os atributos de serviço TAC aos marcadores de CDB e serviço PDB usados neste exemplo.

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-failovertype AUTO \
-session_state DYNAMIC \
-commit_outcome TRUE \
-replay_init_time 1800 \
-retention 86400

Configuração de serviços e balanceamento de carga

Descritor de conexão Transparent Network Substrate (TNS)

Este descritor do Oracle Net usa o nome de serviço PDB1, o nome de host SCAN e as opções de balanceamento de carga e failover para acesso baseado em serviços.

TNS
PDB1 =
 (DESCRIPTION=
   (LOAD_BALANCE=ON)
   (FAILOVER=ON)
   (ADDRESS=
      (PROTOCOL=TCP)
      (HOST=salesdb-scan.company.com)
      (PORT=1521))
   (CONNECT_DATA=
      (SERVICE_NAME=pdb1)))

Runtime Load Balancing

Bash
srvctl modify service \
-db MYCDB \
-service pdb1 \
-clbgoal SHORT \
-rlbgoal SERVICE_TIME

Comandos de validação RAC

Comandos de estado do cluster e serviços

Cluster Ready Services Control (CRSCTL) verifica o estado do Oracle Clusterware. SRVCTL verifica o banco de dados, serviços, SCAN, listeners SCAN e listeners locais.

Bash
crsctl check cluster -all
crsctl stat res -t
olsnodes -n

srvctl status database -db MYCDB
srvctl status service -db MYCDB
srvctl status scan
srvctl status scan_listener
srvctl status listener

Consultas de distribuição de sessões e memória

Estas consultas Structured Query Language (SQL) usam visões dinâmicas de desempenho da Oracle para comparar sessões de usuário e memória de processos entre instâncias RAC e PDBs.

Sessões por instância
SQL
SELECT inst_id, COUNT(*)
FROM gv$session
GROUP BY inst_id;
Sessões por PDB e instância
SQL
SELECT s.inst_id,
       p.name pdb_name,
       COUNT(*) sessions
FROM gv$session s
JOIN v$containers p
  ON s.con_id=p.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,p.name
ORDER BY p.name,s.inst_id;
Uso de memória por PDB e instância RAC
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;
Distribuição de memória em todo o cluster
SQL
SELECT
    c.name pdb_name,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    COUNT(*) sessions
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY c.name
ORDER BY total_pga_mb DESC;
Dashboard de carga de trabalho RAC
SQL
SELECT
    s.inst_id,
    c.name pdb_name,
    COUNT(*) sessions,
    ROUND(SUM(p.pga_alloc_mem)/1024/1024,2) total_pga_mb,
    ROUND(SUM(p.pga_alloc_mem)/COUNT(*)/1024/1024,2) avg_pga_mb_per_session
FROM gv$session s
JOIN gv$process p
  ON s.inst_id=p.inst_id
 AND s.paddr=p.addr
JOIN v$containers c
  ON s.con_id=c.con_id
WHERE s.type='USER'
GROUP BY s.inst_id,c.name
ORDER BY c.name,s.inst_id;

Testes de alta disponibilidade

Bash
srvctl relocate service \
-db MYCDB \
-service pdb1 \
-oldinst DB26AI1 \
-newinst DB26AI2

Melhores práticas

Lista operacional
  • Use SCAN exclusivamente.
  • Use serviços em vez de conexões específicas por instância.
  • Habilite FAN e Runtime Load Balancing.
  • Use Universal Connection Pool (UCP) com TAC.
  • Valide a distribuição de serviços após o escalonamento.
  • Teste regularmente os procedimentos de manutenção rolling.

Conclusão

Uma implantação Oracle RAC de dois nós no Exadata Exascale fornece escalabilidade ativo-ativo, balanceamento de carga de trabalho e alta disponibilidade. A combinação de SCAN, FAN, RLB, AC e TAC entrega uma arquitetura resiliente para cargas de trabalho do Oracle Database 26ai.

Glossário

Estas definições resumem os acrônimos usados no artigo e apontam para documentação oficial da Oracle para referência mais detalhada.

AC Application Continuity

Alta disponibilidade com capacidade de replay para interrupções recuperáveis quando o replay está habilitado e é seguro.

CDB Container Database

Contêiner multitenant de banco de dados usado nos exemplos de serviço; os serviços PDB são executados dentro dele.

CRSCTL Controle de Clusterware

Utilitário de linha de comando usado para verificar e administrar recursos do Oracle Clusterware.

DNS Domain Name System

Camada de resolução de nomes usada por clientes para resolver nomes como SCAN.

ExaDB-XS Exadata Database Service on Exascale Infrastructure

Opção de serviço cloud da Oracle para Exadata Exascale Database Service no OCI.

FAN Fast Application Notification

Estrutura de notificação de eventos de alta disponibilidade do Oracle RAC para eventos planejados e não planejados.

FCF Fast Connection Failover

Comportamento de failover do cliente que ajuda a reconectar aplicações após mudanças de serviço ou instância.

OCI Oracle Cloud Infrastructure

Plataforma cloud da Oracle para executar recursos do Exadata Exascale Database Service.

ONS Oracle Notification Service

Transporte de notificações usado com eventos FAN para clientes conscientes de Oracle RAC.

PDB Pluggable Database

Contêiner de banco de dados dentro de uma CDB; este artigo usa pdb1 como marcador de serviço.

RAC Real Application Clusters

Arquitetura Oracle em que várias instâncias em servidores de cluster acessam um banco de dados compartilhado.

RLB Runtime Load Balancing

Roteamento consciente de serviços que usa informações de carga de trabalho para direcionar conexões entre instâncias RAC.

SCAN Single Client Access Name

Nome estável de acesso ao cluster usado por clientes em vez de endereços específicos por nó.

SQL Structured Query Language

Linguagem de consulta usada aqui para inspecionar sessões RAC e distribuição de memória de processos.

SRVCTL Server Control Utility

Utilitário de linha de comando da Oracle para administrar bancos de dados RAC, serviços, listeners e recursos relacionados.

TAC Transparent Application Continuity

Modo de Application Continuity que rastreia automaticamente estado de sessão e limites de requisição.

TNS Transparent Network Substrate

Formato de descritor de conexão do Oracle Net usado para definir serviço, host, balanceamento de carga e failover.

UCP Universal Connection Pool

Pool de conexões JDBC da Oracle usado comumente com recursos de alta disponibilidade conscientes de RAC.

VIP Virtual IP

Endereço de rede administrado pelo cluster usado por listeners SCAN e caminhos de acesso de nó.

Referências oficiais da Oracle