Juan Andres Mercado Oracle Blog – IT Buenos Aires

Troubleshooting daily on Oracle Systems, Linux & more !

Monthly Archives: July 2009

Oracle Datapump – Importando un Schema con Distinto Nombre

En ora10gR2 poseemos una nueva herramienta de exportación e importación mucho mas perfomante que el viejo y querido imp exp.
Una de las caracteristicas que podemos utilizar con impdp y expdp es poder exportar un schema y poder :

  1. Importarlo bajo un nuevo nombre.
  2. Importarlo en un nuevo schema con nuevos tablespaces.

En el ejemplo que nos sigue a continuación vamos a importar desde un schema originario distinto al nuestro, con distintos tablespaces.

Mediante el parametro de impdp remap_schema, logramos mappear el usuario MANUTS01 , hacia el usuario MANUDEV , sabiendo que ambos usuarios residen en diferentes tablespaces.

Con el seteo del parametro remap_tablespace le decimos al proceso de importación que mapee los tablespaces originales, ya sean de datos o de indices hacia los nuevos, donde ahora importaremos los objetos y sus correspondientes datos.

Por Ejemplo:

Para los tablespace de Datos.

remap_tablespace=MANUTS01_DAT:MANUDEV MANUDEV

Para los tablespace de Indices.

remap_tablespace=MANUTS01_DAT:MANUDEV

Verificar Directorios Datapump

Antes de comenzar tenemos que verificar que existan los directorios donde dejamremos nuestros archivos a importar , tanto en la base como en el filesystem del SO. Read more of this post

Oracle Dumpdir – Import, Export y el uso de Directorios.

Air University Library's Index to Military Per...

Image via Wikipedia

Cuando tenemos diferentes objetos de la base, ya sea una tabla, datos, etc y queremos transportalos a otra base, existe en oracle una utilidad llamada  expdp, con la cual nos llevaremos los datos y los objetos de nuestra base a otra donde tenga la misma estructura de datafiles y usuarios o no. El proceso generará un archivo con extención .dmp

Con impdp podremos importar datos facilmente generados mediante una exportación, que generalmente es un archivo .dmp

Cuando tenemos que exportar datos de la base o importarlos mediante impdp y expdp tenemos que tener en cuenta:

  1. Que exista un usuario con privilegios para realizar el export, en el caso de no ser sys o system.
  2. Que exista en la base de datos un DIRECTORY, con su relación en el SO.
  3. Que haya espacio suficiente en el filesystem.

Read more of this post

ASM Instance Concepts (Automatic Storage Management)

Oracle RAC

Image by Fenng(dbanotes) via Flickr

Concepto.

ASM es un manager volume y un file system que provee Oracle para los archivos de la estructura de sus bases de datos, que soporta tanto como sigle instances como la tecnologia RAC (Real Application Cluster).
Provee al administrador de Bases de datos un mejor y mas simple manejo del file system y Oracle lo propone como alternativa las administraciones de storage como volume managers, file systems y raw devices.

La estructura de ASM emplea DISK_GROUPS para almacenar los archivos de datos, y es una coleccion de discos que ASM lo maneja como una unidad.

Tambien usa OMF ( Oracle Managed files ) que es una caracteristica para el facil manejo de archivos de la base. OMF crea automáticamente archivos en los lugares designados, asigna los nombres de los archivos y los elimina al mismo tiempo al depurar el espacio, cuando se suprimen los espacios de tablas o archivos.

Read more of this post

Alta Disponibilidad I – Configurando Dataguard en Oracle

DUPLICATE DATABASE FOR STANDBY

Es importante que consideremos que un posible desastre puede ocurrirle a nuestra base de datos productiva y en muchos casos puede que devenga en una pérdida total de servicio o del servidor mismo, donde si bien existe la posibilidad de hacer un restore de la base en un host distinto, es mucho el tiempo que nos llevaría hacerlo(Criticidad del Negocio) , sin tener los datos desde el punto en que se tomo el backup al momento de la pérdida, desatención del en el negocio, etc.

Es ahi donde ponemos en marcha nuestro plan de tener una base de datos secundaria, con la copia de todos los datos, y que pueda entrar rapidamente en contigencia en caso de que la base primaria de producción sufra una caida, se rompa un disco, no haya red, o hasta la perdidad completa del edificio donde se halla el servidor.

Oracle, nos provee una herramienta llamada dataguard, donde podemos generar una base standby, que sera la encargada de entrar en contingencia por medio de SWICTH_OVER o FAIL_OVER. También hay otros modos como DATAGUARD BROKER, que nos provee las mismas funcionalidades, pero en solo una ejecución de comandos.

Básicamente la estructura es una base Productiva, y n contingencias.

Cada contigencia es altamente recomendable tenerla en un host fuera del productivo, en lo posible en otro edificio.

Esquema Básico de Dataguard Read more of this post

Configurando Dataguard Broker

Oracle nos ofrece esta herramienta para poder hacer pasaje automatico en caso de tener un switch o un fail, y su uso una vez configurado  es tan sencillo como conectarse a la consola del administrador con el comando dgmgrl o desde el Entrerprise Manager con solo haciendo un click.

Yo en este caso voy a disponibilizar el modo de configuración desde la linea de comandos ya que me parece super práctico y nos sirve para conocer un poco más el modo en que trabaja.

Es importante saber que tanto desde la consola del GRID CONTROL o desde comandos hay que hacer una configuración previa que incluye:

  • Configuración de Listener en primaria y secundaria.
  • Configuración de Parametros de la base.
  • Creación de los archivos de configuración del broker. (Debemos ser sysdba)
  • En el caso de trabajar con una base que esta en RAC, hay que hacer la configuración con srvctl. (En este caso yo voy a presentarlo en una instancia en RAC y serán informados de ello para que sepan que el modo es el mismo para la single instance, menos este paso.)

CONFIGURANDO LISTENERS

Comenzaremos configurando los listeners, tanto en nuestra base primaria como en nuestra standby.
Es muy importante este paso ya que si el broker no ve el servicio no podrá hacer ninguna operación de switcheo.

# listener.ora.saturno01 Network Configuration File: /u01/app/oracle/product/10.2.0/db_mbpro/network/admin/listener.ora.saturno01
# Generated by Oracle configuration tools.

MBPRO_SATURNO01 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = saturno01-vip.danahomelinux.com)(PORT = 1526)
(IP = FIRST))
(ADDRESS = (PROTOCOL = TCP)(HOST = saturno01.danahomelinux.com)(PORT = 1526)
(IP = FIRST))
)
)

SID_LIST_MBPRO_SATURNO01 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_mbpro)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = MBPRO_DGMGRL.danahomelinux.com)
(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_mbpro)
(SID_NAME = MBPRO1)
)
)

Una vez realizada la tarea, procedemos a relodear el listener, y luego con un status service vemos si los cambios fueron impactados.

lsnrctl status MBPRO_SATURNO01
lsnrctl service MBPRO_SATURNO01

Read more of this post

%d bloggers like this: