h1

Explain Plan de una Sesión Activa

Septiembre 10, 2009

Esta es la situación. Se está monitorizando un sistema en el que un proceso de usuario Oracle está haciendo un uso intensivo de la CPU (se puede comprobar con la instrucción top en Linux, o con taskmgr.msc en Windows). Y me estoy refiriendo a un proceso que ya lleva bastante tiempo en el sistema usando cotas cercanas al 100% de la CPU. Evidentemente, puede existir algún proceso puntual que alcance esos picos, pero cuando hay algún proceso que lleva demasiado tiempo en el sistema apropiándose de la CPU, es seguro que todo lo demás se va a ralentizar y las quejas comenzarán a llegar más pronto que tarde. Es necesario determinar quién es el responsable y qué está ejecutando.

Como es habitual en este blog, las instrucciones que se describen son aplicables a una base de datos Oracle sobre un sistema Linux.

Leer el resto de esta entrada »

h1

Instalando Oracle RAC (VII)

Agosto 17, 2009

Tenemos el entorno totalmente preparado. Hemos comprobado los parámetros del kernel, los paquetes de la instalación Linux (en concreto una distribución Red Hat, como comenté en el primer capítulo), se han creado los grupos y el usuario necesarios, se le ha dado la estructura correcta al disco, y se han creado los discos +ASM ¿Se puede lanzar ya la instalación? Pues aún no, hay que seguir preparando el entorno. En el presente capítulo, indicaré como configurar el sistema de almacenamiento para el cluster. Todo cluster necesita al menos un disco común para mantener la consistencia, el denominado como disco de quorum. En concreto, en un cluster Oracle, se van a usar dos discos para el quorum. Estos discos se van a denominar VOTING DISK, el primero, y OCR, el segundo.

Leer el resto de esta entrada »

h1

Ejemplos de uso de RMAN

Junio 18, 2009

Revisando las estadísticas del blog he comprobado que hay personas que llegan aquí mediante una búsqueda similar al título de este post. Por tanto he decidido crear una entrada especificando una serie de comandos comunes a la hora de usar RMAN.

De este modo, ahí va la lista. Si alguno de los visitantes echa en falta algo más, solo tiene que dejar un comentario.

Leer el resto de esta entrada »

h1

Recuperar datafile con RMAN

Junio 17, 2009

La situación es la siguiente. Mi base de datos está operativa y en correcto funcionamiento pero, por algún motivo que en este momento no viene al caso, una o varias aplicaciones que acceden a esta base de datos dan un error tipo ORA-00376 e indican que no pueden acceder a un datafile. Si se realiza una consulta desde SQLPLUS para comprobar el estado del datafile, el resultado será algo como lo que sigue:

SQL> select file_name,status, online_status from dba_data_files where file_name 
like '%nombre%';
FILE_NAME                                                    STATUS    ONLINE_
------------------------------------------------------------ --------- -------
+DG/sid/datafile/nombre.366.650544699                        AVAILABLE RECOVER
Como se puede observar, el datafile se encuentra en estado RECOVER (el fichero tiene algún tipo de corrupción). Lo inmediato en este momento sería lanzar un comando recover desde la propia consola de SQLPLUS. Si la corrupción es reciente, es posible que esto funcione, pero si la corrupción del fichero data de algunas horas, lo más probable es que el intento dé algún tipo de error, como el que se puede ver a continuación:
SQL> recover datafile ‘+DGANCD/ancri/datafile/know.366.650544699′;
ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1
ORA-00289: sugerencia: +DGANCF/ancri/1_15322_619033057.dbf
ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322
Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}
ORA-00308: no se puede abrir el archive log ‘+DGANCF/ancri/1_15322_619033057.dbf’
ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DGANCF/ancri/1_15322_619033057.dbf
ORA-15173: entry ‘1_15322_619033057.dbf’ does not exist in directory ‘ancri’
SQL> recover datafile '+DG/sid/datafile/nombre.366.650544699';

ORA-00279: el cambio 7306246681017 generado en 05/24/2009 02:45:57 es necesario para el thread 1

ORA-00289: sugerencia: +DG/sid/1_15322_619033057.dbf

ORA-00280: el cambio 7306246681017 para el thread 1 está en la secuencia número 15322

Especificar log: {<RET>=sugerido | nombre_archivo | AUTO | CANCEL}

ORA-00308: no se puede abrir el archive log '+DG/sid/1_15322_619033057.dbf'

ORA-17503: ksfdopn:2 Fallo al abrir el archivo +DG/sid/1_15322_619033057.dbf

ORA-15173: entry '1_15322_619033057.dbf' does not exist in directory 'sid'

En este momento entra en juego RMAN.

Leer el resto de esta entrada »

h1

Ejercicio Práctico

Junio 16, 2009

78 AB 45 67 CD AF 6A 7B 5D 09 BC 12 4C 2D 35 60