miércoles, 29 de abril de 2026

MAA (Maximum Availability Architecture) de Oracle


MAA es el conjunto de mejores practicas de Oracle para lograr la maxima disponibilidad de una base de datos. No es un producto que se compra sino una arquitectura que se implementa combinando tecnologias de Oracle segun el nivel de disponibilidad que necesitamos. Es independiente de donde la base de datos resida puede ser Onpremise, en Oracle Cloud, Hibrida o Multicloud.

Oracle define 5 tiers o niveles de MAA. Cada tier agrega mas tecnologias sobre el anterior y nos da mayor proteccion contra distintos tipos de fallas. La idea es que cada capa envuelve a la anterior — no se reemplaza, se acumula.


Los conceptos clave de MAA son:

RTO (Recovery Time Objective) - Tiempo maximo que puede estar caida la base de datos.

RPO (Recovery Point Objective) - Maximo de datos que podemos perder medido en tiempo. 


Bronze

Es el nivel basico. Incluye las mejores practicas de una base de datos single instance con Clusterware Restart, Arquitectura Multitenant, Tecnologias Flashback, backup con RMAN, archivelog activado y parametros de configuracion recomendados por Oracle. Con este tier podemos recuperarnos de una falla pero la ventana de recuperacion puede ser de horas.

  • RTO: minutos a horas
  • RPO: horas o dias
Opcional backups con ZDLRA puede llevar el RPO casi cero 



Silver

