oracle

Qué es Oracle y su Ecosistema

  • Oracle es una empresa centrada en bases de datos, cloud computing, applications (ERP, HCM, CRM) y soluciones empresariales.
  • Su nube, OCI, compite con AWS, Azure y GCP ofreciendo ventajas en rendimiento, costos y servicios especializados.
  • Destaca especialmente en:
    • Bases de datos corporativas.
    • Escalabilidad y rendimiento.
    • Opciones híbridas y multicloud.
    • Seguridad avanzada.

Oracle Cloud Infrastructure (OCI)

  • OCI ofrece servicios de:
    • Compute: VM, Bare Metal, Containers, Kubernetes (OKE).
    • Networking: VCN, Subnets, Gateways, Load Balancers.
    • Storage: Block, Object, File.
    • Database: Oracle Autonomous DB, Exadata, MySQL HeatWave, NoSQL.
    • Observabilidad: Logging, Monitoring, Events.
    • AI y ML: Language, Vision, Speech, Generative AI.
  • Enlace relacionado: Oracle Cloud Infrastructure

Estructura de OCI

  • Arquitectura en regiones y dominios para alta disponibilidad:
    • Tenancy: contenedor raíz de recursos.
    • Compartments: organización lógica y control granular.
    • IAM: usuarios, grupos, políticas y Dynamic Groups.
    • VCN: red virtual configurable.
    • Servicios Gestionados: bases de datos, Kubernetes, funciones sin servidor, etc.

Certificaciones y Formación

Conceptos Clave para Dominar OCI

  • Compartments: permiten organizar recursos y aplicar políticas IAM.
  • Policies (IAM): controlan el acceso basado en grupos y recursos.
  • Autonomous Database: base de datos autogestionada, autoscaling y optimizada.
  • VCN Design: diseño modular con subnets públicas y privadas.
  • Load Balancing: balanceo L7/L4 con alta disponibilidad.
  • Oracle Functions: serverless basado en Fn Project.
  • OKE: Kubernetes gestionado por Oracle.
  • Monitoring & Logging: alertas, métricas e integración con eventos.

Buenas Prácticas para OCI

  • Diseñar desde el inicio con compartments y control de acceso granular.
  • Mantener una arquitectura con alta disponibilidad (multi-AD o multi-region).
  • Aprovechar políticas de coste, como autoscaling y servicios serverless.
  • Auditar con Logging, Events y Cloud Guard.
  • Reforzar seguridad:
    • Uso de Vault para claves y secretos.
    • Redes privadas siempre que sea posible.
    • Traffic filtering con NSG y Security Lists.
  • Gestionar infraestructura con:
    • Terraform (nativo y recomendado)
    • OCI CLI
    • Resource Manager

Herramientas Útiles en Oracle/OCI

  • OCI Console: administración visual de recursos.
  • OCI CLI: automatización desde terminal.
  • Terraform Provider de OCI: Infraestructura como código.
  • Resource Manager: despliegues administrados de Terraform.
  • Cloud Shell: entorno de terminal preconfigurado dentro de la consola.
  • Application Performance Monitoring: análisis de rendimiento de apps.
  • Logging Analytics: análisis avanzado de logs.

Casos de Uso Comunes

  • Migraciones de cargas on-premise a nube híbrida.
  • Bases de datos críticas con Autonomous o Exadata.
  • Aplicaciones de microservicios con OKE + Functions.
  • Big Data y análisis con Data Flow y Data Integration.
  • Aplicaciones empresariales Oracle ERP/HCM/CRM.
  • Integración multicloud: Oracle–Azure con interconexión dedicada.

Oracle como SGBD (Oracle Database)

Visión General

  • Oracle Database es uno de los Sistemas Gestores de Bases de Datos (SGBD) más potentes y utilizados en entornos empresariales.
  • Está orientado a altas cargas, transacciones complejas, disponibilidad continua y seguridad avanzada.
  • Es un SGBD relacional que también incorpora capacidades multimodelo (JSON, XML, Spatial, Graph, In-Memory).

Arquitectura Fundamental

  • Instancia: conjunto de procesos y memoria que gestionan la base de datos.
  • Base de Datos Física: archivos que almacenan datos, redo logs, control files.
  • Tablespaces: organización lógica del almacenamiento.
  • Datafiles: archivos físicos dentro de cada tablespace.
  • Redo Logs: registro para recuperación y consistencia.
  • Archivelogs: copia de transacciones para recuperación avanzada.
  • SGA (System Global Area): memoria compartida para datos y cachés.
  • PGA (Program Global Area): memoria privada de cada proceso.

Características Principales

  • ACID completo: transacciones robustas y consistentes.
  • Alta disponibilidad: tecnologías como Data Guard, RAC.
  • Escalabilidad vertical y horizontal.
  • Multitenant: contenedores (CDB) y bases de datos pluggables (PDB).
  • Optimización con Cost-Based Optimizer (CBO).
  • Seguridad avanzada: TDE, Database Vault, Label Security.
  • Particionamiento: range, list, hash, composite.
  • Índices avanzados: B-Tree, Bitmap, Function-Based, Spatial.
  • Automatic Storage Management (ASM): gestión automática del almacenamiento.

Modelo Multitenant (CDB/PDB)

  • Permite ejecutar múltiples bases de datos lógicas dentro de una instancia.
    • CDB: contenedor raíz.
    • PDB: bases de datos plug-in independientes.
  • Facilita consolidación, aislamiento y despliegues masivos.

Opciones y Ediciones

  • Standard Edition 2 (SE2): opciones reducidas, orientada a entornos medianos.
  • Enterprise Edition (EE): capacidades completas.
  • Extensiones (licencias adicionales):
    • Partitioning
    • Advanced Security
    • Spatial & Graph
    • In-Memory
    • Diagnostics & Tuning Packs

Herramientas de Administración

  • SQL*Plus: cliente CLI histórico.
  • SQL Developer: IDE gráfico para SQL, modelado y administración.
  • Enterprise Manager (OEM): monitoreo y administración centralizada.
  • RMAN: backup y recuperación avanzada.
  • Data Pump: import/export rápido (expdp/impdp).
  • Listener (TNS): servicio de conexión.

Consultas SQL Típicas en Oracle

SELECT básico

SELECT * FROM employees WHERE department_id = 10;

`

Creación de tabla

CREATE TABLE users (
	id NUMBER GENERATED BY DEFAULT AS IDENTITY,
	username VARCHAR2(50),
	created_at DATE DEFAULT SYSDATE
);

Índice Bitmap

CREATE BITMAP INDEX idx_emp_gender ON employees(gender);

Particionamiento por rango

CREATE TABLE sales (
	id NUMBER,
	amount NUMBER,
	sale_date DATE
)
PARTITION BY RANGE (sale_date) (
	PARTITION p2024 VALUES LESS THAN (DATE '2025-01-01'),
	PARTITION p2025 VALUES LESS THAN (DATE '2026-01-01')
);

Tecnologías de Alta Disponibilidad

  • Oracle RAC (Real Application Clusters):

    • Varias instancias accediendo a una única base de datos.
    • Escalado horizontal y resiliencia.
  • Oracle Data Guard:

    • Réplicas físicas/lógicas para recuperación ante desastres.
    • Modos de sincronización: Maximum Protection / Availability / Performance.
  • GoldenGate:

    • Replicación heterogénea en tiempo real.

Autonomous Database (versión gestionada en OCI)

  • Motor Oracle completamente gestionado por OCI:

    • Autoscaling.
    • Autotuning.
    • Autopatching.
    • Autoseguridad.
  • Ideal para cargas empresariales sin administración manual.

Casos de Uso Típicos

  • Sistemas bancarios y financieros.
  • ERP, CRM y aplicaciones corporativas.
  • Data Warehousing con opción In-Memory.
  • Analítica avanzada y Big Data.
  • Sistemas de misión crítica con 24/7 uptime.

Buenas Prácticas en Oracle DB

  • Diseñar tablas con claves primarias claras y particionamiento anticipado.
  • Usar tablespaces separados para índices, datos y TEMP.
  • Emplear RMAN para backups completos, incrementales y validaciones.
  • Activar archivelog mode para recuperación avanzada.
  • Monitorizar con AWR, ASH, ADDM.
  • Revisar planes de ejecución con EXPLAIN PLAN y DBMS_XPLAN.DISPLAY.