
Mover Tablespace System
junio 5, 2007Un poco tarde, pero aquí está el procedimiento para mover el tablespace SYSTEM en una base de datos Oracle. La verdad es que me había olvidado un poco de que tengo este blog (estoy trabajando en otro nada técnico al que se llega desde aquí) y había dejado este un poco de lado. Pero como tengo ambos en wordpress, curioseando llegué al apartado de estadísticas y me asombré bastante cuando vi que tenía 433 visitas, y que hay alguien que ha llegado hasta aquí buscando precisamente la cadena “Mover Tablespace System”. De modo que, aunque un poco tarde, aquí está el procedimiento.
La única forma de mover el tablespace SYSTEM es la siguiente:
- Parar la base de datos.
- SHUTDOWN IMMEDIATE;
- Mover el fichero desde el Sistema Operativo.
- Montar la base de datos.
- STARTUP MOUNT;
- Mover el fichero a nivel de base de datos.
- ALTER DATABASE RENAME DATAFILE ‘/path1/fichero1′ TO ‘/path2/fichero2′;
- Abrir la base de datos.
- ALTER DATABASE OPEN;
Como se puede observar es necesaria una parada de servicio. Por lo tanto, para aplicar este procedimiento será necesario avisar o ponerse de acuerdo con las personas que hacen uso de nuestra base de datos (algo crítico si se trata de un entorno en explotación).
Me sirvió bastante para orientarme … sólo un detalle, el comando no es ‘alter database rename datafile …’ sino ‘alter database rename FILE …’
no hay que mover a nivel del sistema operativo?
Sí. Está indicado en el segundo punto (lo que no puse es el comando).
Muy util, tengo que mudar el storage en breve y esto me sirve. Tengo la base en ASM. Me pregunto si esto tambien puede hacerse utilizando RMAN AS COPY del tablespace system, y luego un SWITCH Tablespace SYSTEM to COPY.
Sera lo mismo? Imaginas alguna contra? puede hacerse en caliente? Gracias!!
Evidentemente, hay otras formas de hacerlo. Sin embargo, el movimiento de SYSTEM, al menos hata Oracle 10g, no se puede hacer ‘en caliente’.