| 源端 | ASM用户名 | ASM实例名 |
| wxlab91 | sys | +ASM |
| wxlab92 | sys | +ASM |
orapwd file=orapw+ASM password=sys
2.分别在源端和目标端授予sys用户sysasm权限
sqlplus / as sysasm
grant sysasm to sys;
3.开始拷贝(拷贝前需要确认目标端主机的监听,是否监听了ASM实例,如果没有,拷贝会报错ASMCMD-8201: (Bad argc for RDBMS:ASMCMD-8201))
CODE:
ASMCMD> cp +dg_data/dlsp/datafile/SYSAUX.259.810470585 sys@wxlab92.+ASM:+DG_DATA_SB/dlsp/sysaux.dbf
Enter password: ***
copying +dg_data/dlsp/datafile/SYSAUX.259.810470585 -> wxlab92:+DG_DATA_SB/dlsp/sysaux.dbf[url=mailto:sys@wxlab92.+ASM]sys@wxlab92.+ASM[/url] 代表的意思是:asm用户的用户名@远端主机名.asm实例名
上面例子里,我把源端wxlab91的asm里的一个文件拷贝到了目标端wxlab92(在/etc/hosts里设置ip 主机对应关系)的+DG_DATA_SB/dlsp目录下
如果命令行内没输入密码,命令执行后,会提示你输入asm的用户sys的密码
CODE:
cp +dg_data/dlsp/datafile/SYSAUX.259.810470585 sys/sys@wxlab92.+ASM:+DG_DATA_SB/dlsp/sysaux1.dbfcopying +dg_data/dlsp/datafile/SYSAUX.259.810470585 -> wxlab92:+DG_DATA_SB/dlsp/sysaux1.dbf命令行内输入密码的话,执行后,不需要再次输入密码了
当然也可以从ASM里往远端的文件系统里拷贝数据,或者从本机的文件系统里往远端的ASM里拷贝数据,如:
CODE:
ASMCMD> cp +dg_data/dlsp/datafile/SYSAUX.259.810470585 sys/sys@wxlab92.+ASM:/data/arch/a.dbfcopying +dg_data/dlsp/datafile/SYSAUX.259.810470585 -> wxlab92:/data/arch/a.dbf
ASMCMD> cp /data/arch/a.dbf sys/sys@wxlab92.+ASM:+DG_DATA_SB/dlsp/c.dbf
copying /data/arch/a.dbf -> wxlab92:+DG_DATA_SB/dlsp/c.dbf
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22034023/viewspace-756673/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22034023/viewspace-756673/
本文详细介绍了如何在 Oracle ASM 实例之间进行数据迁移及文件拷贝操作,包括创建密码文件、授权和使用 ASMCMD 命令进行文件复制。
551

被折叠的 条评论
为什么被折叠?



