03 febrero 2025

 Desarrollo de Scripts en Kotlin para Monitoreo de Oracle 19c y 23ai



Aquí te dejo ejemplos de uso de espacio, sesiones activas y locks, además de una estructura de proyecto en Kotlin para monitoreo de bases de datos Oracle.

Configuración del Proyecto en Kotlin

Si estás desarrollando un proyecto con Kotlin y Oracle, usa Gradle para gestionar las dependencias.

Estructura del Proyecto

/KotlinOracleMonitor

 ├── /src

 │   ├── Main.kt

 │   ├── Database.kt

 │   ├── SpaceMonitor.kt

 │   ├── SessionMonitor.kt

 │   ├── LockMonitor.kt

 ├── build.gradle.kts

 ├── settings.gradle.kts

 └── README.md

Dependencias en build.gradle.kts

plugins {
    kotlin("jvm") version "1.9.0"
    application
}
repositories {
    mavenCentral()
}
dependencies {
    implementation("com.oracle.database.jdbc:ojdbc8:19.8.0.0")
    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
}
application {
    mainClass.set("MainKt")
}

Configuración de la Conexión a Oracle

Archivo: Database.kt

import java.sql.Connection
import java.sql.DriverManager
object Database {
    private const val URL = "jdbc:oracle:thin:@//localhost:1521/ORCL"
    private const val USER = "admin"
    private const val PASSWORD = "password"
    fun getConnection(): Connection {
        return DriverManager.getConnection(URL, USER, PASSWORD)
    }
}

Monitoreo del Uso de Espacio

Archivo: SpaceMonitor.kt

fun checkTablespaceUsage() {
    val connection = Database.getConnection()
    val query = """
        SELECT tablespace_name, 
               round((used_space / total_space) * 100, 2) AS used_percentage 
        FROM (
            SELECT tablespace_name,
                   sum(bytes) / 1024 / 1024 AS used_space,
                   (SELECT sum(bytes) / 1024 / 1024 
                    FROM dba_data_files 
                    WHERE tablespace_name = t.tablespace_name) AS total_space
            FROM dba_segments t
            GROUP BY tablespace_name
        )
    """
    val statement = connection.createStatement()
    val resultSet = statement.executeQuery(query)
    while (resultSet.next()) {
        println("Tablespace: ${resultSet.getString("tablespace_name")}, Uso: ${resultSet.getDouble("used_percentage")}%")
    }
    connection.close()
}

Monitoreo de Sesiones Activas

Archivo: SessionMonitor.kt

fun checkActiveSessions() {
    val connection = Database.getConnection()
    val query = """
        SELECT sid, serial#, username, status, machine, osuser, program 
        FROM v$session 
        WHERE status = 'ACTIVE'
    """
    val statement = connection.createStatement()
    val resultSet = statement.executeQuery(query)
    while (resultSet.next()) {
        println("SID: ${resultSet.getInt("sid")}, User: ${resultSet.getString("username")}, Status: ${resultSet.getString("status")}")
    }
    connection.close()
}

Monitoreo de Locks (Bloqueos en la Base de Datos)

Archivo: LockMonitor.kt

fun checkLocks() {
    val connection = Database.getConnection()
    val query = """
        SELECT l.sid, s.serial#, s.username, l.type, l.lmode, l.request, o.object_name 
        FROM v$lock l
        JOIN v$session s ON l.sid = s.sid
        LEFT JOIN dba_objects o ON l.id1 = o.object_id
        WHERE l.lmode > 0
    """
    val statement = connection.createStatement()
    val resultSet = statement.executeQuery(query)
    while (resultSet.next()) {
        println("SID: ${resultSet.getInt("sid")}, Usuario: ${resultSet.getString("username")}, Objeto: ${resultSet.getString("object_name")}")
    }
    connection.close()
}

Ejecutar Monitoreo

Archivo: Main.kt

fun main() {
    println("Monitoreo de Oracle 19c / 23ai ")
    
    println("\n Uso de Tablespaces:")
    checkTablespaceUsage()
    println("\n Sesiones Activas:")
    checkActiveSessions()
    println("\n Locks en la Base de Datos:")
    checkLocks()
}

Ejecutar el Proyecto

Compilar y ejecutar

./gradlew run

O en Windows:

gradlew.bat run

Salida esperada en consola

Monitoreo de Oracle 19c / 23ai 

Uso de Tablespaces:

Tablespace: USERS, Uso: 65.2%

Tablespace: SYSTEM, Uso: 82.3%

Sesiones Activas:

SID: 123, User: SYSTEM, Status: ACTIVE

Locks en la Base de Datos:

SID: 456, Usuario: HR, Objeto: EMPLOYEES


Conclusión

Con este proyecto, un DBA puede:

 Monitorear el uso de espacio de tablespaces.

  • Ver sesiones activas en la base de datos.
  • Detectar bloqueos (locks) en tiempo real.
  • Automatizar reportes o alertas integrando con Telegram, email o Grafana.


02 febrero 2025

Ciberseguridad en Aplicaciones Web Empresariales: OWASP y la Protección de Bases de Datos Relacionales y NoSQL



En un entorno digital donde las aplicaciones web empresariales son el núcleo de las operaciones modernas, garantizar la seguridad de los datos almacenados es una prioridad absoluta. Las bases de datos, tanto relacionales como NoSQL, juegan un papel crítico en la gestión y disponibilidad de la información. 
Soluciones como Oracle Database, PostgreSQL, MariaDB, MySQL y Apache Cassandra sustentan aplicaciones que soportan desde operaciones bancarias hasta plataformas de comercio electrónico.
Sin embargo, estas tecnologías no están exentas de riesgos. Desde inyecciones SQL hasta configuraciones erróneas, las vulnerabilidades pueden comprometer la continuidad del negocio. 
Aquí es donde la metodología OWASP (Open Web Application Security Project) ofrece un marco esencial para identificar, prevenir y mitigar los principales riesgos de seguridad en aplicaciones web conectadas a bases de datos.
OWASP (Open Web Application Security Project) es una organización sin fines de lucro dedicada a mejorar la seguridad del software. Su enfoque principal es identificar y mitigar los riesgos más críticos en las aplicaciones web.
 A continuación, se resumen algunos aspectos clave orientados a aplicaciones web que interactúan con bases de datos como Oracle, PostgreSQL, MariaDB, MySQL y Cassandra:

Vulnerabilidades Comunes y Riesgos Asociados a Bases de Datos

Inyección SQL

Consiste en la manipulación de consultas SQL a través de la entrada de datos no sanitizada. Afecta bases de datos relacionales como Oracle, MySQL, PostgreSQL y MariaDB.

Medidas de mitigación:

  • Usar consultas preparadas (Prepared Statements) o procedimientos almacenados.
  • Validar y sanitizar las entradas de los usuarios.
  • Implementar un principio de privilegios mínimos en las cuentas de acceso.

Configuración Incorrecta de Seguridad

La configuración por defecto o la incorrecta implementación de medidas de seguridad puede exponer bases de datos a riesgos.

Medidas de mitigación:

  • Deshabilitar funciones innecesarias (como xp_cmdshell en SQL Server o funciones de superusuario en Cassandra).
  • Restringir el acceso a las bases de datos desde redes externas.
  • Aplicar parches y actualizaciones de seguridad regularmente.

Exposición de Datos Sensibles

La falta de cifrado en tránsito y en reposo puede exponer datos sensibles almacenados en bases de datos.

Medidas de mitigación:

  • Cifrar conexiones con TLS/SSL.
  • Cifrar datos sensibles en la base de datos utilizando herramientas como Transparent Data Encryption (TDE) para datos "rest" Oracle o características nativas en PostgreSQL.

Autenticación y Gestión de Credenciales

El uso de credenciales débiles o reutilizadas para la conexión a bases de datos es un riesgo común.

Medidas de mitigación:

  • Implementar autenticación robusta (uso de claves SSH, OAuth2 o certificados).
  • Gestionar credenciales mediante herramientas seguras como HashiCorp Vault.
  • OWASP Top 10 y Bases de Datos

Los riesgos identificados en el OWASP Top 10 (como inyección, configuración incorrecta y control de acceso roto) son directamente aplicables a sistemas que dependen de bases de datos.

Buenas prácticas generales:

Automatizar análisis de vulnerabilidades en código y dependencias con herramientas como OWASP Dependency-Check.

Implementar auditorías y monitoreo de actividades inusuales en la base de datos.

Herramientas Útiles

  • OWASP ZAP: Escaneo de seguridad para aplicaciones web, útil para identificar inyección SQL y problemas de configuración.
  • SQLMap: Para pruebas de penetración y detección de vulnerabilidades relacionadas con inyecciones SQL.
  • Database Activity Monitoring (DAM): Soluciones como Oracle Audit Vault y herramientas similares para otros sistemas de base de datos.

Recomendaciones Específicas por Base de Datos

Oracle Database

  1. Utilizar el parámetro DBMS_ASSERT para validar datos de entrada en procedimientos almacenados.
  2. Configurar Oracle Data Redaction para evitar exposiciones accidentales de datos sensibles.

PostgreSQL

  • Configurar roles y privilegios con cuidado mediante el sistema de roles.
  • Utilizar extensiones como pgcrypto para cifrado de datos sensibles.

MariaDB/MySQL

Activar sql_mode con opciones como STRICT_TRANS_TABLES para evitar errores de tipo y asegurar consultas consistentes.

Usar el cifrado nativo de tablas y conexiones TLS.

Cassandra

  • Implementar autenticación con el subsistema Authenticator y autorización granular con Role-Based Access Control (RBAC).
  • Proteger nodos con encriptación entre nodos y cifrado de datos en disco.

Este enfoque permite mantener la seguridad de aplicaciones web que interactúan con bases de datos modernas, mitigando riesgos críticos y cumpliendo con estándares de la industria.

La seguridad en aplicaciones web empresariales no puede ser tratada como una tarea secundaria, especialmente cuando se depende de bases de datos robustas como Oracle Database, PostgreSQL, MariaDB, MySQL y Apache Cassandra. 

La implementación de buenas prácticas basadas en la metodología OWASP permite no solo identificar y mitigar riesgos críticos, como la inyección SQL o la exposición de datos sensibles, sino también establecer una cultura de ciberseguridad centrada en la continuidad del negocio. 

 Al adoptar estrategias como el uso de consultas preparadas, la gestión de privilegios mínimos y la encriptación de datos en tránsito y en reposo, las organizaciones pueden reducir significativamente las vulnerabilidades. Además, al integrar herramientas de monitoreo y auditoría, y actualizar constantemente sus sistemas, no solo se protegen los activos digitales, sino que también se refuerza la confianza de los clientes y socios. La ciberseguridad, en este contexto, deja de ser una barrera y se convierte en un habilitador clave para el éxito sostenible en un entorno empresarial dinámico y conectado.

15 enero 2025


 

Maximizando la Gestión de Contenidos Empresariales: Integración de Oracle Database 21c y Documentum


En un entorno empresarial cada vez más competitivo, la gestión eficiente de los datos y contenidos es crucial para alcanzar la agilidad operativa y el cumplimiento normativo. La integración de herramientas líderes como Oracle Database 21c y Documentum representa una solución potente para organizaciones que necesitan manejar grandes volúmenes de información crítica con precisión, escalabilidad y seguridad.

Oracle 21c, con sus innovaciones en Blockchain Tables, JSON nativo, y capacidades avanzadas de analítica, se combina perfectamente con las capacidades de Documentum para ofrecer una plataforma integrada que optimiza la gestión de documentos, flujos de trabajo, y registros sensibles. Esta sinergia no solo permite un control robusto del contenido, sino que también habilita decisiones basadas en datos en tiempo real, mejorando la eficiencia y reduciendo riesgos.En este artículo, exploraremos cómo esta integración puede transformar sectores clave, desde la banca hasta la defensa, proporcionando casos prácticos y ejemplos reales que ilustran el valor estratégico de esta solución.

Caso 1: 

Gestión de Documentos Regulatorios

Contexto: 

Una entidad bancaria necesita gestionar documentos regulatorios (por ejemplo, políticas KYC, contratos, y reportes para auditorías).

Solución:

Documentum:

Se utiliza como repositorio centralizado para almacenar, versionar y controlar el acceso a documentos regulatorios.Los usuarios acceden mediante flujos de trabajo automatizados para revisión y aprobación.

Oracle 21c:

Actúa como base de datos subyacente para almacenar metadatos relacionados (autores, fechas, versiones, etc.).Almacena también registros de auditoría, como quién accedió o modificó un documento..

Integración:

Documentum puede interactuar con Oracle Database mediante servicios JDBC o APIs para consultas avanzadas y almacenamiento eficiente.

Las funcionalidades avanzadas de Oracle, como Blockchain Tables, se usan para garantizar la inmutabilidad de los registros sensibles (cumplimiento regulatorio).

Otro ejemplo práctico del uso de Documentum y Oracle Database 21c en el contexto del negocio de la Armada de Moderdonia podría estar relacionado con la gestión de la documentación logística y operativa de los buques y unidades militares.

Caso 2: 

Gestión de Documentación Técnica y Logística Naval

Contexto: 

La Armada de "Moderdonia" gestiona una gran cantidad de documentación relacionada con los buques, incluyendo manuales técnicos, planos, inventarios de piezas de repuesto, bitácoras operativas y registros de mantenimiento. Es crucial tener acceso rápido, seguro y centralizado a esta información tanto en tierra como en alta mar.

Solución tecnológica:

 Documentum:

Centraliza la gestión de los documentos técnicos y operativos de los buques.

Implementa controles de acceso para clasificar la documentación según niveles de confidencialidad (acceso restringido a documentos críticos o secretos).

Automatiza flujos de trabajo para la revisión y aprobación de nuevos procedimientos técnicos o actualizaciones de manuales.

Versiona documentos para mantener un historial completo de cambios.

 Oracle 21c

Base de datos subyacente que almacena los metadatos de los documentos: ID de buque, tipo de documento, fecha de actualización, y estado de revisión.

Sharding para optimizar consultas distribuidas desde diferentes bases navales o buques.

Uso de JSON/SQL para almacenar y consultar datos técnicos complejos, como configuraciones de sistemas de armas o planos electrónicos.

Implementación de Blockchain Tables para garantizar la inmutabilidad de registros críticos, como bitácoras operativas o certificaciones de mantenimiento.

Integración en el negocio:

Los buques de la Armada acceden a los documentos almacenados en Documentum a través de conexiones seguras vía satélite o mediante sistemas locales replicados sincronizados con las bases de datos en tierra.

Los sistemas logísticos integrados con Oracle Database permiten rastrear y solicitar piezas de repuesto directamente desde un inventario centralizado, optimizando el mantenimiento preventivo.

Los registros de mantenimiento y operaciones almacenados en Oracle pueden ser consultados en auditorías internas o externas para garantizar el cumplimiento normativo y la seguridad.

Beneficios para la Armada de "Moderdonia" :

Eficiencia operativa: 

La documentación técnica siempre está actualizada y accesible para las tripulaciones y equipos de mantenimiento.

Cumplimiento normativo: 

El uso de Blockchain Tables asegura que los registros críticos no sean alterados, cumpliendo con auditorías y normativas militares.

Seguridad: 

La integración de Documentum con Oracle permite implementar fuertes controles de acceso y cifrado, protegiendo información clasificada.

La optimización del inventario y el mantenimiento preventivo evita retrasos y costes asociados a fallos imprevistos.

Caso 3: 

Gestión de Expedientes Bancarios

Contexto: 

Se gestionan expedientes completos de clientes que contienen contratos, solicitudes y documentación relacionada con créditos o hipotecas.

Solución:

Documentum:

Los expedientes están estructurados como carpetas virtuales con documentos asociados.

Define reglas de retención y expiración de documentos, garantizando el cumplimiento de normativas.

Oracle 21c:

Contiene tablas que registran relaciones entre clientes, documentos y estados del expediente.

Permite búsquedas complejas utilizando JSON o XML almacenados en la base de datos.

Integración:

Oracle Database se conecta al motor de búsqueda de Documentum para indexar y localizar documentos rápidamente.

Los datos se sincronizan para mantener actualizada la relación entre documentos y sus estados en tiempo real.

La integración de Oracle Database 21c y Documentum no es solo una solución tecnológica; es un habilitador estratégico para organizaciones que buscan maximizar el valor de su información. Al combinar la robustez de una base de datos avanzada con un sistema líder de gestión de contenidos, las empresas pueden alcanzar nuevos niveles de eficiencia, cumplimiento normativo y seguridad en sus operaciones.

En un mundo donde los datos son el activo más valioso, contar con plataformas que trabajen de forma sinérgica para gestionar, analizar y proteger esa información se convierte en una ventaja competitiva indiscutible. Desde optimizar procesos documentales hasta garantizar la integridad de los registros críticos, esta solución integrada es una apuesta segura para quienes buscan liderar en la era digital.

¿Está tu organización lista para dar el siguiente paso en la gestión de contenidos empresariales? La tecnología está disponible, y el momento de innovar es ahora.

23 enero 2022

Galera clúster con MaríaDb

 

Galera clúster

Galera clúster es un paquete de software para sistemas operativos Linux que permite la creación y gestión de clústeres de MySQL, XtraDB y MariaDB. Esta aplicación de clúster se basa en el motor de almacenamiento InnoDB o su derivado XtraDB. Experimentalmente es compatible con el motor MyISAM, que durante mucho tiempo se utilizó también en MySQL y MariaDB como predecesor de InnoDB. Galera Clúster aplica el principio de la replicación síncrona al almacenamiento de datos en los diversos nodos independientes del clúster. Todos los procesos de copia y modificación de los datos almacenados tienen lugar simultáneamente en todas las unidades de almacenamiento primarias y secundarias, de forma que los datos presentes en todos los nodos están siempre actualizados y no difieren entre ellos.

La expresión mínima de un Galera clúster consiste en tres nodos (los desarrolladores recomiendan en general usar un número impar). Si uno de los nodos falla durante la transacción de datos, por ejemplo, debido a problemas de la red o del sistema, los otros dos nodos siguen formando la mayoría necesaria para realizar la transacción correctamente.

¿Cómo funciona un  clúster MariaDB de Galera?

Un clúster MariaDB basado en Galera clúster se caracteriza por el hecho de que todos los nodos de la red tienen los mismos datos en todo momento. Por tanto, en el software de clúster desaparece la distinción tradicional entre servidores de bases de datos maestros (servidores en los que se puede escribir) y esclavos (servidores de los que solo se puede leer). Los usuarios pueden escribir datos en cualquier nodo de almacenamiento y estos se reenviarán automáticamente a todos los demás participantes del clúster. Esta propiedad también se llama multimaster.

Para garantizar este intercambio de datos flexible, Galera Cluster emplea un procedimiento de replicación síncrona para la administración, basado en el intercambio de certificados. Si los datos se replican, es decir, se escriben en una de las bases de datos del clúster MariaDB de Galera, se aplican estos dos principios:

  • A cada transacción en la base de datos se le asigna un número de secuencia único. Antes de que un nodo del clúster apruebe los cambios respectivos en la base de datos, este compara el número secuencial con el número de la última transacción confirmada. En la comprobación, todos los nodos llegan a la misma conclusión (Transacción OK o Transacción KO). El nodo que inició la transacción transmite el resultado al cliente.
  • En cada transacción se actualizan todas las réplicas de la base de datos. De este modo, si una transacción se confirma después de la certificación, todos los nodos hacen los cambios correspondientes en su registro de datos. Si los nodos de un  clúster Galera experimentan algún problema técnico, solo se podrán excluir de la replicación síncrona temporalmente.

¿Qué morfología presenta un clúster Galera?

  • Sistema de gestión de la base de datos: el SGBD es la unidad central del clúster. En cada nodo se ejecuta el servidor de base de datos correspondiente. Como ya mencionamos, clúster Galera es compatible con MySQL y Percona XtraDB, además de con MariaDB.
  • API wsrep: la API wsrep define e implementa la interfaz y las funciones de acceso a los servidores de bases de datos implicados. Asimismo, wsrep controla la replicación de datos. Entre otras cosas, la API proporciona los wsrep hooks (enlaces al servidor de la base de datos para su replicación) y la función dlopen(), que permite la comunicación con los hooks.
  • Plugin de replicación de Galera: este plugin implementa la API de wsrep. Para esto, proporciona una capa para el proceso de certificación, una capa para la replicación (incluido el protocolo) y el marco de comunicación de grupo.
  • Plugin de comunicación de grupo: Galera Cluster proporciona varias extensiones para la implementación de sistemas de comunicación de grupo como el Spread Toolkit o gcomm. Estos plugin están basados en el marco de comunicación de grupo.

¿Cuáles son las ventajas de un clúster MariaDB?

Ya hemos mencionado en este artículo las principales ventajas de los clústeres MariaDB de Galera. Cambiar a esta tecnología de clúster te ofrece flexibilidad en el almacenamiento de datos sin renunciar a un máximo de fiabilidad y disponibilidad, algo que no es posible en las configuraciones habituales de MariaDB.

La replicación síncrona garantiza que todas las unidades de almacenamiento involucradas estén actualizadas en todo momento. Galera Cluster envía automáticamente todos los cambios a todas las unidades de la base de datos, lo que elimina completamente la necesidad de realizar copias manuales o de pasar por engorrosos procesos de copias de seguridad. El enfoque multimaster también permite acceder a todos los servidores de la base de datos integrada de MariaDB para escribir, modificar o borrar sus datos. Puesto que los nodos pueden estar cerca de los clientes, es posible minimizar la latencia.

Otra ventaja de un clúster MariaDB basado en un Galera Cluster es el excelente soporte en la nube de este tipo de arquitecturas. Están particularmente bien adaptadas a una escalabilidad flexible y basadas en la nube de los recursos de base de datos. Incluso la distribución de los datos a los diferentes centros de datos deja de ser un problema, ya que cada transacción en Galera Cluster solo se debe enviar una vez a cada centro de datos.

Casos de uso: ¿para qué se usa Clúster Galera?

Un clúster MariaDB de Galera es una solución excelente para gestionar tu propia solución de base de datos, gracias a las características y ventajas que ya hemos mencionado. Específicamente, la configuración de clúster abarca, entre otros, los siguientes casos de uso:

Aplicaciones de bases de datos con requisitos de alto rendimiento de escritura

La distribución de las operaciones de escritura por todo el grupo permite optimizar el uso de los recursos de escritura disponibles. Tras el procesamiento inicial de una transacción de cliente, los nodos a los que se transmite la transacción solo tienen que registrar los cambios realizados. De este modo, el método de replicación de Galera Cluster garantiza generalmente un rendimiento de escritura mucho mayor al que ofrecen la mayoría de las configuraciones de base de datos, lo que hace a la tecnología de clúster muy interesante para aplicaciones de escritura intensivas.



Plan de recuperación ante desastres

El principio de Disaster Recovery es el siguiente:los datos se almacenan por separado en un centro de datos independiente para mantener una imagen completa de ellos, con el fin de poder recuperar en caso de emergencia. Este enfoque está estrechamente relacionado con el almacenamiento general y la gestión de los activos de datos en la nube. En este caso, el clúster Galera transmite los datos replicados, pero no los pone a disposición para procesar las transacciones de los clientes. Si es necesario restablecer el sistema, la parte Disaster Recovery del clúster MariaDB se convierte temporalmente en instancia primaria para reducir al mínimo el tiempo de inactividad.

Clustering para WAN

Menos atractivo es la última de las características. En las WAN (Wide Area Network) de Internet, Galera Cluster funciona también sin problemas. Aunque se produce un pequeño retardo (retraso en la transmisión) proporcional al tiempo de rotación de los paquetes de red (RTT), esto solo afecta al proceso de confirmación de las transacciones entrantes a la base de datos. El uso de los clústeres MariaDB en la nube es, por lo tanto, uno de los ejemplos más interesantes.



20 diciembre 2021

Seguridad con log4j, arrojemos algo de luz.

 

Aquí hay un resumen rápido, sobre cómo reaccionar ante el incidente log4j:

  • Si no es una aplicación de Java. No te preocupes.
  • Si es una aplicación Java que no usa Log4j. No te preocupes.
  • Si es una aplicación Java que utiliza Log4j 1.x. No se preocupe por estas vulnerabilidades. Por supuesto, el código más antiguo puede ser susceptible a otras vulnerabilidades.
  • Si es una aplicación Java que utiliza Log4j 2.x. Java 8 (o posterior), actualice a Log4j versión 2.17.0 *.
  • Si es una aplicación Java que utiliza Log4j 2.x. Java 7, actualice a Log4j versión 2.12.2 *.
  • Si actualizar Log4j no es una opción inmediata, tal vez esté esperando que un proveedor lance un parche, considere mitigar hasta que las actualizaciones sean posibles.
  • Estas versiones eran correctas al momento de escribir este artículo. Siga revisando la página de vulnerabilidades de seguridad de Apache Log4j para obtener actualizaciones.

Para ver más información:


01 diciembre 2021

Oracle DBA: ¿Cómo cambiar el tamaño de los REDO log?

 




¿Qué es un fichero online REDO log ?

Los archivos de registro de rehacer están llenos de registros de rehacer. Un registro de rehacer, también llamado entrada de rehacer, se compone de un grupo de vectores de cambio, cada uno de los cuales es una descripción de un cambio realizado en un solo bloque de la base de datos.

En este artículo vamos a trabajar en los pasos utilizados para cambiar el tamaño de los archivos de registro de rehacer en línea (online redo log). Los siguientes pasos son relativos a una instancia única de bases de datos:

Los registros tienen un tamaño de 1 MB desde arriba, dimensionémoslos a 10 MB. Recupere todos los nombres de miembros del registro para los grupos:

Creemos 3 nuevos grupos de registros y asígneles el nombre de grupos 4, 5 y 6, cada uno de 10 MB de tamaño:

Ahora ejecute una consulta para ver el estado de v $ log:

Cambie hasta que estemos en el grupo de registros 4, para que podamos eliminar los grupos de registros 1, 2 y 3:

Ejecute la consulta nuevamente para verificar que el grupo de registro actual sea el grupo 4:

Ahora suelte los grupos de registro de rehacer 1, 2 y 3:

En este punto, considere realizar una copia de seguridad de la base de datos. 9. Ahora puede salir al sistema operativo y eliminar los archivos asociados con los grupos de registro de rehacer 1, 2 y 3 en el paso 2 anterior, ya que ya no son necesarios: 
Más información sobre este texto de origenPara obtener más información sobre la traducción, se necesita el texto de origen
Enviar comentarios
Paneles laterales

20 junio 2021

Tip rápido: Componentes de registro de base de datos Oracle 19c no válidos, tras un parcheo

 

Oracle JVM es un entorno estándar compatible con Java que ejecuta cualquier aplicación Java pura. Es compatible con las especificaciones JLS estándar y JVM. Es compatible con el formato binario estándar de Java y las API estándar de Java. Además, Oracle Database se adhiere a la semántica del lenguaje Java estándar, incluida la carga dinámica de clases en tiempo de ejecución.

Java en Oracle Database presenta los siguientes términos:
  • Sesión (session)
Una sesión en el entorno Java de Oracle Database es idéntica al uso estándar de Oracle Database. Una sesión suele estar limitada, aunque no necesariamente, por el momento en que un solo usuario se conecta al servidor. Como usuario que llama a un código Java, debe establecer una sesión en el servidor.
  • Llamada (call)
Cuando un usuario hace que un código Java se ejecute dentro de una sesión, se denomina llamada. Una llamada se puede iniciar de las siguientes formas diferentes:
  • Un programa de cliente SQL ejecuta un procedimiento almacenado de Java.
  • Un desencadenador ejecuta un procedimiento almacenado de Java.
  • Un programa PL / SQL llama a un código Java.
En todos los casos definidos, comienza una llamada, se ejecuta alguna combinación de código Java, SQL o PL / SQL hasta su finalización y la llamada finaliza.

Los siguientes componentes de JAVAVM no son válidos durante la revisión de la base de datos 19c.
Es necesario ejecutar los siguientes pasos para reparar los componentes dañados de la base de datos.




Primero: Verifica que el componente JAVAVM no sea válido
col comp_id for a10
col version for a11
col status for a10
col comp_name for a37
select comp_id,comp_name,version,status from dba_registry;


Segundo: Valida el componente JAVAVM
execute sys.dbms_registry.invalid(‘JAVAVM’);
execute sys.dbms_registry.valid(‘JAVAVM’);

SQL> execute sys.dbms_registry.invalid(‘JAVAVM’);

PL/SQL procedure successfully completed.

SQL> execute sys.dbms_registry.valid(‘JAVAVM’);

PL/SQL procedure successfully completed.

SQL> col comp_id for a10
col version for a11
col status for a10
col comp_name for a37
select comp_id,comp_name,version,status from dba_registry;




31 marzo 2021

Python for Oracle DBA: Guía de supervivencia Parte II

 

Continuamos con la segunda parte del artículo anterior, comencemos:

Visualización de datos


La visualización de datos es esencial para la exploración, el análisis y la comunicación de datos, lo que permite a los científicos de datos comprender sus datos y compartir esa comprensión con otros. Python tiene muchas, muchas herramientas de visualización disponibles, pero destacaremos algunas aquí.

Matplotlib es la herramienta de visualización de datos de Python mejor establecida, y se centra principalmente en gráficos bidimensionales (gráficos de líneas, gráficos de barras,
diagramas de dispersión, histogramas y muchos otros). Funciona con muchas interfaces GUI y formatos de archivo, pero tiene un soporte interactivo relativamente limitado en los navegadores web.

¿Para qué se utiliza?:

Matplotlib se utiliza para analizar, explorar y mostrar relaciones entre datos.

Interviene en:

Casi todas las empresas con científicos de datos utilizan Matplotlib en algún lugar, ya sea directamente o, a menudo, a través de Pandas o las interfaces de alto nivel creadas para científicos de datos como Seaborn, HoloViews o plotnine. Se utilizaron Matplotlib y otras herramientas de Python de código abierto para crear la primera imagen de un agujero negro en el proyecto Event Horizon Telescope.

¿Dónde aprender más? https://matplotlib.org/

Python for Oracle DBA: Guía de supervivencia Parte I

 

Abarcaremos las posibilidades de Python (En varias entregas) para nuestro mundo de administración de bases de datos y plantearemos otros campos interesantes donde centrar nuestro interés.
  • Bibliotecas y herramientas de ciencia de datos fundamentales
  • Preparación de datos / ETL
  • Visualización de datos
  • Aprendizaje automático
  • Computación escalable
  • Procesamiento de imágenes
  • Procesamiento del lenguaje natural (NLP)
  • Fronteras de la IA

Bibliotecas y herramientas de ciencia de datos fundamentales

Esta colección de herramientas Python de código abierto y bibliotecas consta de paquetes muy populares que son se utilizan con frecuencia juntos para hacer ciencia de datos. El las herramientas fundamentales no solo son esenciales y poderosas para los practicantes individuales, pero también son esenciales
para hacer ciencia de datos empresariales con Python. Muchos otras herramientas y bibliotecas en la ciencia de datos de Python y el ecosistema de Machine Learning dependen de estos paquetes fundamentales.

09 marzo 2021

Oracle DBA: Realización de operaciones diarias

 

Desde mi punto de vista, para desempeñar correctamente el papel de administrador de bases de datos, se deberá desarrollar e implementar acciones que cubran todas las áreas de esta disciplina. Nuestras Sus tareas diarias variarán desde hacer arquitectura y diseño de alto nivel hasta realizar tareas de bajo nivel. 

Arquitectura y Diseño

Los administradores de bases de datos deben participar en la arquitectura y el diseño de nuevas aplicaciones, bases de datos e incluso cambios de infraestructura técnica. Las decisiones que se tomen aquí tendrán un gran impacto en el rendimiento y la escalabilidad de la base de datos, mientras que el conocimiento de la base de datos lo ayudará a elegir una mejor implementación técnica. Las herramientas de modelado de datos como SQL Developer Data Modeler pueden ayudar al DBA.

Planificación de capacidad

Es necesario realizar una planificación a corto y largo plazo en sus bases de datos y aplicaciones. Debe concentrarse en las características de rendimiento y tamaño de sus sistemas que ayudarán a determinar las próximas necesidades de almacenamiento, CPU, memoria y red. Esta es un área que a menudo se descuida y puede generar grandes problemas si no se realiza correctamente. Hay un cambio en los entornos de planificación para poder agregar recursos fácilmente a medida que los sistemas crecen, ya sea con entornos de virtualización o en la nube. Con los entornos de base de datos virtualizados, estas preocupaciones sobre los recursos y la planificación de la capacidad pueden ser menores en el lado del DBA, pero aquellos que ahora están planificando la capacidad del entorno virtualizado estarán preocupados por el uso general. Estos entornos tienden a escalar mejor porque hay formas de agregar recursos según sea necesario. Aún así, poder comunicar el crecimiento de la base de datos y cómo se utilizarán los diferentes recursos ayudará a administrar el entorno general.

Copia de seguridad y recuperación

Un plan de respaldo y recuperación es, por supuesto, fundamental para proteger sus datos corporativos. Debe asegurarse de que los datos se puedan recuperar rápidamente en el momento más cercano posible. También hay un aspecto de rendimiento en esto porque las copias de seguridad deben realizarse utilizando recursos mínimos mientras la base de datos está en funcionamiento, y las recuperaciones deben realizarse dentro de un límite de tiempo predefinido por los Acuerdos de nivel de servicio (SLA) desarrollados para cumplir con los requisitos de los clientes. Una implementación completa de respaldo y recuperación debe incluir recuperación local y recuperación remota, lo que también se conoce como planificación de recuperación ante desastres (DRP). Oracle 12c ofrece respaldo y recuperación a un nivel de base de datos conectable, y esto deberá tenerse en cuenta en los planes de recuperación

Seguridad

La seguridad es un área que se ha vuelto extremadamente importante debido a la cantidad de usuarios que pueden acceder a sus bases de datos y la cantidad de acceso externo basado en la web. Los usuarios de la base de datos deben estar autenticados para que sepa con certeza quién está accediendo a su base de datos. Luego, los usuarios deben tener autorización para usar los objetos en Oracle que necesitan para hacer su trabajo. Sin embargo, a pesar de esta necesidad de permisos y acceso para realizar su trabajo, una mejor práctica es otorgar solo la cantidad mínima de permisos y acceso para el rol o usuario. Esto se puede administrar con Oracle Enterprise Manager, SQL Plus, SQL Developer. 

La administración de los permisos de los usuarios es solo una parte de la seguridad en el entorno de la base de datos. El cifrado de datos, la auditoría de acceso y permisos y la observación del acceso a los datos de los usuarios del sistema en entornos de desarrollo son algunas otras áreas que necesitan atención para proporcionar un entorno de base de datos seguro.


Rendimiento y afinación

El rendimiento y el ajuste es posiblemente el área más interesante de la gestión de bases de datos. Los cambios aquí se notan casi de inmediato, y todos los administradores de bases de datos con experiencia tienen historias sobre pequeños cambios que han realizado y que se han traducido en grandes mejoras en el rendimiento. Por otro lado, cada error de rendimiento en el entorno se atribuirá a la base de datos y deberá aprender a lidiar con esto. Los informes del repositorio automático de carga de trabajo (AWR), el paquete de estadísticas, la gestión del rendimiento de OEM y las herramientas de terceros lo ayudarán en esta área. Hay mucho que aprender aquí, pero las herramientas adecuadas lo simplificarán considerablemente.

Administrar objetos de base de datos

Debe administrar todos los objetos de esquema, como tablas, índices, vistas, sinónimos, secuencias y clústeres, así como los tipos de fuentes, como paquetes, procedimientos, funciones y desencadenadores, para asegurarse de que sean válidos y estén organizados de una manera. que ofrecerá un rendimiento adecuado y contará con el espacio adecuado. Los requisitos de espacio de los objetos de esquema están directamente relacionados con los espacios de tabla y los archivos de datos que están creciendo a un ritmo increíble. SQL Developer u OEM pueden simplificar esto, algo de lo que verá ejemplos más adelante en este capítulo.

Administración de almacenamiento

Las bases de datos están creciendo a un ritmo increíble. Debe administrar el espacio con cuidado y prestar especial atención al espacio utilizado por los archivos de datos y los registros de archivo. Además, con el Área de recuperación rápida (FRA), hay áreas de respaldo que deben administrarse para su uso de espacio. Con Automatic Segment Space Management (ASSM), la necesidad de reorganizar los objetos de la base de datos ha disminuido. Las reorganizaciones también utilizan recursos considerables, por lo que debería evaluarse si un objeto debe reorganizarse o no. Hay utilidades en línea que se supone que ayudan con la reorganización de índices y tablas mientras permanecen en línea, pero no realizan estas operaciones a menos que sea necesario. 

Gestión del cambio

Poder actualizar o cambiar la base de datos es una habilidad que requiere conocimiento de muchas áreas. Las actualizaciones del esquema de la base de datos, la lógica de procedimiento en la base de datos y el software de la base de datos deben realizarse de manera controlada. Los procedimientos y herramientas de control de cambios, como el Change Management Pack de Oracle y las ofertas de terceros, lo ayudarán.

Programar trabajos

Desde Oracle Database 10g, DBMS_SCHEDULER se introdujo con el DBMS_JOBS existente. Permite que los trabajos se programen para una fecha y hora específicas, y categorizar los trabajos en clases de trabajo que luego se pueden priorizar. Esto significa que los recursos se pueden controlar por clase de trabajo. Por supuesto, se pueden utilizar otros sistemas de programación nativos como crontab en Linux y Unix, así como otras ofertas de terceros.

Los trabajos pueden incluir cualquiera de las tareas de mantenimiento de la base de datos, como copias de seguridad y scripts de supervisión. La agrupación de los trabajos de supervisión y mantenimiento en una clase de trabajo puede darles una prioridad menor que un trabajo por lotes de la aplicación que debe finalizar en un breve período de tiempo.

Administración de redes

Oracle Networking es un componente fundamental de la base de datos con el que deberá sentirse cómodo. La resolución de problemas de conexiones a la base de datos es similar a la resolución de problemas de rendimiento, porque aunque la base de datos está activa y disponible, si sus aplicaciones no pueden acceder a ella, es lo mismo que si no estuviera disponible. Las opciones de conectividad de bases de datos como tnsnames, Oracle Internet Directory (OID) y Oracle Listener requieren planificación para garantizar que se cumplan los requisitos de rendimiento y seguridad de una manera sencilla de administrar.

Alta disponibilidad

Con la información y los datos disponibles las 24 horas del día, los 7 días de la semana, la arquitectura de sistemas de alta disponibilidad ha caído en manos del administrador de la base de datos. Las opciones en el lado de la base de datos incluyen Real Application Clusters, Data Guard, replicación y opciones de recuperación rápida. También hay opciones de virtualización y hardware para proporcionar sistemas redundantes y disponibles.

... Y sobe todo: Solución de problemas

Aunque la solución de problemas puede no ser lo que consideraría un área clásica de la administración de bases de datos, es un área con la que se encontrará a diario. Necesitará herramientas que le ayuden con esto. My Oracle Support proporciona soporte técnico y es un recurso invaluable. Los registros de alerta y los archivos de volcado de Oracle también le ayudarán enormemente. La experiencia será su mayor aliado aquí y cuanto antes se sumerja en el soporte de la base de datos, más rápido progresará.

27 febrero 2021

¿Hay vida más allá de Oracle database? Suscripción de aprendizaje del 25 aniversario de Java


 


Este es el contenido de la introducción que hace Oracle a la oferta de aprendizaje en Java, espero que os guste y que la aprovechéis.

Suscripción de aprendizaje del 25 aniversario de Java

Bienvenido a la suscripción de aprendizaje del 25 aniversario de Java de Oracle University. Oracle está celebrando el 25 aniversario del lenguaje de programación Java brindándole la oportunidad de aprender a programar usando Java SE 11. Puede estudiar los temas más importantes y fundamentales para la certificación Java y aprender de instructores expertos experimentados en su tiempo libre. Y cuando esté listo, puede registrarse para realizar el examen de certificación de Java Standard Edition 11.


Esta oferta de programación Java del 25 aniversario está destinada a aquellos que tienen alguna experiencia en programación en otro lenguaje de programación, como C #, C ++, JavaScript, PL / SQL, C, Node.js o incluso COBOL o Fortran. También es para aquellos que tienen algunos conocimientos básicos de Java y quieren ampliar o mejorar sus conocimientos. Para alguien que tomó un curso de Java hace un tiempo y realmente no lo ha usado, esto le servirá como un excelente repaso.


Y, por supuesto, si se está preparando para el examen de certificación Java SE 11, esta oferta cubre todos los temas cubiertos en el examen. Pero si es nuevo en programación y recién está comenzando, le sugerimos que tome primero el curso gratuito Java Explorer, que enseña habilidades básicas de programación, como estructura de programa, variables, tipos de datos, expresiones, toma de decisiones, bucles, clases, objetos, y mucho más. Esta es una introducción divertida y enfocada a los fundamentos de la programación con Java.

Luego regrese y aproveche la oferta del 25 aniversario para obtener el contenido y la experiencia completos de Java SE. Cuando toma esta oferta, obtiene acceso en línea a nuestra guía para estudiantes con diapositivas y notas que acompañan a las presentaciones del instructor grabadas profesionalmente. Puede detenerse, retroceder y revisar fácilmente lo que ha aprendido.

También hay tutoriales grabados de las soluciones de las prácticas que vienen con la suscripción completa de aprendizaje de Java. Puede observar y aprender mientras el instructor explica qué hace el código y por qué.

Para la certificación Java SE 11, hay un conjunto de preguntas de examen simuladas, para que pueda tener una idea del estilo y la dificultad de las preguntas reales del examen. Y cuando acceda a la página web de suscripción de aprendizaje de Java 25th, puede avanzar al mosaico de certificación para registrarse para realizar el examen. Los ejemplos y prácticas que se ven en el curso se basan en Java JDK 11 y NetBeans 11, ambas descargas gratuitas del sitio que se muestra en la pantalla.


Si eres programador y desea aprender Java más profundamente, puede intentar configurar un entorno de trabajo para probar las prácticas y los ejemplos en su computadora local. Si es un novato, como dije antes, considera comenzar con el Explorador de Java, nuestra oferta de programación básica de Java gratuita, que incluye las instrucciones para obtener y configurar una cuenta gratuita de Oracle Cloud para realizar sus prácticas. Luego, puede usar eso para probar estos ejemplos y prácticas también. Pero esto es completamente opcional y no es compatible con Oracle. La guía de práctica y laboratorio completa y el entorno de laboratorio configurado se proporcionan con la suscripción completa de aprendizaje de Java.


Hablando de eso, ¿qué sigue? ¿Qué incluye la suscripción completa de aprendizaje de Java? Bueno, creemos que una vez que haya disfrutado de la oferta del 25 aniversario de Java, querrá expandir y profundizar su aprendizaje y obtener acceso a más cursos y aprendizaje digital. Con la suscripción completa de aprendizaje de Java, obtiene acceso a un entorno de laboratorio alojado y guías de laboratorio detalladas para realizar las prácticas. Obtiene acceso a todo el contenido grabado digitalmente en la suscripción de aprendizaje, tanto el contenido actual como el contenido nuevo que se agrega o actualiza.

Puede acceder a la formación sobre las versiones actuales y anteriores de Java. Por ejemplo, algunos clientes todavía usan Java SE Standard Edition 8 y necesitan capacitación para esa versión. Tendrá acceso a todos los materiales de Java Standard Edition 8 y Java Enterprise Edition, así como a las certificaciones para SE 8 y EE 7, y los videos de preparación de la certificación grabados para ayudarlo a prepararse para su certificación. Y puede registrarse para sesiones en vivo. Estas son sesiones de capacitación semanales en vivo alojadas por Zoom, impartidas por instructores expertos en una gran variedad de temas. Esta es una excelente manera de hacer preguntas e interactuar con un instructor en vivo.



Este es el roadmap a seguir:














23 febrero 2021

Conceptos básicos de Data Guard de Oracle 12c

 

Data Guard es la verdadera tecnología de protección contra desastres de Oracle 12c. En él, tiene un mínimo de dos bases de datos, principal y en espera. Data Guard tiene opciones para múltiples sitios en espera, así como una configuración activo-activo.

Por activo-activo, significa que ambos / todos los sitios están en funcionamiento, en funcionamiento y accesibles. Esto se opone a los sitios que tienen una ubicación activa y las otras deben iniciarse cuando se necesitan. Este es un ejemplo del diseño arquitectónico general.


Arquitectura de Data Guard y Oracle 12c

Comenzar una descripción con la base de datos primaria es fácil porque se diferencia muy poco de cualquier otra base de datos que pueda tener. La única diferencia es lo que hace con sus registros de rehacer archivados.

La base de datos principal escribe un conjunto de registros de rehacer archivos en un área de recuperación de Flash o en un disco local. Sin embargo, puede configurar uno o más destinos en un entorno de Data Guard.

