Oracle ASM如何使用asmcmd中的cp命令来执行远程复制
小编给大家分享一下Oracle ASM如何使用asmcmd中的cp命令来执行远程复制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Oracle ASM使用asmcmd中的cp命令来执行远程复制
cp命令的语法如下:
cpsrc_file[--targettarget_type][--serviceservice_name][--portport_num][connect_str:]tgt_file
--target target_type是用来指定asmcmd命令执行复制操作必须要连接到的实例的目标类型。有效选项为ASM,IOS或APX。
--service service_name如果缺省值不是+ASM,用来指定Oracle ASM实例名
--port port_num 缺省值是1521,用来指定监听端口
connect_str用来指定连接到远程实例的连接串。connect_str对于本地实例的复制是不需要指定的。对于远程实例复制,必须指定连接串并且会提示输入密码。它的格式如下:
user@host.SID
user,host和SID都是需要指定的。缺省端口为1521,也可以使用--port选项来修改。连接权限(sysasm或sysdba)是由启动asmcmd命令时由--privilege选项所决定的。
src_file 被复制的源文件名,它必须是一个完整路径文件名或一个Oracle ASM别名。在执行asmcmd复制时,Oracle ASM会创建一个OMF文件例如:
diskgroup/db_unique_name/file_type/file_name.#.#
其中db_unique_name被设置为ASM,#为数字。在复制过程中cp命令会对目标地址创建目录结构并对实际创建的OMF文件创建别名。
tgt_file 复制操作所创建的目标文件名或一个别名目录名的别名。
注意,cp命令不能在两个远程实例之间复制文件。在执行cp命令时本地Oracle ASM实例必须是源地址或目标地址。
使用cp命令可以执行以下三种复制操作:
1.从磁盘组中复制文件到操作系统中
2.从磁盘组中复制文件到磁盘组中
3.从操作系统中复制文件到磁盘组中
注意有些文件是不能执行复制的,比如OCR和SPFILE文件。为了备份,复制或移动Oracle ASM SPFILE文件,可以使用spbackup,spcopy或spmove命令。为了复制OCR备份文件,源地址必须是磁盘组。
如果文件存储在Oracle ASM磁盘组中,复制操作是可以跨字节序的(Little-Endian and Big-Endian)。Orale ASM会自动转换文件格式。在非Oracle ASM文件与Oracle ASM磁盘组之间是可以对不同字节序平台进行复制的,在复制完成后执行命令来对文件进行转换操作即可。
首先显示+data/cs/datafile目录中的所有文件
ASMCMD[+data/cs/datafile]>ls-ltTypeRedundStripedTimeSysNameDATAFILEUNPROTCOARSEAUG1711:00:00Njy01.dbf=>+DATA/cs/DATAFILE/JY.331.976296525DATAFILEUNPROTCOARSEAUG1711:00:00YUSERS.275.970601909DATAFILEUNPROTCOARSEAUG1711:00:00YUNDOTBS2.284.970602381DATAFILEUNPROTCOARSEAUG1711:00:00YUNDOTBS1.274.970601905DATAFILEUNPROTCOARSEAUG1711:00:00YTEST.326.976211663DATAFILEUNPROTCOARSEAUG1711:00:00YSYSTEM.272.970601831DATAFILEUNPROTCOARSEAUG1711:00:00YSYSAUX.273.970601881DATAFILEUNPROTCOARSEAUG1711:00:00YJY.331.976296525DATAFILEUNPROTCOARSEMAR1218:00:00YUSERS.261.970598319DATAFILEUNPROTCOARSEMAR1218:00:00YUNDOTBS1.260.970598319DATAFILEUNPROTCOARSEMAR1218:00:00YSYSTEM.258.970598233DATAFILEUNPROTCOARSEMAR1218:00:00YSYSAUX.259.970598293
将+data/cs/datafile/JY.331.976296525文件从磁盘组中复制到操作系统中
ASMCMD[+]>cp+data/cs/datafile/JY.331.976296525/home/grid/JY.bakcopying+data/cs/datafile/JY.331.976296525->/home/grid/JY.bak
将操作系统中的文件复制到磁盘组中
ASMCMD[+]>cp/home/grid/JY.bak+data/cs/datafile/JY.bakcopying/home/grid/JY.bak->+data/cs/datafile/JY.bakASMCMD[+]>ls-lt+data/cs/datafile/TypeRedundStripedTimeSysNameDATAFILEUNPROTCOARSEAUG1711:00:00Njy01.dbf=>+DATA/cs/DATAFILE/JY.331.976296525DATAFILEUNPROTCOARSEAUG1711:00:00YUSERS.275.970601909DATAFILEUNPROTCOARSEAUG1711:00:00YUNDOTBS2.284.970602381DATAFILEUNPROTCOARSEAUG1711:00:00YUNDOTBS1.274.970601905DATAFILEUNPROTCOARSEAUG1711:00:00YTEST.326.976211663DATAFILEUNPROTCOARSEAUG1711:00:00YSYSTEM.272.970601831DATAFILEUNPROTCOARSEAUG1711:00:00YSYSAUX.273.970601881DATAFILEUNPROTCOARSEAUG1711:00:00NJY.bak=>+DATA/ASM/DATAFILE/JY.bak.453.984396007DATAFILEUNPROTCOARSEAUG1711:00:00YJY.331.976296525DATAFILEUNPROTCOARSEMAR1218:00:00YUSERS.261.970598319DATAFILEUNPROTCOARSEMAR1218:00:00YUNDOTBS1.260.970598319DATAFILEUNPROTCOARSEMAR1218:00:00YSYSTEM.258.970598233DATAFILEUNPROTCOARSEMAR1218:00:00YSYSAUX.259.970598293
将+data/cs/datafile/JY.331.976296525文件从磁盘组中复制到远程ASM实例的磁盘组中
ASMCMD[+]>cp+data/cs/datafile/JY.331.976296525sys@10.138.130.175.+ASM1:+TEST/JY.bakEnterpassword:***********copying+data/cs/datafile/JY.331.976296525->10.138.130.175:+TEST/JY.bakASMCMD[+test]>ls-ltTypeRedundStripedTimeSysNameNrman_backup/Narch/YJY/YDUP/YCS_DG/YASM/DATAFILEMIRRORCOARSEAUG1716:00:00NJY.bak=>+TEST/ASM/DATAFILE/JY.bak.342.984413875
将+data/cs/datafile/JY.331.976296525文件从磁盘组中复制到远程ASM实例所在服务器的操作系统中
ASMCMD[+]>cp+data/cs/datafile/JY.331.976296525sys@10.138.130.175.+ASM1:/home/grid/JY.bakEnterpassword:***********copying+data/cs/datafile/JY.331.976296525->10.138.130.175:/home/grid/JY.bak[grid@jytest1~]$ls-lrt-rw-r-----1gridoinstall104865792Aug1716:21JY.bak
使用asmcmd cp命令比使用dbms_file_transfer来方便些。
看完了这篇文章,相信你对“Oracle ASM如何使用asmcmd中的cp命令来执行远程复制”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。