Opción 1: Agrega RAC (Real Application Clusters) y Application Continuity. Tenemos multiples instancias accediendo a la misma base de datos. Si un nodo cae, las instancias del otro nodo siguen atendiendo las conexiones sin intervencion del DBA. Opcionalmente se puede implementar Global Distruibuted Database.

    Opción 2: Puede ser una single instance con Data Guard. Tenemos una base de datos primaria en un sitio y la base de datos standby en un sitio secundario listo para cambiar de rol y pasar a ser primario si hay algun incidente en la base primaria.

    • RTO: segundos a minutos
    • RPO: minutos

    Opcional backups con ZDLRA puede llevar el RPO casi cero 

    Opción 1: 

    Opción 2: 




    Gold

    Agrega Data Guard al RAC. Tenemos una base de datos primaria y una o mas standbys (pueden ser fisicas o logicas). Si la primaria cae hacemos un failover o switchover a la standby. Tambien incluye Active Data Guard que permite tener la standby abierta en modo read only para reportes mientras sincroniza.

    • RTO: minutos
    • RPO: segundos



    Platinum

    Opción 1: La arquitectura GOLD más Application Continuity y Fast Start Failover (FSFO). El failover es automatico, sin intervencion del DBA. Las aplicaciones se reconectan automaticamente despues del failover sin que el usuario final note la interrupcion. Las transacciones en vuelo se vuelven a ejecutar automaticamente. En Exadata y con la ultima version de Base de Datos.

    Opción 2: La arquitectura GOLD más exadata con replicación con GoldenGate Activa/Activa.

    • RTO: segundos
    • RPO: cero
    Opción 1: 

    Opción 2: 



    Diamond

    Es el nivel de extrema disponibilidad. Agrega Oracle GoldenGate para replicacion activa-activa entre dos sitios. Los dos sitios estan activos al mismo tiempo recibiendo transacciones. Si cae un site completo el otro sigue operando sin interrupcion. En exadata y con la ultima version de la Base de Datos.

    • RTO: cero
    • RPO: cero



    La eleccion del tier depende de cada aplicacion y del impacto que tiene para el negocio que la base este caida. No todas las bases necesitan Diamond. Lo importante es identificar que nivel de disponibilidad necesitamos y implementar el tier correspondiente.


    Referencias: 

    https://www.oracle.com/database/technologies/maximum-availability-architecture/

    Oracle Update Advisor y MAA


    Oracle Update Advisor (OUA) es una herramienta que nos dice si el software de nuestra base de datos esta al dia con los patches recomendados. Es importante porque si el software esta desactualizado, nuestra arquitectura MAA (Maximum Availability Architecture) esta en riesgo aunque tengamos Data Guard o RAC configurados.

    OUA nos muestra un estado de salud con tres colores:

    Verde - El software esta actualizado segun la politica configurada. Estamos protegidos contra los bugs criticos conocidos.

    Amarillo - Vamos un RU o MRP atrasado. El Data Guard o RAC pueden seguir corriendo pero con riesgo de problemas de performance o disponibilidad.

    Rojo - El software esta muy desactualizado. El SLA de MAA esta comprometido sin importar el tier que tengamos (Gold, Platinum o Diamond).



    Lo podemos usar desde tres herramientas:

    • FPP (Fleet Patching and Provisioning) para entornos RAC, Data Guard o flotas grandes
    • DBCA para bases single-instance
    • AutoUpgrade 26.2 o superior

    Que version de Oracle necesito para usar Oracle Update Advisory?

    Para usar Oracle Update Advisor integrado en DBCA and FPP, necesitamos Oracle AI Database Release Update de July 2025, para 19c (19.28+) o 23ai o 26ai (23.9+).

    Out-of-Place Patching

    Oracle recomienda hacer el patching out-of-place usando gold images. La diferencia con el patching tradicional es:

    1 - Con el patching tradicional (in-place) tenemos que bajar todas las instancias del Oracle Home, aplicar el patch y volver a levantar. La ventana de mantenimiento es larga.

    2 - Con out-of-place creamos un Oracle Home nuevo a partir de una gold image mientras la base sigue corriendo. Cuando esta listo hacemos el switch. La ventana de mantenimiento es mucho mas corta.

    3 - Si algo sale mal, volver al Oracle Home anterior es casi inmediato.


    Políticas por tier MAA: no todo tiene que estar en N (la última versión)

    Una cosa que me pareció muy útil del enfoque de OUA es que no te obliga a estar siempre en la última versión. Podés configurar políticas según el criticidad de cada entorno:

    Bronze / Silver Tier: Pueden trabajar con un lag de 1 RU (N-1). Priorizando estabilidad antes que tener las últimas features.

    Gold / Platinum / Diamond Tier: Deberían apuntar a N (última versión disponible) o aplicar MRPs mensuales sobre el RU actual para cubrir bugs de alto impacto antes de que causen un incidente.

    Ejemplo de configuración :

    applyFrequency=MonthlyLTRU
    updateLag=N-1
    

    Esto te da un punto de actualización a la version anterior a la ultima, sin dejar de recibir los fixes que impactan la disponibilidad mes a mes.


    Para verificar el estado de nuestro entorno

    Desde DBCA o FPP podemos ver si nuestra arquitectura MAA esta corriendo con software en estado Rojo o Amarillo.

    La documentacion esta en:

    • OUA via FPP: https://docs.oracle.com/en/database/oracle/oracle-database/26/fppad/about-oracle-update-advisor.html
    • OUA via DBCA: https://docs.oracle.com/en/database/oracle/oracle-database/26/dbptc/index.html#GUID-2F954CB6-CF7C-4A7A-AF97-8B57A905548C


    lunes, 29 de mayo de 2023

    Export Data Pump en Windows

    Para ejecutar un Export Data Pump en Windows podemos usar PowerShell (que es una herramienta mas moderna  y potente)  o simplemente CMD (la línea de comandos de Windows clasica)

    En este ejemplo la base de datos se llama ORCL. Voy a hacer un export full. Tengo previamente creado un directorio c:\oracle\scripts y un directorio para los dumps d:\oracle\dumps

    1 - Verifico en la Base de datos que el Directorio DATAPUMP_DIR apunta al directorio requerido

    Desde PowerShell o CMD

    set ORACLE_SID=ORCL

    sqlplus / as sysdba

    select * from dba_directories where directory_name=’DATA_PUMP_DIR’;

     

    Se puede modificar ese directorio default o crear un directorio nuevo. En este ejemplo lo modifico

    create or replace directory DATA_PUMP_DIR as “d:\oracle\dumps'';

     

    2 -  Crear un par file  con wordpad

    logfile=expdp_orcl.log

    dumpfile=expdp_orcl.dmp

    directory=DATAPUMP_DIR

    full=Y

    Para guardar : directorio seleccionado c:\oracle\scripts

    nombre  orcl.par   formato :  Documento de Texto – Formato MS-DOS

     

    3 - En  Windows PowerShell o CMD

            set ORACLE_SID=ORCL

            expdp system/password parfile=c:\oracle\scripts\ orcl.par

     

    Finalmente cuando termine el dump va  a quedar en el directorio seleccionado en DATA_PUMP_DIR

    sábado, 27 de mayo de 2023

    Como Conectarse a una Base Autonoma con SQL Developer

     Una vez que tenemos creada una Base de Datos Autonoma podemos conectarnos de diversas formas entre ellas con SQL Developer.

    1 - En nuestra Base Autonoma en mi ejemplo ATPTEST1, seleccionar Conexion de Base de Datos

    2 - Ir a Descargar Cartera

    3 - Agregarle contraseña y presionar Descargar

    4 - Cuando lo descargamos nos va a quedar un archivo zip con el nombre Wallet_<BD>
    5 - Abrimos el SQL Developer y agregamos la conexion con Usuario Admin (que es el 1ero que tenemos, luego podemos crear otros usuarios). Seleccionamos Tipo de Conexion : Cartera de Cloud
    Agregamos el Wallet que recien bajamos. 


    6 - Probamos y luego Guardar y ya nos conectamos a la base de datos

    Ya estamos conectados!




    Error Oracle Cloud 403 IP Address Rejected

     Si obtenemos el siguiente error Oracle Cloud 403  IP Address Rejected es porque estamos tratando de acceder al recurso desde una IP no autorizada, para solucionarlo tenemos que agregar en la Lista del Control de Acceso del Recurso que queríamos acceder. En mi ejemplo una Base de Datos Autónoma desde otra Notebook que no era desde la cual la cree.


    1 - Ir a Red / Lista de Control de Acceso / Editar 





    2 - Van a aparecer las IPs que ya estan habilitadas. Allí presionar Agregar mi dirección IP. En mi caso habia una sola habilitada




    3 - Automáticamente detecta nuestra dirección IP y la agrega separada por coma. Allí presionar Guardar




    Mi base autónoma quedo unos segundos actualizando su estado y enseguida quedo lista para acceder!

















    Como Crear una Base de Datos Autónoma Para Procesamiento Transaccional

     En este ejemplo vamos a crear una Base de Datos transaccional autónoma OLTP Always Free, o sea Gratuita para Siempre.  Debemos contar primero con una cuenta en la Nube de Oracle. La cuenta puede ser del tipo gratuita creada en cloud.oracle.com/free o puede ser una cuenta con créditos ya que igualmente podemos crear esta base gratuita sin consumir créditos. Podemos tener un máximo de 2 bases de datos autónomas por cuenta.

    Las bases de datos autónomas tienen asignado 1 OCPU, 20G de Almacenamiento y la Licencia esta incluida.

    1 - Seleccionar Oracle Database - Procesamiento de transacciones autónomo 




    2 -  Seleccionar el Compartimento, en mi ejemplo elijo TEST, para saber mas sobre Compartimentos AQUI 


    3 - Presionar Crear Base de Datos Autónoma. Se pueden crear máximo 2 bases de datos autónomas Always Free por cuenta. 



    4 - Aparece con un nombre de Base de Datos a mostrar y el nombre de base de datos, ambos se pueden cambiar. En mi ejemplo los cambio por ATPTEST1


    5 - Dejar seleccionado Procesamiento de Transacciones e Infraestructura Compartida 
    6 - Seleccionar SIEMPRE GRATIS. Queda asignada con 1 OCPU (Oracle CPU) y 20G de espacio de Almacenamiento.
    7- Crear las credenciales del usuario Admin que es el administrador de esta base de datos y luego Presionar Crear Base de Datos Autónoma. 


    8 - En unos pocos minutos queda en verde en estado DISPONIBLE. ATP es por el tipo de Base de Datos, que en ingles es la sigla de Autonomous Transaction Processing


    Conclusión : En pocos pasos podemos tener creada una base de datos autónoma gratuita para siempre con 1 OCPU y 20G de Almacenamiento y con Licenciamiento incluido.


















    viernes, 26 de mayo de 2023

    OCI - Crear Compartimentos

    Los Compartimentos sirven para organizar y aislar los recursos en la nube (como si fueran carpetas de windows). La idea es asignar a un Compartimento todos los recursos de un mismo tipo. 

    Cuando creamos una cuenta en la Nube de Oracle existe solo el Compartimento raíz que es con el mismo nombre que la cuenta. 

    Lo recomendado es que antes de comenzar a crear los recursos pensemos en como los agruparemos, por ejemplo DESARROLLO y PRODUCCION y creemos primeros los Compartimentos y luego a los recursos ya los creamos en su Compartimento correspondiente.

    En el caso de que los hayamos creado los recursos en el Compartimento raíz, y luego creamos los Compartimentos, no hay tanto problema, la mayoría de los recursos se pueden mover a su Compartimento correspondiente. 

    Los Compartimentos atraviesan las regiones, por lo tanto van a existir en todas las regiones que tenga acceso esa cuenta.

    Crear un Compartimento

    1  - Seleccionamos Identidad y Seguridad -> Compartimentos


    2 - Seleccionamos Crear Compartimento




    3 - Completamos Nombre, Descripción y de que Compartimento depende



    4 - Vamos a presionar Crear Compartimento



    5 - Esperamos unos segundos y ya aparece creado



    Conclusión : Los Compartimentos son necesarios y recomendados pero no obligatorios. Crearlos lleva pocos pasos y quedan disponibles inmediatamente. Cuando estan disponibles aparece el circulo VERDE y estado ACTIVO como en la figura anterior.