El parámetro LOG_ARCHIVE_DEST_n puede tener este aspecto para la configuración anterior:

LOG_ARCHIVE_DEST_10 = 'UBICACIÓN = USE_DB_RECOVERY_FILE_DEST'

LOG_ARCHIVE_DEST_1 = 'SERVICIO = PHYSDBY1 ARCH'

LOG_ARCHIVE_DEST_2 = 'SERVICIO = LOGSDBY1 LGWR'

 

·         LOG_ARCHIVE_DEST_10 está configurado para enviar registros de rehacer archivos al Área de recuperación de Flash local. Se requiere un destino local para todas las bases de datos en modo de registro de archivo.

·         LOG_ARCHIVE_DEST_1 está configurado para enviar los registros de archivo a través del proceso de archivado a un sitio remoto PHYSDBY1. El nombre del servicio para este sitio remoto tiene una entrada en el archivo tnsnames.ora en el servidor primario.

·         LOG_ARCHIVE_DEST_2 está configurado para enviar los registros de archivo a través del proceso LGWR a un sitio remoto llamado LOGSDBY1. El nombre del servicio para este sitio remoto también tiene una entrada en el archivo tnsnames.ora en el servidor primario.

 

¿Por qué la diferencia entre los métodos de envío ARCn y LGWR? Eso tiene algo que ver con los modos de protección. Un entorno de Data Guard tiene tres modos de protección.

Disponibilidad máxima

El modo de protección de máxima disponibilidad se compromete entre el rendimiento y la disponibilidad de datos. Funciona mediante el uso de LGWR para escribir simultáneamente para rehacer registros en los sitios principal y en espera. La degradación del rendimiento viene en forma de procesos que tienen que esperar a que las entradas del registro de rehacer se escriban en varias ubicaciones.

Las sesiones que emiten confirmaciones deben esperar hasta que se haya registrado toda la información necesaria en al menos un registro de rehacer de la base de datos en espera. Si una sesión se bloquea debido a su incapacidad para escribir información de rehacer, el resto de la base de datos sigue avanzando.

Protección máxima

El modo de protección máxima es similar a la disponibilidad máxima, excepto que si una sesión no puede verificar que rehacer está escrito en el sitio remoto, la base de datos principal se apaga.

Consejo:  Configure al menos dos sitios en espera para el modo de máxima protección. De esa manera, un sitio en espera que deje de estar disponible no interrumpirá el servicio para toda la aplicación.

 

Este modo verifica que no se producirá ninguna pérdida de datos en caso de desastre a costa del rendimiento.

Rendimiento máximo

El modo de protección de máximo rendimiento separa el proceso de trasvase de registros de la base de datos principal pasándolo al proceso de registro de archivo (ARCn). Al hacer esto, todas las operaciones en el sitio principal pueden continuar sin esperar a que se escriban las entradas de rehacer para rehacer los registros o rehacer el envío.

 

Esto se opone a los modos de trasvase de registros que utilizan el escritor de registros para transferir transacciones. El uso del escritor de registros puede ralentizar el procesamiento de la transacción porque puede verse afectado por la disponibilidad o el rendimiento de la red.

El rendimiento máximo proporciona el nivel más alto de rendimiento en el sitio principal a expensas de la divergencia de datos. La divergencia de datos se produce cuando los datos de los dos sitios comienzan a de sincronizarse. Los datos de rehacer del archivo no se envían hasta que se llena todo el registro de rehacer del archivo. En el peor de los casos, la pérdida de un sitio completo podría resultar en la pérdida de todos los datos de un registro de rehacer de archivo (archive redo log).

 

Realización de operaciones de conmutación y conmutación por error

Puede cambiar el procesamiento a su sitio en espera de dos maneras:

·         La conmutación (switchover) es un cambio planificado que puede ocurrir si desea realizar mantenimiento en el sitio principal que requiere que no esté disponible. Esta operación puede requerir unos minutos de inactividad en la aplicación, pero si tiene que realizar un mantenimiento que dure una hora o más, el tiempo de inactividad podría valer la pena. Esta operación se denomina cambio elegante porque convierte el sitio principal en su sitio en espera y su sitio en espera en el principal. Además, puede volver fácilmente al sitio principal original sin tener que volver a crearlo desde cero.

·         La conmutación por error (failover) ocurre cuando el sitio principal se ha visto comprometido de alguna manera. Quizás fue una pérdida total del sitio, o quizás descubrió daños físicos en un archivo de datos. No siempre, pero por lo general después de una conmutación por error, debe volver a crear completamente el sitio principal o recuperarlo de una copia de seguridad y reinstalarlo. Por lo general, realiza una conmutación por error solo cuando ha determinado que reparar el sitio principal llevará el tiempo suficiente para que prefiera no tener una interrupción de la aplicación durante todo el tiempo.

Para realizar un cambio, siga estos pasos:

1.        En el primario actual, inicie sesión en SQL * Plus y escriba lo siguiente:

<alter database commit to switchover to physical standby;>

 Deberías ver esto:

< Base de datos alterada >

.

2.       Apague la base de datos primaria:

 <shutdown immediate>

Deberías ver esto::

Database closed.
Database dismounted.
ORACLE instance shut down.

3.       Inicie la base de datos primaria en modo nomount:

  <startup nomount>

Debería ver algo como esto:

ORACLE instance started.

Total System Global Area 789172224 bytes

Fixed Size         2148552 bytes

Variable Size       578815800 bytes

Database Buffers     201326592 bytes

Redo Buffers        6881280 bytes

4.       Monte la base de datos en espera:

<alter database mount standby database;>

Deberías ver esto:

Database altered.

5.       Iniciar la recuperación:

<recover managed standby database disconnect;>

Ves esto:

Media recovery complete.

6.       Inicie sesión en SQL * Plus en el modo de espera actual y escriba lo siguiente:

<alter database commit to switchover to physical primary;>

Deberías ver esto:

Database altered.

7.       Apague la base de datos en espera:

 <shutdown immediate>

Deberías ver esto:

Database closed.

Database dismounted.

ORACLE instance shut down.

8. Asegúrese de que todos los parámetros de inicialización apropiados estén configurados para que esta base de datos se comporte correctamente como primaria.

9.       Empiece normalmente:

<startup>

Debería ver algo como esto:

ORACLE instance started.

Total System Global Area 789172224 bytes

Fixed Size         2148552 bytes

Variable Size       578815800 bytes

Database Buffers     201326592 bytes

Redo Buffers        6881280 bytes

Database mounted.

Database opened.


Asegúrese de que los usuarios y las aplicaciones puedan conectarse y utilizar la nueva instancia principal.