Pregunta

I have a datafile in a recover state:

SQL> select status from v$datafile where file#=201;

STATUS
---------------------
RECOVER

I'm not really sure how it was damaged, looks like something went wrong right after its creation time.

SQL> select creation_change#,creation_time,checkpoint_change#,checkpoint_time,last_change#,last_time
from v$datafile where file#=201;

CREATION_CHANGE# CREATION_TIME       CHECKPOINT_CHANGE# CHECKPOINT_TIME      LAST_CHANGE# LAST_TIME
---------------- ------------------- ------------------ ------------------- ------------- -------------------
    141311481693 29/08/2019 16:54:57       141311481694 29/08/2019 16:54:57  141311481738 29/08/2019 16:55:15

I've checked every table in a tablespace this file belong to and everything seemd OK. First I tried SELECT /*+ FULL(t) */ count(*) from table_name; for every table, then I tried ANALYZE TABLE table_name VALIDATE STRUCTURE;. No errors.

I'm pretty sure there is no option to drop an offline/recover datafile. Or is there?

I have one thought in my mind: create a new tablespace, move all objects there and then recreate the TS with a failed datafile in it. Then move everything back. Is this OK thing to do? Or am I missing something?

Please advice.

¿Fue útil?

Solución

I moved all my data to new tablespace and then recreated old one and moved everything back. Everything seems in order, no data loss.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a dba.stackexchange
scroll top