欢迎Oracle的朋友们,通过交流和学习,互相进步.我通过这个空间把自己的实践和测试都记录下来,与你们共同分享,请多指教 最近读完的书: <<Sybex.OCP.Oracle.10g.Administration.I.Study.Guide>> <<Sybex.OCP.Oracle.10g.Administration.II.Study.Guide>> <<Version3.0-Oracle Database 10g-Administration Workshop I>> <<Version3.0-Oracle Database 10g-Administration Workshop II>> <<Oracle 9i 性能调整指南>>

ASM文件别名的分析

上一篇 / 下一篇  2008-05-27 11:43:54 / 天气: 阴雨 / 心情: 平静

今天用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>asmcmdITPUB个人空间/?B*A@j f"U&^
ASMCMD> ls
x fHK%pI Ay0DISK_GROUP1/ITPUB个人空间n-K'fF"`
DISK_GROUP2/
6ke.}p?2kk6y%k!}0RMAN_GROUP/
N.pO\ \7e]&~5N0ASMCMD> cd disk_group2ITPUB个人空间&k/uw6XN
ASMCMD> ls
/H&@&z"?(|(v6cff0DEVDB/
c] PG+X T0TEST/
JSpM-[*S@na lU]E0ASMCMD> cd test
S:R3?U7J5n{Tb0ASMCMD> ls
%C(Edl8\[ G6t4qw0test.dbfITPUB个人空间b0}2^ P^9O9v)Fj v
ASMCMD> ls -lITPUB个人空间!Zle"Zc7G2B@uH
Type      Redund  Striped  Time              Sys  NameITPUB个人空间oX:xa*M3t
                                             N    test.dbf => +DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003ITPUB个人空间.m&Za:CdX F j
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';
{7Y ~F+f)~0alter diskgroup DISK_GROUP2 add alias '+DISK_GROUP2/TEST/TEST2.DBF' for '+DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003'ITPUB个人空间5~)wA5_e%u+Lt I
*
7y(qK I~+~1w0ERROR at line 1:
"S-dUMm2?`1K0ORA-15032: not all alterations performed
ods2HB`0ORA-15176: file '+DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003' already has anITPUB个人空间a$z5@j/@^N
alias associated with it
"lv0J+f&Y4oV7|#~$n0

它会认为这个别名已经存在,修改别名是否可以呢?

SQL> alter diskgroup DISK_GROUP2 rename alias '+DISK_GROUP2/TEST/TEST.DBF' to '+DISK_GROUP2/TEST/TEST2.DBF';

Diskgroup altered.

呵呵,可以

ASMCMD> ls -lITPUB个人空间s%X#B1[ Z8WL
Type      Redund  Striped  Time              Sys  NameITPUB个人空间#`q/{hB;r
                                             N    TEST2.DBF => +DISK_GROUP2/DEVDB/DATAFILE/TEST.290.655818003

 

 


TAG:

我的家 引用 删除 lovelyman_gold   /   2008-06-13 21:05:00
再分析
引用 删除 Guest   /   2008-06-12 19:43:05
兄弟:写的非常的好,如果有ASM方面的教程发给我一下,谢谢!!,我的邮箱是wqqzlm@163.com,不胜感谢!!
引用 删除 allantrey   /   2008-05-28 10:45:52
写的不错,挺好的!
赵宇的DBA记事本 引用 删除 赵宇   /   2008-05-27 11:59:22
RMAN> switch  datafile 6 to copy ;

数据文件 6 已切换成数据文件副本 "+DISK_GROUP2/test/test2.dbf"

如果ASM和RMAN在这个方面能联系上就好了
赵宇的DBA记事本 引用 删除 赵宇   /   2008-05-27 11:56:54
刚才准备转换datafile到ASM发现ASM和RMAN之间没有关联:
RMAN> list datafilecopy all;


数据文件副本列表
关键字     文件 S 完成时间            Ckp SCN    Ckp 时间            名称
------- ---- - ------------------- ---------- ------------------- ----
37      6    A 2008-05-27 11:40:04 275122938  2008-05-27 11:40:03 +DISK_GROUP2/test/test.dbf
20      6    X 2008-05-22 09:54:27 274987324  2008-05-22 09:10:55 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
29      6    X 2008-05-22 10:24:56 903795     2008-05-15 15:23:14 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST.DBF

RMAN> crosscheck datafilecopy all;

分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158 devtype=DISK
对数据文件副本的验证失败
数据文件副本 filename=+DISK_GROUP2/test/test.dbf recid=37 stamp=655818004
对数据文件副本的验证失败
数据文件副本 filename=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF recid=20 stamp=655379667
对数据文件副本的验证失败
数据文件副本 filename=D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST.DBF recid=29 stamp=655381496
已交叉检验的 3 对象


RMAN> list datafilecopy all;


数据文件副本列表
关键字     文件 S 完成时间            Ckp SCN    Ckp 时间            名称
------- ---- - ------------------- ---------- ------------------- ----
37      6    X 2008-05-27 11:40:04 275122938  2008-05-27 11:40:03 +DISK_GROUP2/test/test.dbf
20      6    X 2008-05-22 09:54:27 274987324  2008-05-22 09:10:55 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
29      6    X 2008-05-22 10:24:56 903795     2008-05-15 15:23:14 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST.DBF

RMAN>
RMAN不识别刚才的copy了,晕

RMAN> catalog datafilecopy '+DISK_GROUP2/test/test2.dbf';

已将数据文件副本列入目录
数据文件副本 filename=+DISK_GROUP2/test/test2.dbf recid=38 stamp=655818977

RMAN> list datafilecopy all;


数据文件副本列表
关键字     文件 S 完成时间            Ckp SCN    Ckp 时间            名称
------- ---- - ------------------- ---------- ------------------- ----
38      6    A 2008-05-27 11:56:17 275122938  2008-05-27 11:40:03 +DISK_GROUP2/test/test2.dbf
37      6    X 2008-05-27 11:40:04 275122938  2008-05-27 11:40:03 +DISK_GROUP2/test/test.dbf
20      6    X 2008-05-22 09:54:27 274987324  2008-05-22 09:10:55 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST.DBF
29      6    X 2008-05-22 10:24:56 903795     2008-05-15 15:23:14 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST.DBF
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar