Renombrar o trasladar un tablespace

Parece ser que no hay un método fácil y rápido para renombrar o mover un tablespace de una base de datos Oracle.

El procedimiento REGLAMENTARIO y SEGURO es:

  • Haces un export de los usuarios que estén en ese tablespace.
  • ¡¡¡ Haces un export de los usuarios que estén en ese tablespace !!!
  • Accedes a SQLPlus
  • Te conectas como Sys o DBA con el comando CONNECT / AS SYSDBA
  • Apagas la instancia de la base de datos : SHUTDOWN
  • Copias los archivos en cuestión a nivel de sistema operativo.
  • Vuelves a arrancar la base de datos pero en estado de montado : STARTUP MOUNT
  • Modificas la localización de los tablespaces en Oracle por medio de la sentencia:
ALTER DATABASE
    RENAME FILE '/u02/oracle/rbdb1/sort01.dbf',
                '/u02/oracle/rbdb1/user3.dbf'
             TO '/u02/oracle/rbdb1/temp01.dbf',
                '/u02/oracle/rbdb1/users03.dbf;
  • Abres la base de datos: ALTER DATABASE OPEN
  • Compruebas que todo funciona correctamente
  • Ya te puedes cargar los ficheros viejos.

Procedimiento Rápido

Si los tablespaces que quieres mover no pertenecen al usuario del sistema y no hay nadie conectado puedes hacer este otro procedimiento que es mas rápido.

  • Haces un export de los usuarios que estén en ese tablespace.
  • ¡¡¡ Haces un export de los usuarios que estén en ese tablespace !!!
  • Pones el tablespace offline
alter tablespace TU_TABLESPACE offline normal;
  • Copias los archivos desde el sistema operativo. No hagas un mv
  • Alteras el tablespace diciendole las substituciones que quieres hacer
alter tablespace TU_TABLESPACE 
rename datafile '/ruta/del/datafile/viejo1.dbf', '/ruta/del/datafile/viejo2.dbf'  to  '/ruta/del/datafile/nuevo1.dbf', '/ruta/del/datafile/nuevo2.dbf';
  • Vuelves a poner el tablespace online
alter tablespace TU_TABLESPACE online;
  • Compruebas que ha ido bien conectandote con el usuario que usa ese tablespace y haciendo unas cuantas consultas
  • Borras los datafiles viejos

para todo lo demás Oracle

 
ora/tablespace1.txt · Última modificación: 2008/05/27 16:44 por juantxu
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki