暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

Oracle如何对有特殊字符的数据文件rename

原创 Valerie 2022-08-22
963
SQL> startup

ORACLE instance started.

 
Total System Global Area 1068937216 bytes

Fixed Size                  2213632 bytes

Variable Size             704645376 bytes

Database Buffers          356515840 bytes

Redo Buffers                5562368 bytes

ORA-15124: ASM file name '+DATADG/xx_data02.dbf

' contains an invalid alias name

使用RMAN duplicate创建Physical Standby,在mount standby的时候提示无效别名,这里奇怪的一点是它换行了,在原库中查看这个数据文件

查看数据文件所在目录,及查看建表空间脚本可以看到确实数据文件尾含有空格

因此需要将数据文件名rename,如果是一般的数据文件,先将文件所在表空间offline,cp或mv为新的数据文件,再在数据库中rename

这次情况与平常不一样,折腾了一番

1.在数据库中查看该数据文件的FILE#,为37
2.将数据文件所在表空间offline
3.将数据文件拷贝为新的数据文件 cp  xx_data02.dbf*  xx_data03.dbf

 
SQL> alter tablespace XX_DATA offline;


Tablespace altered.

 
SQL> declare

2  str varchar2(50);

3  begin

4  select name into str from v$datafile where file#=37;

5  execute immediate 'alter database rename file '''|| str || '''to ''/dbdata/oradata/xx_data03.dbf''';

6  end;

7  /

 
PL/SQL procedure successfully completed.

 
SQL> alter tablespace XX_DATA online;

 
Tablespace altered.


参考MOS :How to rename a datafile with special characters created by mistake (文档 ID 1554322.1)

最后修改时间:2022-08-22 18:26:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论