Hallé esto aquí y decidí traducirlo para los hispanohablantes. Lo probé en Oracle 12.1. En versiones anteriores, era necesario seguir varias etapas para mover un datafile. Ahora es posible hacerlo con un comando como se puede ver bajo estas líneas:
SQL> l
1 select file_name from dba_data_files
2* where tablespace_name = 'USERS'
SQL> /
FILE_NAME
----------------------------------------------------------------------
C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\O1_MF_USERS_9LM1W41L_.DBF
SQL> alter database move datafile
2 'C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\O1_MF_USERS_9LM1W41L_.DBF'
3 to
4 'C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\USERS.DBF'
5 /
Base de datos modificada.
SQL> select file_name from dba_data_files
2 where tablespace_name = 'USERS'
3 /
FILE_NAME
----------------------------------------------------------------------
C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\USERS.DBF
SQL>
... y aquí está el nuevo archivo en el sistema operativo para probarlo:
PS C:\app\administrator\oradata\orcl1\datafile> dir users.*
Directory: C:\app\administrator\oradata\orcl1\datafile
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 20/03/2014 18:55 5251072 USERS.DBF
PS C:\app\administrator\oradata\orcl1\datafile>
El comando aun parece funcionar con el tablespace SYSTEM:
SQL> select file_name from dba_data_files
2 where tablespace_name = 'SYSTEM'
3 /
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\O1_MF_SYSTEM_9LM1SGKN_.DBF
SQL> alter database move datafile
2 'C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\O1_MF_SYSTEM_9LM1SGKN_.DBF'
3 to
4 'C:\APP\ADMINISTRATOR\ORADATA\ORCL1\DATAFILE\SYSTEM.DBF'
5 /
Base de datos modificada.
SQL> exit
Desconectado de Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
PS C:\app\administrator\oradata\orcl1\datafile> dir system.*
Directory: C:\app\administrator\oradata\orcl1\datafile
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 20/03/2014 19:01 817897472 SYSTEM.DBF
PS C:\app\administrator\oradata\orcl1\datafile>
Hola Andrew:
ResponderEliminarTengo este escenario:
Una instancias de Oracle 11gR2 ORCL, con sod base de datos A y B.
Como puedo incluir estas bases de datos en otra instancia ORCL_NUEVA, sin hace un export o datapump o utilizar rman, usando solo los datafiles.
Gracias
Hola Manuel,
ResponderEliminarGracias por tu pregunta y espero que estás bien.
Con una base de datos, A, la respuesta es fácil. Se puede copiar los datafiles y recrear el archivo de control (control file). Lo hago a menudo para crear bases de datos de prueba.
Pero con dos bases de datos, A y B, creo que sea necesario hacerlo con
transportable tablespaces.
Un saludo
Andrew