中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle 從ASM復制文件到文件系統

發布時間:2020-07-24 09:33:06 來源:網絡 閱讀:1430 作者:hbxztc 欄目:數據庫

工作中,有時需要把文件從ASM中復制到文件系統中或者反過來,做一些維護操作,本文介紹了4種復制文件的的方法:

  • ASMCMD中的cp命令(11g)

  • dbms_file_transfer包

  • rman的convert或backup as copy

  • FTP

下面分別介紹這4種方法

1、ASMCMD中的cp命令(11g)

cp命令是11g新增的命令,使用它可以輕松的把文件從ASM中復制到文件系統中或者反過來。還可以把ASM中的文件復制到網絡上的其他服務器的文件系統中。

#從ASM復制到文件系統
[grid@rac1 ~]$ asmcmd -p
ASMCMD [+] > cd data
ASMCMD [+data] > cd orcl
ASMCMD [+data/orcl] > cd datafile
ASMCMD [+data/orcl/datafile] > ls
SYSAUX.257.925306091
SYSTEM.256.925306089
UNDOTBS1.258.925306091
UNDOTBS2.264.925306377
USERS.259.925306091
ASMCMD [+data/orcl/datafile] > ls -l
Type      Redund  Striped  Time             Sys  Name
DATAFILE  UNPROT  COARSE   MAY 21 11:00:00  Y    SYSAUX.257.925306091
DATAFILE  UNPROT  COARSE   MAY 21 11:00:00  Y    SYSTEM.256.925306089
DATAFILE  UNPROT  COARSE   MAY 21 11:00:00  Y    UNDOTBS1.258.925306091
DATAFILE  UNPROT  COARSE   MAY 21 11:00:00  Y    UNDOTBS2.264.925306377
DATAFILE  UNPROT  COARSE   MAY 21 11:00:00  Y    USERS.259.925306091
ASMCMD [+data/orcl/datafile] > cp USERS.259.925306091 /home/grid/users.dbf
copying +data/orcl/datafile/USERS.259.925306091 -> /home/grid/users.dbf
ASMCMD [+data/orcl/datafile] >
#查看復制結果
[grid@rac1 ~]$ ll /home/grid/users.dbf 
-rw-r-----. 1 grid oinstall 5251072 May 21 15:20 /home/grid/users.dbf

#從文件系統復制到ASM
ASMCMD [+data/orcl/datafile] > cp /home/grid/users.dbf +data/orcl
copying /home/grid/users.dbf -> +data/orcl/users.dbf
#查看復制結果
ASMCMD [+data/orcl/datafile] > cd +data/orcl
ASMCMD [+data/orcl] > ls -l
Type           Redund  Striped  Time             Sys  Name
                                                 Y    ARCHIVELOG/
                                                 Y    CONTROLFILE/
                                                 Y    DATAFILE/
                                                 Y    ONLINELOG/
                                                 Y    PARAMETERFILE/
                                                 Y    TEMPFILE/
                                                 N    spfileorcl.ora => +DATA/ORCL/PARAMETERFILE/spfile.268.925423909
                                                 N    users.dbf => +DATA/ASM/DATAFILE/users.dbf.271.944580085

cp的詳細使用情況可以使用help cp命令獲得。

如果ASM的版本是11g以前的版本可以使用如下三種方法復制文件。

2、dbms_file_transfer包

這個包是從Oracle 9不開始提供的,利用這個包可以在兩個位置之間傳輸文件,這兩個位置可以是同一臺計算機或者網絡上的兩臺計算機。Oracle10g擴展了這個包的功能,可以完成從一個ASM Diskgroup拷貝到另一個ASM Diskgroup、從ASM Diskgroup拷貝到普通文件系統、從普通文件系統拷貝到ASM Diskgroup、從文件系統拷貝到文件系統或者RAW Device。這個包提供了3個方法,可以完成不同的任務。

   方法                                                     功能說明
copy_file完成文件從本地一個目錄拷貝到本地的另一個目錄,這個方法不能完成遠程傳輸
get_file這個方法完成把遠程的文件拷貝到本地的目錄中,類似于下載
put_file這個方法完成本地文件傳送到遠程的目的,類似于上傳

使用方法:

#創建目錄
SQL> create directory asm_dir as '+data/ASM/DATAFILE/';

Directory created.

SQL> create directory os_dir as '/home/oracle';

Directory created.
#執行復制
SQL> exec dbms_file_transfer.copy_file('asm_dir','user2.dbf.272.944581345','os_dir','user.dbf');

PL/SQL procedure successfully completed.

#驗證復制結果
[oracle@rac1 ~]$ ls -l /home/oracle/user.dbf
-rw-r-----. 1 oracle asmadmin 5251072 May 21 15:49 /home/oracle/user.dbf

#進行反向復制
SQL> exec dbms_file_transfer.copy_file('os_dir','user.dbf','asm_dir','user2.dbf');

PL/SQL procedure successfully completed.

#驗證

ASMCMD [+data/ASM/DATAFILE] > ls -l
Type      Redund  Striped  Time             Sys  Name
                                            N    user2.dbf => +DATA/ORCL/DATAFILE/COPY_FILE.273.944581883

3、rman的convert和backup as copy命令

3.1 convert命令

