1.分别在源端和目标端创建密码文件(我的GI单独安装在grid用户下,在grid的dbs目录内执行)
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.dbf
copying +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.dbf
copying +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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




