Mostrando entradas con la etiqueta Arquitectura. Mostrar todas las entradas
Mostrando entradas con la etiqueta Arquitectura. Mostrar todas las entradas

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á.

20 enero 2021

Oracle Database 12c R2 Nueva función: Cifrado de tablespaces en línea y automática


Transparent Data Encryption, en adelante TDE,  le permite cifrar datos confidenciales, como números de tarjetas de crédito o porcentaje de invalidez, dentro de la base de datos  Oracle 12C.



Oracle Database utiliza autenticación, autorización y mecanismos de auditoria para proteger los datos en la base de datos, pero no en los archivos de datos del sistema operativo donde se almacenan los datos. Para proteger estos archivos de datos, Oracle Database proporciona Transparent Data Encryption (TDE). TDE cifra los datos confidenciales almacenados en archivos de datos. Para evitar el descifrado no autorizado, TDE almacena las claves de cifrado en un módulo de seguridad externo a la base de datos, denominado almacén de claves.

El cifrado transparente de datos (TDE) permite cifrar datos confidenciales tales como números de tarjetas de crédito almacenados en tablas y espacios de tabla. Los datos cifrados se descifran de forma transparente para una aplicación o un usuario de base de datos que tenga acceso a los datos. TDE ayuda a proteger los datos almacenados en medios en caso de sustracción de los medios de almacenamiento o los archivos de datos. Oracle usa mecanismos de autenticación, autorización y auditoría para proteger los datos de la base de datos, pero no los archivos de datos del sistema operativo donde se almacenan datos. Para proteger estos archivos de datos, Oracle proporciona TDE. TDE cifra los datos confidenciales almacenados en los archivos de datos. Para evitar descifrados no autorizados, TDE almacena las claves de cifrado en un módulo de seguridad externo a la base de datos.

Estas son algunas de las ventajas del uso de TDE:

  • Como administrador de seguridad tendrá la tranquilidad de que los datos confidenciales estén protegidos en caso de sustracción de los medios de almacenamiento o de los archivos de datos.
  • La implementación de TDE ayuda a abordar los aspectos de cumplimiento reglamentario relacionados con la seguridad.
  • No es necesario crear desencadenadores ni vistas para descifrar los datos para una aplicación o usuario autorizados. Los datos de las tablas se descifran de forma transparente para la aplicación y el usuario de la base de datos.
  • No es necesario que las aplicaciones y usuarios de base de datos sepan que los datos a los que acceden están almacenados en modo cifrado. Los datos se descifran de forma transparente para las aplicaciones y usuarios de base de datos.
  • No hace falta modificar las aplicaciones para controlar los datos cifrados. La base de datos administra el cifrado y descifrado de datos.
  • Las operaciones de administración de claves están automatizadas. El usuario o la aplicación no necesitan administrar las claves de cifrado.

Oracle 12c

Para obtener más información sobre la configuración del cifrado de espacios de tablas de TDE, consulte la documentación de Oracle.

Configuración manual del TDE
El siguiente procedimiento muestra cómo configurar manualmente TDE.

  • Cree el directorio keystore.
        mkdir $ORACLE_HOME/admin/$ORACLE_SID/wallet

  • Modifique el archivo SQLNET.ORA si desea administrar la cartera de cifrado.
        La ubicación predeterminada de la cartera de cifrado es             $ORACLE_BASE/admin/<nombre_db_global>/wallet. Si desea permitir que Oracle administre una cartera en la ubicación predeterminada, no necesita establecer el parámetro ENCRYPTION_WALLET_LOCATION en el archivo sqlnet.ora.

Para Windows


ENCRYPTION_WALLET_LOCATION=
 (SOURCE=
  (METHOD=FILE)   (METHOD_DATA=
    (DIRECTORY=C:/oracle/admin/%ORACLE_SID%/wallet/)))

Para Linux


ENCRYPTION_WALLET_LOCATION=
 (SOURCE=
  (METHOD=FILE)   (METHOD_DATA=
    (DIRECTORY=/app/oracle/admin/$ORACLE_SID/wallet/)))

  • Compruebe el parámetro de inicialización COMPATIBLE para el número correcto de versión. Debería ser 12.x.
Nota:
Utilice SQL*Plus. No utilice Oracle SQL Developer.

ORA> sqlplus /nolog SQL> connect /as sysdba Connected. SQL> select instance_name,status,database_status from v$instance;
INSTANCE_NAME    STATUS       DATABASE_STATUS
---------------- ------------ -----------------
mcs1              OPEN         ACTIVE
SQL> show parameter compatible NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
compatible                           string      12.1.0.0.0
  • Cree el keystore.
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";


  • Abra el keystore basado en contraseña.
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;

  • Comprueba el estado 
SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;

  • Haga una copia de seguridad de un software keystore basado en contraseña.
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'keystore_bkp' IDENTIFIED BY "mcs1$admin";
SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
  • Cree la clave principal de cifrado.
Cree una clave principal para la CBD y todas las PDB.

ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_all_bkp' CONTAINER=ALL;
SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
Exporte la clave principal.

ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
  • Si lo desea, cree la contraseña principal para el contenedor actual. Puede omitir este paso si ha completado el paso anterior.
