ASMCMD命令拷贝文件报错ORA-15046
上一篇 / 下一篇 2008-09-11 21:56:57 / 个人分类:Bug
尝试使用ASMCMD拷贝数据文件时出现这个错误。
使用ASM将磁盘组文件拷贝到文件系统没有问题:
bash-3.00$ export ORACLE_SID=+ASM2ITPUB个人空间*WG%[8RDj+_
bash-3.00$ asmcmdITPUB个人空间uH)s8EN%Z
O4x
ASMCMD> ls
~$Jjo-G0DATA/ITPUB个人空间 h8zAE5@2{}Y
ASMCMD> cd DATAITPUB个人空间B7b2J naE0i(_1{!Y
ASMCMD> cd RACTESTITPUB个人空间/i1V%k2H7V~)o
ASMCMD> cd DATAFILEITPUB个人空间f-r*}l/Y \,n
ASMCMD> lsITPUB个人空间O
Ha \yu4?
SYSAUX.260.664395357ITPUB个人空间0fi$?+U
Y;b8N,B?
SYSTEM.259.664395355
3coM;Tx7IHklh0SYSTEM.268.664468131
*XkZV"G.c
V.}])v4b0UNDOTBS1.261.664395359
;D}:n+V,}9qI+W0UNDOTBS2.263.664395371ITPUB个人空间3@(w;?b6S
USERS.264.664395373
J[a#oUI,J.Q|X0ASMCMD> cp USERS.264.664395373 /data/USERS.264.664395373ITPUB个人空间g_[9| z6d@
n
source +DATA/RACTEST/DATAFILE/USERS.264.664395373ITPUB个人空间'q&Si5\`7Y Ww
target /data/USERS.264.664395373ITPUB个人空间 B
f!})C O]sZVT
copying file(s)...
.ouY%AqTp/`^0file, /data/USERS.264.664395373, copy committed.
下面尝试将操作系统上的这个文件拷贝回ASM的不同目录下:
ASMCMD> cp /data/USERS.264.664395373 +DATA/RACTEST/backup/USERS.264.664395373
/gc6FaT4h0source /data/USERS.264.664395373
cj0Ak+c!E%x7aX { `0target +DATA/RACTEST/backup/USERS.264.664395373ITPUB个人空间K8x%v#z7I!Ob~@PO
ASMCMD-08015: can not create file->'+DATA/RACTEST/backup/USERS.264.664395373'
.W#]$\m.C$vY%T!M0ORA-15056: additional error messageITPUB个人空间5Si1ecc(C,B
ORA-17502: ksfdcre:4 Failed to create file +DATA/ractest/backup/users.264.664395373ITPUB个人空间x'ga0gg.F
ORA-15046: ASM file name '+DATA/ractest/backup/users.264.664395373' is not in single-file creation form
;e}Z3Y2B J G0ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 142
8^#q!Rb9N3tuO*W0ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)
-mA$lJ.H2r7q0ASMCMD-08016: copy source->'/data/USERS.264.664395373' and target->'+DATA/RACTEST/backup/USERS.264.664395373' failed
这个问题其实也很简单,用户在拷贝到ASM上的时候不要指定文件后面的数值,这是Oracle的ASM用来进行标识的信息。
Oracle在文档Doc ID: Note:452158.1中进行详细的描述:
ASMCMD> cp /data/USERS.264.664395373 +DATA/RACTEST/backup/USERS
2E2VTu8k0source /data/USERS.264.664395373ITPUB个人空间Q3sd6@ hU
target +DATA/RACTEST/backup/USERSITPUB个人空间O(INBCcm
copying file(s)...
]G!k4uWY [
n0file, +DATA/ractest/backup/users, copy committed.
注意一点,虽然这样拷贝成功了,但是ASM其实并没有完全根据命令将数据文件拷贝到指定的目录:
ASMCMD> cd +DATA/RACTEST/backup/
9Ak\8~ ?
C$g$Y0ASMCMD> ls
N%UX,?1LO\{wh002jplh5q_1_1
_(D9{0YSSlD(Yx0users
TTAp`5D{"P0ASMCMD> ls -l
8@ p[]a;L)Mo.e B0Type Redund Striped Time Sys NameITPUB个人空间\?o4Z!~v w{
N 02jplh5q_1_1 => +DATA/ASMTESTING/BACKUPSET/TESTING.269.664454477ITPUB个人空间k1h:Hg5\(^A
N users => +DATA/ASMTESTING/DATAFILE/TESTING.268.664645347
$ES/C%L3U8s0ASMCMD> cd +DATA/ASMTESTING/DATAFILE/ITPUB个人空间pH ?x(T4j;\G yR
ASMCMD> ls
)a S$LJl6Hpg$r0TESTING.268.664645347
ASM只是在目标目录下存储了一个alias,真正的文件被ASM放到了其他的位置。
导入论坛 引用链接 收藏 分享给好友 推荐到圈子 管理 举报
TAG: