共计 4153 个字符,预计需要花费 11 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下 Oracle ASM 如何使用 asmcmd 中的 cp 命令来执行远程复制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
Oracle ASM 使用 asmcmd 中的 cp 命令来执行远程复制
cp 命令的语法如下:
cp src_file [--target target_type] [--service service_name] [--port port_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 -lt
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE AUG 17 11:00:00 N jy01.dbf = +DATA/cs/DATAFILE/JY.331.976296525
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y USERS.275.970601909
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y UNDOTBS2.284.970602381
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y UNDOTBS1.274.970601905
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y TEST.326.976211663
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y SYSTEM.272.970601831
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y SYSAUX.273.970601881
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y JY.331.976296525
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y USERS.261.970598319
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y UNDOTBS1.260.970598319
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y SYSTEM.258.970598233
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y SYSAUX.259.970598293
将 +data/cs/datafile/JY.331.976296525 文件从磁盘组中复制到操作系统中
ASMCMD [+] cp +data/cs/datafile/JY.331.976296525 /home/grid/JY.bak
copying +data/cs/datafile/JY.331.976296525 - /home/grid/JY.bak
将操作系统中的文件复制到磁盘组中
ASMCMD [+] cp /home/grid/JY.bak +data/cs/datafile/JY.bak
copying /home/grid/JY.bak - +data/cs/datafile/JY.bak
ASMCMD [+] ls -lt +data/cs/datafile/
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE AUG 17 11:00:00 N jy01.dbf = +DATA/cs/DATAFILE/JY.331.976296525
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y USERS.275.970601909
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y UNDOTBS2.284.970602381
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y UNDOTBS1.274.970601905
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y TEST.326.976211663
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y SYSTEM.272.970601831
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y SYSAUX.273.970601881
DATAFILE UNPROT COARSE AUG 17 11:00:00 N JY.bak = +DATA/ASM/DATAFILE/JY.bak.453.984396007
DATAFILE UNPROT COARSE AUG 17 11:00:00 Y JY.331.976296525
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y USERS.261.970598319
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y UNDOTBS1.260.970598319
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y SYSTEM.258.970598233
DATAFILE UNPROT COARSE MAR 12 18:00:00 Y SYSAUX.259.970598293
将 +data/cs/datafile/JY.331.976296525 文件从磁盘组中复制到远程 ASM 实例的磁盘组中
ASMCMD [+] cp +data/cs/datafile/JY.331.976296525 sys@10.138.130.175.+ASM1:+TEST/JY.bak
Enter password: ***********
copying +data/cs/datafile/JY.331.976296525 - 10.138.130.175:+TEST/JY.bak
ASMCMD [+test] ls -lt
Type Redund Striped Time Sys Name
N rman_backup/
N arch/
Y JY/
Y DUP/
Y CS_DG/
Y ASM/
DATAFILE MIRROR COARSE AUG 17 16:00:00 N JY.bak = +TEST/ASM/DATAFILE/JY.bak.342.984413875
将 +data/cs/datafile/JY.331.976296525 文件从磁盘组中复制到远程 ASM 实例所在服务器的操作系统中
ASMCMD [+] cp +data/cs/datafile/JY.331.976296525 sys@10.138.130.175.+ASM1:/home/grid/JY.bak
Enter password: ***********
copying +data/cs/datafile/JY.331.976296525 - 10.138.130.175:/home/grid/JY.bak
[grid@jytest1 ~]$ ls -lrt
-rw-r----- 1 grid oinstall 104865792 Aug 17 16:21 JY.bak
使用 asmcmd cp 命令比使用 dbms_file_transfer 来方便些。
看完了这篇文章,相信你对“Oracle ASM 如何使用 asmcmd 中的 cp 命令来执行远程复制”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!