Base de datos de contenedor (CDB):

ALTER SESSION SET CONTAINER = CDB$ROOT;
SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_cdb_backup' CONTAINER=CURRENT;
SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
--export master key
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_cdb_exp.bkp' IDENTIFIED BY "mcs1$admin";
Base de datos conectable (PDB): bathypdb

ALTER SESSION SET CONTAINER = bathypdb;
SHOW CON_NAME SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM dual;
ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY "mcs1$admin" WITH BACKUP USING 'masterkey_bathypdb_backup' CONTAINER=CURRENT;
SELECT KEY_ID,KEYSTORE_TYPE,CREATOR,CREATOR_INSTANCE_NAME,CREATOR_PDBNAME FROM V$ENCRYPTION_KEYS;
--export master key
ADMINISTER KEY MANAGEMENT EXPORT ENCRYPTION KEYS WITH SECRET "mcs1.exp$admin" TO 'C:\oracle\admin\mcs1\wallet\masterkey_bathypdb_exp.bkp' IDENTIFIED BY "mcs1$admin";

  • Comprobar estado
Select * from v$encryption_wallet;
select * from v$encryption_keys;
select wrl_parameter,status,wallet_type from v$encryption_wallet;
select key_id,keystore_type, creator,creator_instance_name, creator_pdbname from v$encryption_keys;

  • Establezca el keystore local de inicio de sesión automático.
ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE 'C:\oracle\admin\mcs1\wallet' IDENTIFIED BY "mcs1$admin";
SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
--the cwallet.sso file appears in the keystore location. The ewallet.p12 file is the password-based wallet. --Note:
--Do not remove the PKCS#12 wallet (ewallet.p12 file) after you create the auto login keystore (.sso file). 
--You must have the PKCS#12 wallet to regenerate or rekey the TDE master encryption key in the future. 
--By default, this file is located in the $ORACLE_HOME/admin/ORACLE_SID/wallet directory.

  • Abra el keystore de inicio de sesión automático.
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN CONTAINER=ALL;
-- check the status
SELECT WRL_PARAMETER,STATUS,WALLET_TYPE FROM V$ENCRYPTION_WALLET;
Sugerencia:
Para cerrarlo, puede usar la siguiente instrucción.

ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY "mcs1$admin" CONTAINER=ALL;

  • Se recomienda que verifique el estado de la configuración TDE utilizando las instrucciones SQL siguientes.
Select * from v$encryption_wallet;
select * from v$encryption_keys;
select wrl_parameter,status,wallet_type from v$encryption_wallet;
select key_id,keystore_type from v$encryption_keys;
select key_id from v$encryption_keys;
select keystore_type from v$encryption_keys;
select wrl_parameter from v$encryption_wallet;
select status from v$encryption_wallet;
select * from v$encrypted_tablespaces;
select tablespace_name, encrypted from dba_tablespaces;
select * from dba_encrypted_columns;

24 septiembre 2020

¿Hay vida más allá de Oracle? Apache Cordova

 


Visión general

Apache Cordova es un marco de desarrollo móvil de código abierto. Le permite utilizar tecnologías web estándar: HTML5, CSS3 y JavaScript para el desarrollo multiplataforma. Las aplicaciones se ejecutan dentro de envoltorios dirigidos a cada plataforma y dependen de enlaces API que cumplen con los estándares para acceder a las capacidades de cada dispositivo, como sensores, datos, estado de la red, etc.

Utiliza Apache Cordova si eres:

  • Un desarrollador móvil y desea extender una aplicación a más de una plataforma, sin tener que volver a implementarla con el idioma y el conjunto de herramientas de cada plataforma.
  • Un desarrollador web y desea implementar una aplicación web empaquetada para su distribución en varios portales de tiendas de aplicaciones.
  • Un desarrollador móvil interesado en mezclar componentes de aplicaciones nativas con un WebView (ventana especial del navegador) que puede acceder a las API a nivel de dispositivo, o si desea desarrollar una interfaz de complemento entre componentes nativos y WebView.

Arquitectura

Hay varios componentes en una aplicación Cordova. El siguiente diagrama muestra una vista de alto nivel de la arquitectura de la aplicación Cordova..


Aplicación Web

Esta es la parte donde reside el código de su aplicación. La aplicación en sí se implementa como una página web, de forma predeterminada un archivo local llamado index.html, que hace referencia a CSS, JavaScript, imágenes, archivos multimedia u otros recursos necesarios para su ejecución. La aplicación se ejecuta en un WebView dentro del contenedor de la aplicación nativa, que distribuye a las tiendas de aplicaciones.

Este contenedor tiene un archivo muy importante: el archivo config.xml que proporciona información sobre la aplicación y especifica los parámetros que afectan su funcionamiento, como si responde a los cambios de orientación.

Plugins (complementos)

Los complementos son una parte integral del ecosistema de Cordova. Proporcionan una interfaz para que Cordova y los componentes nativos se comuniquen entre sí y se vinculan a las API de dispositivos estándar. Esto le permite invocar código nativo desde JavaScript.

El proyecto Apache Cordova mantiene un conjunto de complementos llamados Core Plugins. Estos complementos principales proporcionan a su aplicación para acceder a las capacidades del dispositivo, como la batería, la cámara, los contactos, etc.

Además de los complementos principales, existen varios complementos de terceros que proporcionan enlaces adicionales a funciones que no están necesariamente disponibles en todas las plataformas. Puede buscar complementos de Cordova mediante la búsqueda de complementos o npm. También puede desarrollar sus propios complementos, como se describe en la Guía de desarrollo de complementos. Los complementos pueden ser necesarios, por ejemplo, para comunicarse entre Cordova y componentes nativos personalizados.

Datos a tener en cuenta: 

  • Cuando crea un proyecto de Cordova, no tiene ningún complemento presente. Este es el nuevo comportamiento predeterminado. Todos los complementos que desee, incluso los complementos principales, deben agregarse explícitamente.
  • Cordova no proporciona widgets de interfaz de usuario ni marcos MV *. Cordova proporciona solo el tiempo de ejecución en el que se pueden ejecutar. Si desea utilizar widgets de UI y / o un framework MV *, deberá seleccionarlos e incluirlos en su aplicación.

Cordova presenta dos caminos de desarrollo

Cordova le proporciona dos flujos de trabajo básicos para crear una aplicación móvil. Si bien a menudo puede usar cualquiera de los flujos de trabajo para realizar la misma tarea, cada uno ofrece ventajas:

Flujo de trabajo multiplataforma (CLI): use este flujo de trabajo si desea que su aplicación se ejecute en tantos sistemas operativos móviles diferentes como sea posible, con poca necesidad de desarrollo específico de plataforma. Este flujo de trabajo se centra en la CLI de cordova. La CLI es una herramienta de alto nivel que le permite crear proyectos para muchas plataformas a la vez, abstrayendo gran parte de la funcionalidad de los scripts de shell de nivel inferior. La CLI copia un conjunto común de activos web en subdirectorios para cada plataforma móvil, realiza los cambios de configuración necesarios para cada uno y ejecuta scripts de compilación para generar binarios de aplicaciones. La CLI también proporciona una interfaz común para aplicar complementos a su aplicación. Para comenzar, siga los pasos de la guía Cree su primera aplicación. A menos que necesite un flujo de trabajo centrado en la plataforma, se recomienda el flujo de trabajo multiplataforma.

Flujo de trabajo centrado en la plataforma: utilice este flujo de trabajo si desea centrarse en la creación de una aplicación para una única plataforma y necesita poder modificarla en un nivel inferior. Debe utilizar este enfoque, por ejemplo, si desea que su aplicación combine componentes nativos personalizados con componentes de Cordova basados ​​en web, como se explica en Incrustar WebViews. Como regla general, use este flujo de trabajo si necesita modificar el proyecto dentro del SDK. Este flujo de trabajo se basa en un conjunto de scripts de shell de nivel inferior que se adaptan a cada plataforma admitida y una utilidad Plugman independiente que le permite aplicar complementos. Si bien puede usar este flujo de trabajo para crear aplicaciones multiplataforma, generalmente es más difícil porque la falta de una herramienta de nivel superior significa ciclos de compilación separados y modificaciones de complementos para cada plataforma.

Al comenzar, puede ser más fácil usar el flujo de trabajo multiplataforma para crear una aplicación, como se describe en la guía Cree su primera aplicación. Luego, tiene la opción de cambiar a un flujo de trabajo centrado en la plataforma si necesita el mayor control que proporciona el SDK.

NOTA: Una vez que cambie del flujo de trabajo basado en CLI a uno centrado en los SDK específicos de la plataforma y las herramientas de shell, no podrá regresar. La CLI mantiene un conjunto común de código fuente multiplataforma, que en cada compilación utiliza para escribir sobre el código fuente específico de la plataforma. Para conservar cualquier modificación que realice en los activos específicos de la plataforma, debe cambiar a las herramientas de shell centradas en la plataforma, que ignoran el código fuente multiplataforma y, en cambio, se basan en el código fuente específico de la plataforma.

Instalación de Cordova

La instalación de Cordova diferirá según el flujo de trabajo anterior que elija:

  • Flujo de trabajo centrado en la plataforma.

Después de instalar Cordova, se recomienda que revise la sección Desarrollar para plataformas para las plataformas móviles para las que desarrollará. También se recomienda que también revise la Guía de privacidad y la Guía de seguridad.

Hay alternativas, si no encuentras que es tu framework ideal, echa un ojo en los siguientes links




29 julio 2020

¿Qué es la arquitectura de datos?


En tecnología de la información, la arquitectura de datos se compone de modelos, políticas, reglas o estándares que rigen qué datos se recopilan y cómo se almacenan, organizan, integran y utilizan en los sistemas de datos y en las organizaciones. [1] Los datos suelen ser uno de varios dominios de arquitectura que forman los pilares de una arquitectura empresarial o arquitectura de solución. [2]
[1] Business Dictionary - Data Architecture*TOGAF® 9.1 - Phase C: Information Systems Architectures - Data Architecture
[2] What is data architecture GeekInterview, 2008-01-28, accessed 2011-04-28