convert命令是用于對數據文件進行字節格式轉換的。Oracle可以在不同OS平臺間進行表空間傳(TTS),如果兩個平臺的字節格式不一致,則需要參數據文件進行格式轉換,這個轉換可以 在源數據庫進行,也可以在目的數據庫中執行。如果在源數據庫中執行,則需要使用convert tablespace命令,如果在目的數據庫中執行,則需要使用convert datafile命令。

雖然convert這個命令主要用于跨平臺傳輸表空間,它也可以完成ASM和本地文件系統間拷貝文件,并且也是很簡單的一種方法。

#使用convert datafile從ASM復制到文件系統
RMAN> convert datafile '+data/orcl/datafile/USERS.259.925306091' format '/home/oracle/user3.dbf';

Starting conversion at target at 21-MAY-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile conversion
input file name=+DATA/orcl/datafile/users.259.925306091
converted datafile=/home/oracle/user3.dbf
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
Finished conversion at target at 21-MAY-17

#驗證
[oracle@rac1 ~]$ ls -l /home/oracle/user3.dbf
-rw-r-----. 1 oracle asmadmin 5251072 May 21 16:00 /home/oracle/user3.dbf

#使用convert tablespace,使用時需要把users表空間置為只讀
RMAN> sql 'alter tablespace users read only';

using target database control file instead of recovery catalog
sql statement: alter tablespace users read only

RMAN> convert tablespace users format '/home/oracle/users%U.dbf';

Starting conversion at source at 21-MAY-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=81 instance=orcl1 device type=DISK
channel ORA_DISK_1: starting datafile conversion
input datafile file number=00004 name=+DATA/orcl/datafile/users.259.925306091
converted datafile=/home/oracle/usersdata_D-ORCL_I-1453086940_TS-USERS_FNO-4_0ns4qbtn.dbf
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
Finished conversion at source at 21-MAY-17

#驗證
[oracle@rac1 ~]$ ll /home/oracle/usersdata_D-ORCL_I-1453086940_TS-USERS_FNO-4_0ns4qbtn.dbf
-rw-r-----. 1 oracle asmadmin 5251072 May 21 16:03 /home/oracle/usersdata_D-ORCL_I-1453086940_TS-USERS_FNO-4_0ns4qbtn.dbf

#從文件系統拷貝到ASM
RMAN> convert datafile '/home/oracle/user3.dbf','/home/oracle/usersdata_D-ORCL_I-1453086940_TS-USERS_FNO-4_0ns4qbtn.dbf' format '+data';

Starting conversion at target at 21-MAY-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=64 instance=orcl1 device type=DISK
channel ORA_DISK_1: starting datafile conversion
input file name=/home/oracle/user3.dbf
converted datafile=+DATA/orcl/datafile/users.274.944582713
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
channel ORA_DISK_1: starting datafile conversion
input file name=/home/oracle/usersdata_D-ORCL_I-1453086940_TS-USERS_FNO-4_0ns4qbtn.dbf
converted datafile=+DATA/orcl/datafile/users.275.944582713
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01
Finished conversion at target at 21-MAY-17
#從日志中看出轉換的文件名
#converted datafile=+DATA/orcl/datafile/users.274.944582713
#converted datafile=+DATA/orcl/datafile/users.274.944582713

3.2 backup as copy命令

backup as copy命令是以鏡像的方式對文件進行備份,自然可以把文件從ASM復制到文件系統中。這也是從文件系統遷移到ASM時可以選擇的方法之一。

#執行復制
RMAN> backup as copy datafile '+DATA/orcl/datafile/users.259.925306091' format '/home/oracle/user4.dbf';

Starting backup at 21-MAY-17
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=69 instance=orcl1 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00004 name=+DATA/orcl/datafile/users.259.925306091
output file name=/home/oracle/user4.dbf tag=TAG20170521T161225 RECID=17 STAMP=944583145
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 21-MAY-17

#驗證
[oracle@rac1 ~]$ ls -l /home/oracle/user4.dbf 
-rw-r-----. 1 oracle asmadmin 5251072 May 21 16:12 /home/oracle/user4.dbf

4.FTP方法

FTP方法可以像庫中復制使用傳統文件傳輸協議(FTP)對普通文件執行常規操作那樣,對ASM文件和目錄執行操作。通過這種方式訪問ASM文件的典型應用是從一個數據庫向另一個數據庫中復制ASM文件。需要XML DB支持,配置起來最麻煩,有興趣的同學可以參考《Oracle Database 11g RAC手冊原書第2版》或官方文檔:http://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfiles.htm#BABJCCEI



參考《大話Oracle RAC》

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

堆龙德庆县| 吐鲁番市| 丰台区| 莫力| 乌恰县| 商南县| 北流市| 贞丰县| 新野县| 乌拉特中旗| 达孜县| 万源市| 永修县| 尼玛县| 银川市| 新余市| 万盛区| 无棣县| 昆明市| 疏勒县| 花莲市| 紫云| 晋宁县| 榆中县| 合川市| 汉川市| 凤凰县| 民权县| 城市| 仁怀市| 茌平县| 辉南县| 乌兰县| 桂东县| 建平县| 嘉峪关市| 六盘水市| 池州市| 威海市| 红桥区| 潜山县|