Archive

Posts Tagged ‘Oracle Database’

Oracle Streams y su integración con Enterprise Manager 12c

marzo 16, 2016 2 comentarios

Oracle Streams permite la replicación de objetos y datos dentro de la misma base de datos o a otra base de datos. La replicación puede ser unidireccional o bidireccional y podemos replicar DML y DDL.

La configuración de Oracle Streams puede incluir toda la base de datos o únicamente un esquema o, si se quiere ser más específico, sólo determinadas tablas.

Si escogemos una replicación por esquema podremos poner excepción a determinadas tablas y si replicamos DDL las nuevas tablas creadas se irán incorporando al proceso de réplica.

En este post no vamos entrar en un profundo nivel técnico de lo que es Oracle Streams, lo que haremos es ver cómo se puede simplificar enormemente este proceso a través de Oracle Enterprise Manager 12c Cloud Control o, lo que es lo mismo, veremos cómo configurar Oracle Streams sin tener apenas conocimiento de esta herramienta.

Para este Laboratorio se ha dispuesto dos bases de datos Oracle 11.2.0.4:

Oracle Clusterware = STREAMSP (base de datos Origen)

Oracle Standalone = STREAMSY (base de datos Destino)

2016-01-14 10_32_16-All Targets - Oracle Enterprise Manager

La replicación es recomendable realizarla desde otro usuario que no sea SYS y que tenga los privilegios adecuados; así nos lo recordara Enterprise Manager.

2016-01-14 10_34_21-Oracle Enterprise Manager (SYSMAN) - Replication

Dado esto el primer paso que haremos será completar estos dos prerrequisitos:

Base de datos en modo archivelog:

2016-01-14 10_39_38-oracle@es1testdb01v_~ - Xshell 4

2016-01-14 10_39_24-oracle@es2testdb01v_~ - Xshell 4

Creación del usuario para Streams (este usuario hay que crearlo en las dos bases de datos):

2016-01-14 10_40_56-oracle@es1testdb01v_~ - Xshell 4

Leer más…

Intercambio seguro de datos con Oracle Database

Uno de los puntos de seguridad que se suelen olvidar a menudo es el intercambio de datos entre servidores. Se dedican muchos esfuerzos a proteger los datos en la misma base de datos (con políticas de usuarios y contraseñas, herramientas de cifrado de datos, segregación de funciones, auditoría, etc.) pero por otro lado se permite que estos datos circulen libremente y en texto plano por la red, cuando existen múltiples herramientas para capturar y modificar esta información.

Un usuario malintencionado podría capturar datos en tránsito, modificarlos y retransmitirlos. Por ejemplo, podría capturar todos los datos de las tarjetas de crédito para usarlos posteriormente. También podría capturar un depósito de cierta cantidad en una cuenta bancaria, modificar el importe y/o la cuenta de destino y retransmitir esta información, o retransmitir de manera continua la información de este depósito para multiplicar el importe recibido.

Debido a esto, es muy recomendable añadir seguridad en las comunicaciones si queremos tener un entorno más protegido. Esta seguridad puede implicar controles de cifrado e integridad de los datos: de cifrado para que la información viaje sin que terceras partes puedan verla tal cual y de integridad para que nadie pueda modificarla.

Para configurar el cifrado y la integridad de los datos en las comunicaciones entre servidor de base de datos y clientes, es necesario modificar el fichero ‘sqlnet.ora’. Esto se puede hacer manualmente o mediante la herramienta Oracle Net Manager como se muestra en las siguientes capturas:

cifrado Leer más…

Highly Available Oracle Enterprise Manager 12c Cloud Control – low cost

noviembre 26, 2015 Deja un comentario

Oracle Enterprise Manager Cloud Control 12c ha pasado de ser una limitada herramienta de control y monitorización para las Bases de datos a ofrecer una completa solución de administración y monitorización para todo el STACK de Oracle convirtiéndose así en una herramienta imprescindible en nuestro entorno.

2015-11-14 14_58_18-Enterprise Manager 12C.pdf - Foxit Reader

Enterprise Manager 12c ya es una aplicación crítica a la que vamos a proveer una arquitectura de MAA (Maximum Availability Architecture). El licenciamiento para Enterprise Manager en principio no es necesario a no ser que queramos añadir determinado plugins  adicionales o el repositorio sea una Base de Datos en RAC.

En la siguiente gráfica podemos ver la arquitectura a la que pretendemos llegar.

2015-11-14 15_15_41-wp-em12c-building-ha-level3-1631423(1).pdf - Foxit Reader

La recomendación de Oracle es que este tipo de aplicaciones se instalen en entornos independientes del resto de la infraestructura de la empresa, por lo que si optamos por una Base de Datos en H.A tendremos que adquirir una licencia de Oracle Database RAC. Para poder tener una instalación con la suficiente disponibilidad, y sin recurrir a licenciamiento adicional, vamos a instalar OEM en un Oracle Clusterware de dos nodos pero con la Base de Datos en Cold Failover. De esta forma tendremos dos servidores OEM con un repositorio que se balanceara de forma automática en cualquiera de los dos nodos de nuestro Cluster.