La arquitectura de datos define los flujos de información en una organización y cómo se controlan. Un arquitecto de datos es responsable de comprender los objetivos comerciales y la infraestructura y los activos de datos existentes; definición de principios de arquitectura de datos; y dar forma a la arquitectura de datos empresariales para proporcionar mayores beneficios a la organización.
Algunos conceptos básicos en arquitectura de datos:
  • Modelo de datos conceptual: muestra entidades de datos como clientes, productos y transacciones, y su semántica.
  • Modelo lógico: define los datos con el mayor detalle posible, incluidas las relaciones entre los elementos de datos, pero sin considerar cómo se almacenan o administran los datos.
  • Modelo de datos físicos: define cómo se representan y almacenan los datos, por ejemplo, en un archivo plano, base de datos, almacén de datos, almacén de valores clave.


¿Quién está involucrado en la arquitectura de datos?
Los siguientes roles existen para ayudar a dar forma y mantener una arquitectura de datos moderna:

  • Arquitecto de datos: define la visión de los datos en función de los requisitos comerciales, los traduce a los requisitos tecnológicos y define los estándares y principios de datos.
  • Responsable de proyectos: supervisa proyectos que modifican flujos de datos o crean nuevos flujos de datos.
  • Arquitecto de soluciones: diseña sistemas de datos para cumplir con los requisitos empresariales.
  • Arquitecto en la nube o ingeniero de centro de datos: prepara la infraestructura en la que se ejecutarán los sistemas de datos, incluidas las soluciones de almacenamiento.
  • DBA o ingeniero de datos: crea sistemas de datos, los completa con datos y se ocupa de la calidad de los datos.
  • Analista de datos: un usuario final de la arquitectura de datos, lo utiliza para crear informes y administrar una fuente de datos continua para la empresa.
  • Científicos de datos: también usuarios de la arquitectura de datos, que aprovechan para extraer datos de la organización para obtener nuevas perspectivas.

El papel del arquitecto de datos

¿Qué habilidades ayudan a alguien a convertirse en un arquitecto de datos?

  • Comprender y comunicar cómo los datos impulsan el negocio.
  • Capaz de trabajar con diversas fuentes de datos, comprender su estructura, contenido y significado.
  • Profundamente informado sobre herramientas y tecnologías de datos.

¿Cómo se puede formar un candidato a ser arquitecto de datos?
La capacitación de arquitectos de datos generalmente ocurre en el trabajo, en roles relacionados con datos como ingeniero de datos, científico de datos o arquitecto de soluciones. No existe un programa de certificación o capacitación estándar de la industria para arquitectos de datos, pero es valioso para los arquitectos tener certificación en las plataformas de datos primarias utilizadas por su organización. Algo así como un OCP, en el caso de Bases de datos Oracle.

¿Cuáles son los roles y responsabilidades del arquitecto de datos?
·         Traduce los requisitos del cliente o de su organización a especificaciones técnicas:
o   flujos de datos
o   transformaciones
o   integraciones
o   bases de datos
o   almacenes de datos (datawarehouse)

  • Define los estándares y los principios de la arquitectura de datos: modelado, metadatos, seguridad, datos de referencia como códigos de productos y categorías de clientes, y datos maestros como clientes, proveedores, materiales y empleados.
  • Define una arquitectura de referencia: un patrón que otros en la organización pueden seguir para crear y mejorar los sistemas de datos.
  • Define los flujos de datos: qué partes de la organización generan datos, qué datos requieren para funcionar, cómo se gestionan los flujos de datos y cómo cambian los datos en la transición.
  • Colaboración y coordinación: los proyectos de datos a menudo abarcan múltiples departamentos y partes interesadas, así como socios y proveedores externos; El arquitecto de datos es un punto focal que coordina a todas las partes en torno a los objetivos de la organización.


¿Cómo puede ayudar la tecnología?
Hace muchos años, la infraestructura de datos era monolítica. Las organizaciones invirtieron millones en grandes sistemas que almacenarían y procesarían todos los datos de la organización. Con el advenimiento de la tecnología de código abierto y las metodologías ágiles, los sistemas de datos se están volviendo más simples y más livianos, en algunos casos, y al mismo tiempo más efectivos y más flexibles.

Las herramientas tecnológicas que nos encontramos son:

  • Contenedores: plataformas como Docker y Kubernetes ayudan a acelerar e implementar la infraestructura de datos con solo hacer clic en un botón, y orquestar sistemas complejos de manera flexible y escalable.
  • Almacén de datos: una piedra angular de la infraestructura de datos de la vieja escuela, los almacenes de datos siguen siendo importantes, pero se están trasladando a la nube e interactuando con lagos de datos, bases de datos tradicionales y fuentes de datos no estructuradas
  • Base de datos relacional: los antiguos dominadores como Oracle, DB2, o incluso SQL Server, todavía están en uso, pero las alternativas de código abierto como MariaDB, MySQL y PostgreSQL están en todas partes
  • Base de datos NoSQL: almacenas cantidades masivas de datos semiestructurados y no estructurados. Las soluciones populares son Redis, MongoDB o Cassandra.
  • Transmisión en tiempo real: nuevas herramientas como Apache Kafka, ElasticSearch Logstash, Flume y AWS Kinesis ayudan a transmitir grandes volúmenes de datos desde los registros del sistema y los sistemas de producción.
  • Microservicios y computación sin servidor: los sistemas de datos creados utilizando microservicios o funciones como servicio (FaaS) son unidades independientes que exponen una interfaz estándar, lo que permite a los arquitectos de datos componer y organizar entornos de datos para satisfacer las necesidades del negocio.



Prácticas que mejorarán la arquitectura de datos
Las siguientes prácticas pueden ayudarnos a lograr una arquitectura de datos más efectiva:

  • Vea los datos como activos compartidos: elimine los silos organizativos y vea los datos de los clientes de manera integral, combinando datos de todas las partes de la organización.
  • Diseñar e implementar las interfaces adecuadas para que los usuarios consuman datos: los datos son insignificantes si no se pueden consumir de manera conveniente. Las interfaces pueden ser paneles basados ​​en web, BI, consultas SQL, R o cualquier otra cosa que los usuarios comerciales o analistas utilicen para obtener información.
  • Asegurar el control de acceso: clasifique los datos de acuerdo con su sensibilidad e importancia comercial, y diseñe cuidadosamente los controles de acceso para garantizar que los datos estén fácilmente disponibles, pero solo para aquellos que lo requieran.
  • Apoyar la administración del dato: los administradores de datos son expertos en la materia que pueden ayudar a limpiar, verificar y agregar datos de la organización. Por ejemplo, un gerente de línea de productos que tiene una visión especial de miles de productos. Construya una comunidad de administradores de datos, contribuyentes y ciudadanos de datos que puedan mejorar la calidad de los datos para todos.
  • Conservación de los datos: considere qué datos son realmente procesables para diferentes roles organizativos y cree procesos para seleccionar los datos más relevantes. Más allá de la curación de arriba hacia abajo, permita a los usuarios realizar fácilmente filtros y consultas para obtener datos relevantes más rápido.
  • Elimine las copias y el movimiento de datos: en las grandes organizaciones, es difícil estandarizar los datos sin reglas estrictas que sofocan la creatividad. Esfuércese por crear formatos y estructuras de datos que alienten a los usuarios a colaborar en las mismas entidades de datos, en lugar de crear múltiples versiones de la misma entidad.
  • Automatizar todo lo que sea posible: la clave para una arquitectura de datos eficiente.




28 agosto 2017

Entender Oracle Data Guard

En este artículo, escribiré sobre la solución de recuperación de desastres de Oracle (recuperación de desastres). Voy a dar la terminología básica en una breve información sobre el Data Guard. Como gestores de datos, estamos obligados a tomar las medidas necesarias antes de que ocurran estos desastres. También hay que considerar tomar las acciones necesarias que son muy importantes. Estos son;
  • RPO (Recovery Point Objective) - ¿Cuántos datos puede permitirse perder?
  • RTO (Recovery Time Objective) - Sin acceso a los datos, ¿Cuanto tiempo puedes soportar?

De acuerdo con las respuestas de estas preguntas debemos establecer el sistema de copia de seguridad. No estamos satisfechos con la instalación de nuestro sistema, y ​​debemos monitorear nuestro sistema.

Ahora, veamos la solución que Oracle propone:  Oracle Data Guard.

Oracle Data Guard es la solución de recuperación de desastres. Protege nuestra base de datos de producción de los desastres, reduciendo la carga de trabajo sobre ella y su uso más efectivo. Technology, introducida por primera vez mediante el establecimiento de la base de datos de reserva manualmente con Oracle 7. Apareció como un Data Guard con Oracle 8i. 

Evolución histórica de Oracle Data Guard
Si examinamos las características de un Data Guard desde el pasado hasta el presente;
  • ORACLE 8i
    • Base de datos en espera de sólo lectura
    • Recuperación gestionada
    • Archivo de registro de rehacer archivos remotos
  • ORACLE 9i
    • Integración "Pérdida de datos cero"
    • Data Guard Broker y Data Guard Manager GUI
    • Operaciones de Switcover y Failover
    • Sincrónico automático
    • Base de datos de espera lógica
    • Protección máxima
  • ORACLE 10g
    • Aplicación en tiempo real
    • Soporte forzado para Oracle RAC
    • Failover de arranque rápido
    • Transferencia asíncrona de rehacer
    • Base de datos Flashback
  • ORACLE 11g
    • Base de datos de espera activa (Active Data Guard)
    • Instantánea de la instantánea
    • Soporte de plataforma heterogénea (Producción -Linux, Standby - Windows)
  • ORACLE 12C
    • Funciones comunes a Redo Apply y SQL Apply
    • Funciones especificas a Redo Apply
    • Funciones especificas a  SQL Apply




FLUJO DE DATOS: PHYSICAL STANDBY
Vamos a entender cómo los datos fluyen en la configuración de Oracle Data Guard mostrada arriba en ocho puntos:


  • En la base de datos principal, se inician las transacciones. Todos los bloqueos de caché del búfer (bloqueos exclusivos) que se requieren para la transacción se obtienen.
  • En la base de datos principal, los bloques de rehacer que describen los cambios (o los vectores de cambio) se generan y almacenan en el Área Global del Programa (PGA) de los procesos. Después de adquirir con éxito el bloqueo de rehacer asignación, el espacio se asigna en el búfer de registro de rehacer. El redo generado se copia de PGA de los procesos en el búfer de registro de rehacer.
  • En la base de datos primaria, el proceso de primer plano de oracle le indica a LGWR que limpie los búferes de registro de rehacer en el disco. Recuerde que los bloques de base de datos de la base de datos aún no se han actualizado con los cambios DML. El LGWR descarga los buffers de redo al ORL y reconoce la finalización de la sesión. En este punto, la transacción es persistente en el disco. No se ha cometido hasta el momento.



En algún momento futuro, los buffers de base de datos que fueron cambiados previamente serán escritos en disco por el proceso de escritura de base de datos (DBWR) en el momento del punto de control. Este punto no está marcado en el diagrama anterior.
Tenga en cuenta que antes de que el proceso DBWR haya descargado los búferes de la base de datos a los discos, el proceso LGWR debe haber escrito ya los búferes de rehacer en el disco. Esta secuencia explícita es reforzada por el protocolo de registro anticipado.
También el proceso ARCH en la base de datos primaria archiva los ORL en archivos de registro de archivos. Este punto tampoco está marcado en el diagrama anterior.

  • En la base de datos primaria, el proceso LNS lee el redo recientemente descargado del búfer de registro de redo y envía los datos de rehacer a la base de datos en espera utilizando el destino de transporte redo (LOG_ARCHIVE_DEST_n) que definimos durante la creación de la base de datos en espera. Estamos utilizando el método de transporte ASYNC, por lo que el LGWR no espera ningún reconocimiento de la LNS para esta operación de envío de red. No se comunica con el LNS excepto para iniciarlo en la etapa de inicio de la base de datos y después de un fallo de una conexión en espera.
  • En la base de datos de espera, el RFS lee el flujo de rehacer desde el socket de red en los búferes de red y, a continuación, escribe este flujo de rehacer a la SRL.
  • En la base de datos de espera, el proceso ARCH archiva las SRL en archivos de registro de archivo cuando se produce un cambio de registro en la base de datos primaria. El archivo de registro de archivo generado se registra con el archivo de control de espera.
  • En la base de datos de espera, el proceso de recuperación real comienza en este paso. El proceso de recuperación administrado (MRP) leerá de forma asincrónica el rehacer de los SRL o de los registros de rehacer archivados (cuando la recuperación se reduce o no se aplica en tiempo real). Los bloques que requieren redo apply se analizan y se colocan en segmentos de mapa en memoria apropiados.
  • En la base de datos en espera, el proceso MRP envía rehacer a los esclavos de recuperación utilizando el marco de comunicación entre procesos de consulta en paralelo (PQ). Medios paralelos

Recuperación (PMR) hace que los bloques de datos requeridos sean leídos en la caché del búfer, y posteriormente redo se aplicará a estos búferes del búfer del búfer.


PROCESOS RELACIONADOS CON BASE DE DATOS EN ESPERA FÍSICA

En la base de datos primaria:
  • LGWR: El proceso de escritura de registros vacía los buffers de registro de los archivos SGA a Online Redo Log.
  • LNS: El servicio de red de LogWriter (LNS) lee el redo que es descargado de los almacenadores intermediarios del redo por el LGWR y envía el redo sobre red a la base de datos espera. El propósito principal del proceso LNS es liberar el proceso LGWR de realizar el rol redo transport. 
  • ARCH: El archivador procesa los archivos de ORL para archivar los archivos de registro. Pueden existir hasta 30 procesos ARCH, y estos procesos ARCH también se utilizan para satisfacer solicitudes de resolución de huecos. Tenga en cuenta que un proceso ARCH tiene un papel especial en que está dedicado al archivo de registro de redo local solo y nunca se comunica con una base de datos en espera.

En la base de datos de reserva:
  • RFS: El objetivo principal del proceso de servidor de archivos remotos es realizar una red de recepción de redo transmitida desde el sitio principal y, a continuación, escribe el búfer de red (rehacer datos) a los archivos de redo registro (SRL) en espera.
  • ARCH: Los procesos de archivo en el sitio en espera realizan las mismas funciones realizadas en el sitio principal, excepto que en el sitio en espera, un proceso ARCH genera archivos de registro archivados de las SRL.
  • MRP: el proceso de recuperación administrado coordina la administración de recuperación de medios. Recuerde que un modo de espera físico está en modo de recuperación perpetua.
Básicamente, podemos categorizar la base de datos de espera física en tres componentes principales:

Data Guard Redo Servicios de Transporte
Para transferir el redo generado por la base de datos primaria a la base de datos en espera.

Data Guard Aplicar Servicios
Para recibir y aplicar el redo enviado por Redo Transport Services a la base de datos en espera.

Data Guard servicios de gestión de roles
Para ayudar en los cambios de rol de la base de datos en los escenarios de conmutación y conmutación por error- Este servicio funciona en segundo plano y se ocupa de los escenarios de conmutación / conmutación por error

13 noviembre 2016

