Oracle ASM使用asmcmd中的cp命令來執行遠端複製

eric0435發表於2018-08-17

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來方便些。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2200251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章