我申请这个blog是为了督促自己,把自己平时的一些想法和思考结果保留下来。 本博客所有内容均为原创,如有转载请注明作者和出处

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个人空间B7b2JnaE0i(_1{!Y
ASMCMD> cd RACTESTITPUB个人空间/i1V%k2H7V~)o
ASMCMD> cd DATAFILEITPUB个人空间f-r*}l/Y \,n
ASMCMD> lsITPUB个人空间 O Ha \yu4?
SYSAUX.260.664395357ITPUB个人空间0f i$?+U Y;b8N,B?
SYSTEM.259.664395355
3coM;Tx7IH klh0SYSTEM.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&S i5\`7Y Ww
target /data/USERS.264.664395373ITPUB个人空间B f!})C O]sZV T
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
c j0Ak+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个人空间5Si1ec c(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!R b9N3tuO*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上的时候不要指定文件后面的数值,这是OracleASM用来进行标识的信息。

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(INBC cm
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.eB0Type 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:

 

评分:0

我来说两句

显示全部

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

Open Toolbar