Oracle RAC for not so dummies

¿Qué es un Cluster?

Un clúster está formado por dos o más servidores independientes pero interconectados. 

Algunos clústeres están configurados de modo tal que puedan proveer alta disponibilidad permitiendo que la carga de trabajo sea transferida a un nodo secundario  si el nodo principal deja de funcionar. Otros clústeres están diseñados para proveer escalabilidad permitiendo que los usuarios o carga se distribuya entre los nodos. Ambas configuraciones son consideradas clústeres.

Una característica importante que tienen los clústeres es que se presentan a las aplicaciones como si fueran un solo servidor. Es deseable que la administración de diversos nodos de un clúster sea lo más parecida posible a la administración de una configuración de un solo nodo. El software de administración del clúster debería proveer este nivel de transparencia.

Para que los nodos puedan actuar como si fueran un solo servidor, los archivos deben estar almacenados de modo tal que puedan ser accedidos por todos los nodos del clúster.

En resumen, un clúster es un grupo de servidores independientes que cooperan comportándose como si fueran un solo sistema.

¿Qué es Oracle Real Application Clusters?

Real Application Clusters es un software que permite utilizar un clúster de servidores ejecutando múltiples instancias sobre una misma base de datos. Los archivos de base de datos quedan almacenados en discos física o lógicamente conectados a cada nodo, de modo tal que todas las instancias activas pueden leerlos o escribirlos.

El software de RAC maneja el acceso a los datos, de modo tal que los cambios en los datos son coordinados entre las instancias y cada instancia ve imágenes consistentes de la base. El interconnect del cluster permite que las instancias se pasen entre ellas información de coordinación e imágenes de los datos.

Esta arquitectura permite que los usuarios y aplicaciones se beneficien de la potencia de procesamiento de múltiples máquinas. La arquitectura RAC también ofrece redundancia; por ejemplo, en el caso de que un nodo quede inutilizado, la aplicación continuará accediendo a los datos vía el resto de las instancias disponibles.

Coordinación de recursos globales en un entorno RAC

En ambientes de una sola instancia, los mecanismos de bloqueo coordinan el acceso a recursos comunes como ser una simple fila de una tabla. Los mecanismos de lockeo previenen la posibilidad de que dos procesos modifiquen un mismo recurso al mismo tiempo.

En entornos RAC, la sincronización “internodo” es crítica para mantener una adecuada coordinación entre los distintos procesos en diferentes nodos, previniendo que estos procesos modifiquen el mismo recurso al mismo tiempo. La sincronización internodo garantiza que cada instancia vea la versión más reciente de un bloque de la buffer cache.
RAC utiliza lo que se conoce como Global Resource Directory (GRD) para registrar información sobre cómo los recursos son utilizados dentro de una base de datos en clúster. Global Cache Services (GCS) y Global Enqueue Services (GES) administran la información del GRD.

Cada instancia mantiene una parte de la GRD en su propia SGA. GCS y GES nominan a una instancia para administrar la información particular de un recurso. Esta instancia es llamada Resource Master. De este modo cada instancia sabe en qué instancia está masterizado cada recurso.

Mantener una cache coherente es también una parte muy importante dentro de la actividad de un RAC. El algoritmo Cache fusión es el encargado de mantener una cache coherente utilizando técnicas que mantienen múltiples copias consistentes de un mismo bloque entre diferentes instancias Oracle. Este algoritmo es implementado por GCS.
GES administra todos los recursos inter instancia que no maneja Oracle Fusión:
  • Dictionary cache locks,
  • Llibrary cache locks,
  • Deadlock detection.

Coordinación en el uso de la cache global.

Analizaremos un breve ejemplo puntual de coordinación del uso de la cache global.

El escenario planteado en este ejemplo es el siguiente:

  • Dos instancias en RAC. Nodo 1 y Nodo 2.
  • Un bloque de datos ha sido modificado (dirtied) por el Nodo 1.
  • El Nodo 2 intentará modificar el mismo bloque.
Veamos qué ocurre para que el Nodo 2 modifique el bloque:
  • El Nodo 2, que intenta modificar el bloque, submite un requerimiento a GCS.
  • GCS transmite el requerimiento al “holder” del recurso. En este caso, el Nodo 1 es el quien tiene el recurso.
  • El Nodo 1 recibe el mensaje y envía el bloque a la segunda instancia. El Nodo 1 mantiene el bloque “sucio” (también llamado “past image”).
  • Cuando el Nodo 2 recibe el bloque, informa a GCS que ahora es el “holder” del bloque. 


Reconfiguración dinámica del GRD (Global Resource Directory)





RAC utiliza el Global Resource Directory (GRD) para registrar información sobre cómo son utilizados los recursos dentro de una base de datos en clúster. Cada instancia mantiene una porción del GRD en su propia SGA.

Cuando una instancia abandona el clúster, es necesario redistribuir la porción del GRD que administraba entre los nodos sobrevivientes. Algo análogo ocurre cuando una nueva instancia se suma al clúster, las porciones del GRD de cada instancia necesitan redistribuirse para crear la nueva porción de GRD correspondiente a la instancia que se suma. 

En vez de remasterizar todos los recursos a través de todos los nodos, RAC utiliza un algoritmo denominado lazy remastering que remasteriza una cantidad mínima de recursos durante una reconfiguración.

Afinidad de objetos y remasterización dinámica

Global Cache Services (GCS), el encargado de administrar el Global Resource Directory (GRD) junto a Global Enqueue Services (GES), implementa un algoritmo para migrar dinámicamente recursos del GRD. 
A este algoritmo se lo conoce como remasterización dinámica. La idea básica de la remasterización dinámica es mantener un recurso de la buffer cache en la instancia que mas lo accede. GCS lleva un registro de los requerimientos por instancia y por objeto de modo tal que dispone de la información necesaria para migrar en forma dinámica recursos de una instancia a otra que lo accede más.


Memoria en una instalación de Oracle RAC

La memoria específica para la administración del RAC se aloca mayoritariamente en la Shared pool. Como los bloques pueden ser cacheados a través de las instancias es necesario contar también con buffer caches más grandes.

Al migrar un base de datos Oracle single instance a RAC, si se pretende que cada nodo mantenga su rendimiento con los mismos niveles de carga que en single instance, habrá que asignar un 10% más de memoria a la buffer cache y un 15% más a la shared pool. Estos valores son heurísticos, basados en experiencias de RAC a través del tiempo.

Sin embargo, hay que considerar que generalmente los requerimientos por instancia se ven reducidos cuando la misma cantidad de usuarios y carga de trabajo es distribuido en múltiples nodos.

Ejecución paralelizada en RAC

El optimizador basado en costos incorpora consideraciones de ejecución en paralelo a fin de obtener planes de ejecución óptimos.

En entornos RAC las decisiones del optimizador se hacen tanto a nivel intranodo como internodo. 
Por ejemplo, si una consulta requiere de 6 procesos para completar  su tarea y existen 6 procesos esclavos ociosos en el nodo local (el nodo al que está conectado el usuario) entonces la consulta se resuelve utilizando solamente recursos locales. De este modo se logra un paralelismo intranodo eficiente y se elimina el overhead que generaría una resolución internodo. 

Sin embargo, si existieran sólo 2 procesos esclavos ociosos en el nodo local, entonces se usarán los 2 procesos locales mas 4 de otro para completar el query. En este último caso se utiliza paralelismo intranodo e internodo a fin de acelerar el procesamiento.

Otro aspecto a considerar es que frecuentemente las consultas son particionados de forma perfecta entre los procesos esclavos; de modo tal que no todos terminan al mismo tiempo. La tecnología de procesamiento paralelo de Oracle detecta en forma dinámica el proceso que están ociosos porque ya finalizaron y vuelve a asignarle trabajo tomado de las tablas de colas de los procesos sobrecargados. De este modo Oracle redistribuye el trabajo en forma dinámica y eficiente entre todos los procesos.  

Procesos background en RAC.



En una configuración RAC aparecen una serie de nuevos procesos background. La función primaria de estos procesos es mantener una administración coherente entre todos los nodos que conforman el clúster: 

  • LMON. Global Enqueue Service Monitor 
  • LMD 0. Global Enqueue Service Daemon 
  • LMS x. Global Cache Service (x puede ir de 0 a n) 
  • LCK. Proceso de lockeo DIAG. 

Proceso de diagnóstico También aparecen nuevos procesos a nivel de clúster para la administración de Oracle Clusterware: 

  • CRSD y RACGIMON motores para operaciones de alta disponibilidad 
  • OCSSD provee accesos de membrecía a nodos y grupos de servicios 
  • EVMD detecta eventos y reacciona invocando procesos. 
  • OPROCD monitor de procesos del clúster (no esta presente en Linux ni Windows)

05 noviembre 2013

Principales características de la base de datos Oracle 11g Edición Empresarial, para desarrolladores y Administradores en general




En general, Oracle Database 11g Enterprise Edition permite que la infraestructura de base de datos sea mucho más eficiente, resistente y fácil de administrar. Estas son algunas de las características más interesantes que he podido entresacaren los 5 años con los que he estado trabajando con este producto.

  • Moviola de base de datos (Database replay)
  • Particionamiento de tablas
  • Edition-Based Redefinition
  • Gestión de esquemas
  • Mantenimiento : parches y actualizaciones, RAC One Node, y Clusterware
  • Data Warehousing y  OLAP
  • PL/SQL mejora del rendimiento
  • PL/SQL: codificación eficiente
  • Gestión de las transacciones: Flashback data archiver
  • Seguridad
  • SecureFiles
  • SQL Performance Analyzer & Real-Time SQL Monitoring
  • Oracle Exadata Simulator
  • SQL Plan Management
  • Manageability
  • SQL Access Advisor: Optimiza el diseño de tu tabla por su uso en producción      
  • SQL Operations: Pivot and Unpivot
  • Copias de respaldo y recuperación ante desastres
  • Resilencia
  • Gestión automática del almacenamiento de datos ASM.      
  • Compresión de datos en las tablas
  • Caching y agrupamiento (pooling)     
  • Data Guard

Todas estas características se verán en mayor profundidad al paso de las semanas en este mismo blog.