Juan Andres Mercado Oracle Blog – IT Buenos Aires

Troubleshooting daily on Oracle Systems, Linux & more !

Monthly Archives: April 2012

Oracle + cvs format | EXPORTACION DE TABLAS A CSV

En la semana pasada me pidieron exportar varias tablas a formato CVS.
Aqui les dejo como lo resolvi, ya que es una tarea poco común y se nos va facilmente de la cabeza en el día a día.

El ejemplo se los dejo sobre una tabla que me tome la molestia de crearla especialmente para esta nota.

Nombre de la tabla.

DiccionarioDeCalles.

Procedimiento para la exportación de una tabla a formato cvs.

En primer lugar cree un procedure que se encargara de todo =D ! Read more of this post

Oracle Dataguard | How to open a standby database in read only mode

Pasos a seguir para poder ejecutar queries dentro de nuestra base de datos en standby 10G.

Esto nos puede ayudar a sacar un reporte que requiere consumo dentro de la base productiva que nos pueda llegar afectar de alguna manera la performance de la base y su operacion , relacionada con la carga proporcional de trabajo de cada nodo.
Es por ello que se realiza la extraccion del reporte en la standby que poseamos.

Ejecutar los siguientes comandos en la base de datos en standby:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE OPEN READ ONLY;

Realizamos las consultas necesarias.

Retornamos al estado anterior.

SQL> STARTUP FORCE MOUNT;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

Aunque la base de datos la tengamos en modo de solo lectura, los archived logs del servidor primario se continuarán enviando al de standby, y cuando este se regrese a su estado anterior (MODO RECOVERY), todos los archived logs que se hayan acumulado serán aplicados.

En la versión 11G, Oracle permite que se ejecuten queries de consulta con el modo de recuperación activo.

Eso lo veremos en el proxímo articulo.

ORA-30013: undo tablespace ‘UNDOTBS1’ is currently in use

Realizando una tarea de mantenimiento en un ambiente de testing de un cliente (Aplicación de un Patch), me toca reiniciar ambas instancias , de manera ordenada, una a una y moviendo el servicio para que no haya perdída de servicio. (Utilize el modelo rolling upgrade).

Cuando la quiero levantar la instancia del primer nodo me ocurre un error en una de las instancias.

[oracle@appdat01lx bin]$ srvctl start instance -d APPTST -i APPTST1
PRKP-1001 : Error starting instance appdat01 on node appdat01lx
CRS-0215: Could not start resource ‘ora.APPTST.apptst1.inst’.

Al revisar el alert de la instancia me encuentro con que no puede levantar por problemas con el tablespace UNDO.

ALTER DATABASE OPEN
Picked broadcast on commit scheme to generate SCNs
Tue Apr 3 18:32:28 2012
Thread 1 opened at log sequence 20
Current log# 2 seq# 20 mem# 0: +DATA/APPTST/onlinelog/group_2.364.775219571
Current log# 2 seq# 20 mem# 1: +DATA/APPTST/onlinelog/group_2.363.775219573
Successful open of redo thread 1
Tue Apr 3 18:32:28 2012
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Tue Apr 3 18:32:28 2012
SMON: enabling cache recovery
Tue Apr 3 18:32:28 2012
Errors in file /u01/app/oracle/admin/APPTST/udump/appdat01_ora_13956.trc:
ORA-30013: undo tablespace ‘UNDOTBS1′ is currently in use
Tue Apr 3 18:32:28 2012
Error 30013 happened during db open, shutting down database
USER: terminating instance due to error 30013
Instance terminated by USER, pid = 13956
ORA-1092 signalled during: ALTER DATABASE OPEN…

Reviso el trace generado por la instancia para asegurarme realmente que es lo que esta sucediendo. Read more of this post

ORA-00054: resource busy and acquire with NOWAIT specified

Este pequeño post lo agrego para Milton (Ecuador) que me preguntaba como podia armar un script para consultar sessiones que estuvieran con bloqueos esperando a que otro usaruario termine la operación.

Lo que le había occurido, en una prueba de Java con Oracle, es que la aplicación se hangeo y para poder ejecutar la prueba desde la contingencia de su aplicación debía primero truncar la tabla.

Al intentar hacerlo le daba el error:

SQL> truncate table TEST.VOL_MONEY_CAP ;
truncate table TEST.VOL_MONEY_CAP
*
ERROR at line 1:
ORA-00054: resource busy and acquire with NOWAIT specified

Este error ocurre cuando se bloquea un/unos registro/s mediante:

  • Las sentencias SQL “SELECT” especificados como “NO WAIT” o “FOR UPDATE NOWAIT”.
  • Que una operación SQL de tipo DDL fue blockeada.

Una solución podría ser haciendo COMMIT o ROLLBACK en la sesión de bloqueo.

Entendamos un poco lo que estamos haciendo. Read more of this post

Oracle 11gR2 | How to Deinstall 11g ASM Grid Infra

First graphical user interface in 1973.

Image via Wikipedia

Hay veces en la que es preciso quitar infraestructura que no usamos ya sea por que nuestro servidor se renovo y dejamos el hardware para uso de otras areas o por que se crear ambientes con versiones no compatible , hoy veremos como desinstalar el Oracle Grid Infraestructure 11gR2.

VAMOS AL PATH A BUSCAR EL DEINSTALL DEL CLUSTER

[oracle@datos0001lx grid]$ cd /u01/app/oracle/product/11.2.0/

HACEMOS LA BUSQUEDA DEL ARCHIVO DE DESINSTALACION

[oracle@datos0001lx 11.2.0]$ find . -name deinstall*
./grid/inventory/Templates/deinstall
./grid/inventory/Templates/deinstall/deinstall
./grid/deinstall
./grid/deinstall/deinstall.xml
./grid/deinstall/deinstall
./grid/deinstall/jlib/deinstall_core.jar
./grid/deinstall/jlib/deinstall_wrapper.jar
./grid/deinstall/deinstall.pl
./grid/deinstall/response/deinstall.rsp.tmpl

Read more of this post

%d bloggers like this: