Como reparar el error ORA-01595 junto al error ORA-00600 en oracle 10g

Hola Amig@s,

Si les ocurre que en el alert de oracle ven el error ORA-01595 es por que el tablespace UNDO tiene segmentos de rollback rotos y no puede recuperarlos, la base de datos entra en un modo estilo bucle que arranca intenta recuperar el segmento y falla y se cierra nuevamente.

Lo que hay que hacer:

1-Arrancamos la base de datos con el comando startup.
2-Creamos un fichero pfile de configuracion con el comando create pfile="c:\init.ora" from spfile;
3-Editamos el fichero con un editor de textos y buscamos la linea que pone:

*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'

Hay que cambiar el AUTO por MANUAL y debe quedar asi: *.undo_management='MANUAL'
4-Arrancamos la base de datos por que seguro que se ha parado sola y la iniciamos con el comando startup mount pfile='c:\init.ora'.
5-Una vez que la base de datos se monta correctamente hay que abrirla con el comando alter database open;
6-Una vez que la base de datos se abre hay que crear un nuevo UNDO tablespace con este comando: create undo tablespace undotbs2 datafile ‘c:\...rutadelosDBFdeoracle\undotbs2_01.dbf’ size 1024m autoextend on next 256m ;
7-Una vez que se ha creado el nuevo fichero UNDO, hay que ejecutar parar la base de datos con el comando shutdown immediate.
8-Arrancamos la base de datos de modo normal sin utilizar el fichero init.ora con el comando startup.
9-Durante el/los minutos que esta arrancada, hay que ejecutar el siguiente comando:

alter system set undo_tablespace= UNDOTBS2 scope=both;

Con este comando le estamos diciendo a Oracle que el nuevo UNDO sera el que hemos creado nosotros y ya no dependera del anterior.
10-Paramos la base de datos nuevamente con el comando shutdown immediate
11-Arrancamos la base de datos nuevamente con el comando startup y comprobamos en el alert.log que ya no muestre ningun error del tipo ORA-01595 o ORA-00600.

Siempre hay que conectarse como usuario SYS SYSDBA por ejemplo con la cadena:

C:\>sqlplus sys/sys as sysdba (no hay que utilizar el SID en la cadena de conexion).

Espero que les resulte util.
Share on Google Plus
    Blogger Comment

0 comentarios: