En Oracle 9 no era posible cambiar el nombre de un tablespace:
SQL> l
1* alter tablespace users rename to andrew
SQL> /
alter tablespace users rename to andrew
*
ERROR at line 1:
ORA-01904: DATAFILE keyword expected
SQL>
... pero desde Oracle 10 es posible hacerlo. Decidí renombrar el tablespace USERS y llamarlo ANDREW para hacer una demostración. Para empezar comprobé que tenía un tablespace USERS y que no tenía un tablespace ANDREW:
SQL> l
SQL> l
1 select tablespace_name from dba_tablespaces
2* where tablespace_name in ('ANDREW', 'USERS')
SQL> /
TABLESPACE_NAME
------------------------------
USERS
SQL>
Luego mostré que había una tabla llamada COCHES en el tablespace USERS:
Luego mostré que había una tabla llamada COCHES en el tablespace USERS:
SQL> l
1 select tablespace_name from dba_tables
2* where table_name = 'COCHES'
SQL> /
TABLESPACE_NAME
------------------------------
USERS
SQL>
SQL> alter tablespace users rename to andrew;
Cambié el nombre del tablespace USERS y lo llamé ANDREW:
SQL> alter tablespace users rename to andrew;
Tablespace modificado.
SQL>
SQL> l
Entonces comprobé que tenía un tablespace ANDREW y que no tenía un tablespace USERS:
SQL> l
1 select tablespace_name from dba_tablespaces
2* where tablespace_name in ('ANDREW', 'USERS')
SQL> /
TABLESPACE_NAME
------------------------------
ANDREW
SQL>
También comprobé que la tabla COCHES estaba en el tablespace ANDREW:
SQL> l
1 select tablespace_name from dba_tables
2* where table_name = 'COCHES'
SQL> /
TABLESPACE_NAME
------------------------------
ANDREW
SQL>
Hice el tablespace ANDREW offline:
Hice el tablespace ANDREW offline:
SQL> alter tablespace andrew offline;
Tablespace modificado.
SQL>
Luego intenté renombrarlo pero no era permitido:
SQL>
Luego intenté renombrarlo pero no era permitido:
SQL> alter tablespace andrew rename to users;
alter tablespace andrew rename to users
*
ERROR en linea 1:
ORA-01135: el archivo 4 accedido para LMD/consulta
esta offline
ORA-01110: archivo de datos 4:
'/database/ORCL/datafiles/users01.dbf'
SQL>
Tampoco se puede cambiar los nombres de los tablespaces SYSTEM y SYSAUX:
Tampoco se puede cambiar los nombres de los tablespaces SYSTEM y SYSAUX:
SQL> alter tablespace system rename to fred;
alter tablespace system rename to fred
*
ERROR en linea 1:
ORA-00712: no se puede cambiar el nombre del
tablespace del sistema
SQL> alter tablespace sysaux rename to fred;
alter tablespace sysaux rename to fred
*
ERROR en linea 1:
ORA-13502: No se puede cambiar el nombre del
tablespace SYSAUX
SQL>
Por fin, si intentas a dar un nuevo nombre inválido a tu tablespace, Oracle responde con un ORA-02150:
SQL> alter tablespace users rename to 123;
alter tablespace users rename to 123
*
ERROR en linea 1:
ORA-02150: nuevo nombre de tablespace no valido
SQL>
Así, ahora mi problema es - ¿Cómo se puede tener un ORA-00711? Desafortunadamente, no tengo una versión española de este error:
Solaris > oerr ora 00711
00711, 00000, "new tablespace name is invalid"
// *Cause: An attempt to rename a tablespace failed because the new name
// is invalid.
// *Action: Choose a valid new name and retry the command.
Solaris >
Excelente1
ResponderEliminar