All Things Oracle

¿Cómo renombrar con Rman datafiles nombrados con caracteres especiales?

Faltaba espacio en un tablespace y optaste por agregar un datafile nuevo, resuelto el problema regresas a tus asuntos y te olvidas del tema. Luego, mientras de forma rutinaria inspeccionas los contenidos del filesystem, reparas en que el nuevo datafile tiene un nombre algo raro, tiene caracteres especiales; recuerdas que al escribir el nombre lo hiciste con tanta prisa que te equivocaste un par de veces pero al final el nombre estaba OK, o al menos en tu pantalla así parecía; bueno pues, igual hay que resolver el problema, pero ¿por dónde empezar?

La primera intención es renombrar el archivo desde el sistema operativo, pero encuentras problemas para lograrlo, ¿por qué no ayudarnos de nuestro viejo conocido RMAN? Afortunadamente el procedimiento es bastante simple:

1. Primero invocamos RMAN y verificamos la situación inicial.

$ rman target /

RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace       RB segs Datafile Name
---- -------- ---------------- ------- ------------------------
1    480      SYSTEM           ***     /u01/oradata/orcl/system01.dbf
2    30       UNDOTBS1         ***     /u01/oradata/orcl/undotbs01.dbf
3    230      SYSAUX           ***     /u01/oradata/orcl/sysaux01.dbf
4    5        USERS            ***     /u01/oradata/orcl/users01.dbf
5    100      EXAMPLE          ***     /u01/oradata/orcl/example01.dbf
6    10       DEMO             ***     /u01/oradata/orcl/�¡Ã³demo01.dbf
                                                         ^^^^^^^^^^^^^^ 
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/oradata/orcl/temp01.dbf

2. Procedemos a poner el tablespace afectado fuera de linea.

RMAN> sql "alter tablespace demo offline";

sql statement: alter tablespace demo offline
3. Obtenemos una copia del datafile, referenciándolo por su file#.
RMAN> copy datafile 6 to '/u01/oradata/orcl/demo01.dbf';

Starting backup at 06/11/2008 20:40:28
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=142 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00006 name=/u01/oradata/orcl/�¡Ã³demo01.dbf
output filename=/u01/oradata/orcl/demo01.dbf tag=TAG20081106T204029 recid=4 stamp=670106430
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 06/11/2008 20:40:30
4. Ahora intercambiamos los archivos.
RMAN> switch datafile 6 to copy;

datafile 6 switched to datafile copy "/u01/oradata/orcl/demo01.dbf"

5. Finalizamos poniendo el tablespace en linea.

RMAN> sql "alter tablespace demo online";

sql statement: alter tablespace demo online
6. Verificamos.
RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace       RB segs Datafile Name
---- -------- ---------------- ------- ------------------------
1    480      SYSTEM           ***     /u01/oradata/orcl/system01.dbf
2    30       UNDOTBS1         ***     /u01/oradata/orcl/undotbs01.dbf
3    230      SYSAUX           ***     /u01/oradata/orcl/sysaux01.dbf
4    5        USERS            ***     /u01/oradata/orcl/users01.dbf
5    100      EXAMPLE          ***     /u01/oradata/orcl/example01.dbf
6    10       DEMO             ***     /u01/oradata/orcl/demo01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/oradata/orcl/temp01.dbf

¡El problema ha sido resuelto!

Puedes revisar la nota: 743616.1 Rename Datafiles Using Rman, para ver otros escenarios posibles.

¿Te pareció interesante este artículo?, ¿te quedaron algunas dudas?, ¿quieres sugerirme un tema a tratar?, pues déjame tus comentarios o ¡contáctame ahora mismo!

Agregue un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Posts Relacionados

Primer post de una serie dedicada al arte de parchar Oracle. Empezamos con el parchado in-place, la forma más común y también la más peligrosa.
Aprenda a descargar los parches de Oracle, tanto manualmente como de forma automatizada, usando el utilitario getMOSPatch.
Link a articulo publicado en Toad World, sobre como aplicar un patch out-of-place a Grid Infrastructure, usando un Golden Image.

¿Necesitas Ayuda?

Completa estos datos y estaré en contacto a la brevedad.