2015-11-14 15_09_08-si-db-failover-11g-134623.pdf - Foxit ReaderEsta arquitectura nos proveerá además del almacenamiento compartido para la “Software library” a través de un Oracle ACFS.

El escenario del que partiremos será el que nos muestra la gráfica anterior. Un Oracle Clusterware de dos nodos con una Base de Datos en Cold Failover y un Filesystem compartido por ACFS.

La versión que instalaremos es la de OEM 12.1.2.0.5

Comenzamos la instalación.

Como siempre descomprimimos el Software y lanzamos Oracle Universal intaller.

La primera pantalla que tenemos es la siguiente.

2015-11-14 13_01_32-Oracle Enterprise Manager Cloud Control 12c Installation - Step 1 of 9

Leer más…

Restauración y mantenimiento de backups de Oracle Database en “la nube”


En este post anterior vimos cómo configurar los backups en el servicio de Cloud de Oracle. En esta entrada veremos cómo restaurar ficheros a partir de uno de estos backups y como administrar nuestros backups (básicamente como eliminar los que ya consideremos obsoletos).

Restauración de un backup

En este caso la única diferencia entre hacer una restauración de cinta o disco y hacerlo desde la nube será que deberemos especificar la clave de cifrado, tener configurado el Wallet de TDE o ambos según lo hubiéramos hecho durante el backup.

Partiendo del de backup usado en el anterior post (cifrado con una clave) lanzaremos una restauración de un fichero.

En primer lugar eliminamos el fichero de la BBDD, seleccionamos un tablespace y lo ponemos “offline”.


