今天用RMAN把一个本地磁盘的文件COPY到ASM,起了一样的名字:
RMAN>copy datafile 6 to '+DISK_GROUP2/TEST/TEST.DBF';
我们都知道ASM文件名字的格式是固定的:
+group/dbname/file type/tag.file.incarnation
我们实际到ASM内部看一下,它做了什么:
C:\Documents and Settings\oracle>set ORACLE_SID=+ASM
C:\Documents and Settings\oracle>asmcmd
ASMCMD> ls
DISK_GROUP1/
DISK_GROUP2/
RMAN_GROUP/
ASMCMD> cd disk_group2
ASMCMD> ls
DEVDB/
TEST/
ASMCMD> cd test
ASMCMD> ls
test.dbf
ASMCMD> ls -l
Type Redund Striped Time Sys Name
N test.dbf => +DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003
ASMCMD>
我们发现它在RMAN指定的目录上创建了ASM的别名,指向实际的datafile,也就是ASM文件为了避免重名和OMF特性,必须指定它的格式,那我们再为它创建个别名是否可以呢?
SQL> alter diskgroup DISK_GROUP2 add alias '+DISK_GROUP2/TEST/TEST2.DBF' for '+DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003';
alter diskgroup DISK_GROUP2 add alias '+DISK_GROUP2/TEST/TEST2.DBF' for '+DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003'
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15176: file '+DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003' already has an
alias associated with it
它会认为这个别名已经存在,修改别名是否可以呢?
SQL> alter diskgroup DISK_GROUP2 rename alias '+DISK_GROUP2/TEST/TEST.DBF' to '+DISK_GROUP2/TEST/TEST2.DBF';
Diskgroup altered.
呵呵,可以
ASMCMD> ls -l
Type Redund Striped Time Sys Name
N TEST2.DBF => +DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29313086/viewspace-1475341/ ,如需转载,请注明出处,否则将追究法律责任。