« ¿Qué es un Snapshot Controlfile?SELECT TO_NUMBER('MUST_HAVE_RUN_PRE-UPGRADE_TOOL_FOR_TIMEZONE') »

ORA-12801: error signaled in parallel query server



Era sólo un pequeño e indefenso alter de una constraint , sólo eso.... gatilló todo...fue horrible 88| (fue para darle algo más de emoción)



Super simple, era habilitar una constraint, nada más....pero dió un error algo trágico

SQL> ALTER TABLE PROD1.MOVIMIENTOS ENABLE CONSTRAINT FK_1_MOVINTDETAILS ;

ALTER TABLE PROD1.MOVIMIENTOS ENABLE CONSTRAINT FK_1_MOVINTDETAILS ;
*
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-12801: error signaled in parallel query server P003
ORA-01157: cannot identify/lock data file 5001 - see DBWR trace file
ORA-01110: data file 5001: '+DATG01'

SQL>


Obviamente , lo que pensé en un primer instante es ir a ver el susodicho datafile, el cual para mi mala suerte y sorpresa, no existía.

SQL> select name , file# from v$datafile where file# = 5001;

no rows selected

SQL>


Lo busqué entonces como un TEMPFILE y acá dieron los primeros errores que me indicaban el problema

SQL> select FILE_ID , FILE_NAME , TABLESPACE_NAME from dba_temp_files;
ERROR:
ORA-01157: cannot identify/lock data file 5001 - see DBWR trace file
ORA-01110: data file 5001: '+DATG01'

no rows selected

SQL>


Hice el chequeo en la vista V$TEMPFILE y aparece solamente el diskgroup, no la ruta completa donde está el tempfile, por ende...hay que recrear, hay un error...

1 select FILE# , NAME from v$tempfile

FILE# NAME
---------- ----------------------------------------
1 +DATG01


Chequeamos el tablespace temporal que existe

SQL> select tablespace_name from dba_tablespaces where tablespace_name like '%TEMP%';

TABLESPACE_NAME
------------------------------
TEMP2


Creamos un nuevo tablespace temporal , de un tamaño fijo

SQL> create temporary tablespace temp1 tempfile '+DATG01' size 5g;

Tablespace created.

SQL> alter tablespace temp1 add tempfile '+DATG01' size 5g;

Tablespace altered.


Y alteramos la base de datos, para que todos los ordenamientos pasen por el nuevo tablespace temporal

SQL> alter database default temporary tablespace temp1;

Database altered.

SQL>


Borramos el anterior tablespace temporal.

SQL> drop tablespace temp2 ;

Tablespace dropped.

SQL>


Con la modificación del tablespace temporal, pues arreglamos el inconveniente y el grandioso, potente a increíble ALTER CONSTRAINT , se ejecuta sin problemas

SQL> ALTER TABLE PROD1.MOVIMIENTOS ENABLE CONSTRAINT FK_1_MOVINTDETAILS ;

Table altered.

SQL>

:)

by Ligarius
03.11.15. 13:04:22. 362 words, 3069 views. Categories: Base de datos, ASM (Automatic Storage Management) ,