[oracle@centos1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Wed Oct 14 04:32:24 2015

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SYS @ one > select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME
------------------------------
FILE_NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
USERS
+DATOS/one/datafile/users.257.848555587

UNDOTBS1
+DATOS/one/datafile/undotbs1.258.848555587

SYSAUX
+DATOS/one/datafile/sysaux.259.848555585

SYSTEM
+DATOS/one/datafile/system.265.848555585


SYS @ one > alter tablespace users offline;

Tablespace altered.

Nos conectamos a la instancia ASM y eliminamos el fichero.

Leer más…

Backup de Oracle Database en “la nube”

Desde hace ya un tiempo es posible contratar el servicio Database Backup en el Cloud de Oracle, que nos permite almacenar nuestros backups de BBDD en “la nube”.

Esto es una oportunidad para todos aquellos que o bien no tienen un sistema de backup de BBDD con el que se sientan cómodos (backups únicamente a disco, backups copiados de una maquina a otra, gestión de cintas manual, etc.) o para los que los backups a cinta automatizados empiecen a ser un problema, por complejidad de administración y costes.

Es más, no tenemos por qué plantear el cambio de manera rompedora ya que podemos disponer de manera simultánea del actual sistema de backup a disco o cinta y del backup en la nube. A todo esto podemos añadir que este servicio puede ser el punto de entrada perfecto de nuestra empresa en los servicios de tipo Cloud.

A nivel práctico tendremos a nuestra disposición todas las copias almacenadas desde cualquier lugar (ideal para duplicar BBDD en datacenters remotos) y al momento, sin tener que esperar el traslado de las cintas desde su ubicación de almacenamiento (en muchos casos una empresa de custodia externa).

Los backups en la nube se encuentran multiplexados entre diferentes centros de storage cloud de Oracle para evitar pérdidas de datos, se enviaran comprimidos para minimizar el consumo de ancho de banda y cifrados (con una llave de cifrado privada custodiada por el cliente) para securizar el acceso a los datos.

mqdefault

 

El funcionamiento del backup en la nube es idéntico al de un backup a cinta, la puesta en marcha de este backup consiste básicamente en la instalación de una Media Management Library idéntica a la que estemos usando actualmente para cintas físicas, con la diferencia que ésta va a comprimir, cifrar y enviar las copias por red a la nube.

Los comandos RMAN usados para las copias son los mismos, por lo que los scripts de copia y restauración de que dispongamos siguen siendo válidos.

Al adquirir el producto de backup en la nube, Oracle proporciona una licencia de uso limitado de la compresión y el cifrado de backups (opciones que on-premise implicarían tener que licenciar Enterprise Edition, Advanced Security y Advanced Compression). Esta licencia limitada es tanto para BBDD Enterprise Edition como para Standard Edition. En el caso de las BBDD Standard Edition es necesario instalar un parche en la BBDD que permite activar estas funcionalidades.

Podemos usar Oracle Backup en la nube desde la versión 10gR2 en adelante en la gran mayoría de plataformas, proporcionando Oracle una librería de gestión de medios apropiada al sistema operativo de que dispongamos.

Después de esta introducción al servicio vamos a realizar una demostración de configuración y backup de una BBDD Oracle en la nube.

Leer más…

¿Qué versión elegir de Oracle Database, Enterprise o Standard?

Últimamente hemos recibido varias preguntas de diferentes clientes respecto a las diferencias entre las versiones Enterprise y Standard de Oracle Database, básicamente para saber cuál de estas ediciones encaja mejor con sus necesidades.

Standard-Enterprise

Usando un símil con los taladros, la Enterprise Edition sería un taladro potente, que podemos usar en cualquier superficie (ladrillo, hormigón, madera, metal) que atornilla/desatornilla y al que podemos conectar multitud de complementos que nos permitirán trabajar más rápidamente, con más precisión o realizando tareas que quizá podrían haber obligado a comprar otras herramientas (como lijar o cortar). Este sería el taladro imprescindible en la caja de herramientas de un buen carpintero, cerrajero, paleta, etc.

Por otra parte, si en casa colgamos algún cuadro de vez en cuando, necesitamos un taladro que permita taladrar muros y madera fácilmente, que sea práctico y fiable. Esta sería la versión Standard Edition del taladro, que no debería faltar en la caja de herramientas de ningún manitas.

Entrando un poco más en detalle, antes de nada aclarar que en este post no tengo intención hacer lista detallada de todas las diferencias entre ambas versiones, únicamente comentaré las más relevantes o que he detectado como más útiles en el día a día con nuestros clientes. Indicar también que no entraré en diferenciar las versiones XE (gratuita), Standard Edition y Standard Edition One pues ya las explicamos en este post.

A modo de recordatorio: algunas de las opciones o packs de Oracle Database Enterprise Edition, que comentaré a continuación, requieren ser licenciadas por separado de la BBDD.

El punto de partida obligado, para conocer en detalle las diferencias entre todas las versiones de Oracle Database, es esta página web de Oracle.

Desde mi punto de vista destacaría en Oracle Database Enterprise Edition:

  • La primera funcionalidad que destaca en una Enterprise Edition (EE en adelante) sobre una Standard Edition (SE en adelante) es, en mi opinión, la posibilidad de utilizar los packs de Diagnostics y de Tuning. Nos ofrecen la mayor y más detallada cantidad de información sobre el funcionamiento de la BBDD que os podáis imaginar (existen otros productos que hacen cosas parecidas, pero ninguno que los llegue a igualar), así como la posibilidad de ajustar de manera automática el rendimiento de nuestras sentencias SQL. En la SE no existe la opción de usar estas funcionalidades, lo que implica tener que controlar el estado y ajustar el rendimiento del gestor de manera tradicional (trazas de selects, vistas dinámicas V$ o herramientas como statspack -que se basa en las dos anteriores-).
  • Otra funcionalidad presente sólo en EE, y que creo que es importante y se tiene poco en cuenta, es el paralelismo. En EE una única sentencia SQL puede paralelizarse y usar varias CPU’s/cores de manera simultánea, mejorando notablemente el tiempo de respuesta en algunos casos. En SE no es posible paralelizar y una sentencia SQL no puede usar al mismo tiempo más de 1 CPU/core.

Leer más…

Eliminar usuarios/contraseñas de base de datos del código de las aplicaciones

septiembre 30, 2014 1 comentario

Es habitual que tanto algunas aplicaciones como shell scripts tengan los datos de conexión a base de datos (incluyendo el usuario y la contraseña) almacenados en ficheros de texto. Esto implica, principalmente, un problema de seguridad, ya que cualquiera que tenga acceso a estos ficheros tendrá acceso a los datos de conexión a la base de datos, pero además, supone un serio problema a la hora de modificar las contraseñas de los usuarios, porque esto provoca que haya que modificar el código de las aplicaciones y los shell scripts.

Para solucionar esto, Oracle posee la opción Secure External Password Store (SEPS) que, mediante la creación de un wallet que almacena las credenciales, permite que las aplicaciones y los shell scripts se conecten a la base de datos utilizando ‘/@<cadena_de_conexión>’. SEPS está disponible a partir de la versión 10gR2 y no necesita licenciamiento adicional, es posible utilizarlo con cualquier edición de la base de datos, ya sea Standard o Enterprise.

La configuración de SEPS se deberá efectuar en todos los clientes que se vayan a conectar a la base de datos y quieran hacer uso de esta opción. En la imagen siguiente está configurado en un servidor de aplicaciones y en una máquina con un cliente Oracle.

Uso de SEPS

Vamos a explicar con un paso a paso como realizar la configuración de Secure External Password Store para conectarse a nuestra base de datos. Esto nos permitirá tener acceso sin explicitar las credenciales. Todos los pasos que se muestran se han efectuado con una versión 11gR2 en un Oracle Linux 5. En este caso, el cliente y la base de datos son la misma máquina, pero se procedería de manera similar si el cliente estuviera en otra máquina.

Leer más…