Oracle 10g使用DBMS_FILE_TRANSFER包在ASM和作業系統之間拷貝檔案
DBMS_FILE_TRANSFER是Oracle用於ASM和作業系統之間拷貝檔案的包,不要小看這個包(當然在11g中有很多增強,或許這個包就顯得沒那麼有用了),這個包的存在使得使用者可以在不離開SQLPLUS就可以執行作業系統中才能執行的copy命令,而且可以通過包的呼叫實現在ASM和作業系統之間拷貝檔案。有了這個包,可以在兩個Oracle伺服器直接通過資料庫鏈的方式拷貝2進位制檔案,雖然對檔案的大小有一定的要求,必須是512位元組的整數倍,必須小於2T位元組。但是對於絕大部分Oracle處理的檔案都滿足這個要求。使用這個包,可以實現資料庫在遠端伺服器上備份,也可以實現將包含BFILE型別的表,連同作業系統上對應的二進位制檔案一同複製到遠端資料庫中。
這裡先簡單介紹一下COPY_FILE過程。COPY_FILE過程用於在本地伺服器上拷貝檔案,這個過程的最大用處在於可以在ASM和作業系統之間拷貝檔案。
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期六 3月 7 01:41:17 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> col directory_path format a50
SQL> select directory_name, directory_path from dba_directories;
DIRECTORY_NAME DIRECTORY_PATH
------------------ --------------------------------------------------
D_OUTPUT /export/home/oracle
D_TEST /data1
D_DIR_FOR_GETDBID +DISK/testrac/datafile
WORK_DIR /data/oracle/product/10.2/database/work
D_DMPDP /data
ADMIN_DIR /data/oracle/product/10.2/database/md/admin
DATA_PUMP_DIR /data/oracle/product/10.2/database/rdbms/log/
已選擇7行。
SQL> show parameter spfile
NAME TYPE VALUE
--------- ----------- ------------------------------
spfile string +DISK/testrac/spfiletestrac.ora
SQL> create directory d_asm_spfile as '+DISK/testrac';
目錄已建立。
SQL> exec dbms_file_transfer.copy_file('D_ASM_SPFILE', 'spfiletestrac.ora', 'D_OUTPUT', 'spfiletestrac.ora')
PL/SQL 過程已成功完成。
SQL> host
$ ls -l /export/home/oracle/spfile*.ora
-rw-r----- 1 oracle oinstall 8704 Mar 7 01:44 /export/home/oracle/spfiletestrac.ora
當然這個過程也可以用於作業系統上拷貝檔案,或在ASM中拷貝檔案。
這裡先簡單介紹一下COPY_FILE過程。COPY_FILE過程用於在本地伺服器上拷貝檔案,這個過程的最大用處在於可以在ASM和作業系統之間拷貝檔案。
bash-2.03$ sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期六 3月 7 01:41:17 2009
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
連線到:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> col directory_path format a50
SQL> select directory_name, directory_path from dba_directories;
DIRECTORY_NAME DIRECTORY_PATH
------------------ --------------------------------------------------
D_OUTPUT /export/home/oracle
D_TEST /data1
D_DIR_FOR_GETDBID +DISK/testrac/datafile
WORK_DIR /data/oracle/product/10.2/database/work
D_DMPDP /data
ADMIN_DIR /data/oracle/product/10.2/database/md/admin
DATA_PUMP_DIR /data/oracle/product/10.2/database/rdbms/log/
已選擇7行。
SQL> show parameter spfile
NAME TYPE VALUE
--------- ----------- ------------------------------
spfile string +DISK/testrac/spfiletestrac.ora
SQL> create directory d_asm_spfile as '+DISK/testrac';
目錄已建立。
SQL> exec dbms_file_transfer.copy_file('D_ASM_SPFILE', 'spfiletestrac.ora', 'D_OUTPUT', 'spfiletestrac.ora')
PL/SQL 過程已成功完成。
SQL> host
$ ls -l /export/home/oracle/spfile*.ora
-rw-r----- 1 oracle oinstall 8704 Mar 7 01:44 /export/home/oracle/spfiletestrac.ora
當然這個過程也可以用於作業系統上拷貝檔案,或在ASM中拷貝檔案。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24930246/viewspace-1064447/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN在ASM和檔案系統之間拷貝資料ASM
- asm拷貝檔案到檔案系統ASM
- 在不同主機的ASM之間拷貝檔案ASM
- 【ASM學習】從ASM拷貝檔案的方法ASM
- 使用shell指令碼及asm cp或RMAN copy批量將資料檔案從ASM拷貝到檔案系統指令碼ASM
- ASM與檔案系統之間copy資料檔案--檔案系統到ASMASM
- 使用RMAN在ASM和檔案系統之間複製資料ASM
- 使用dbms_file_transfer轉換ASM檔案ASM
- xtts from檔案系統到ASM儲存(dbms_file_transfer)TTSASM
- [java IO流]之檔案拷貝Java
- 使用dbms_file_transfer從asm中抽取檔案ASM
- JavaScript之深拷貝和淺拷貝JavaScript
- js之淺拷貝和深拷貝JS
- IOCP 檔案拷貝
- 使用expect指令碼SCP拷貝檔案指令碼
- Oracle 10g 將ASM內容複製至檔案系統Oracle 10gASM
- 11g中節點間拷貝檔案
- IO流-檔案拷貝
- 檔案內容拷貝
- Java IO 流之拷貝(複製)檔案Java
- [zt] ORACLE 10g中ASMCMD使用及ASM檔案Oracle 10gASM
- 10G下從ASM複製檔案到檔案系統ASM
- 使用UltraEdit 拷貝二進位制檔案
- Golang命令列拷貝檔案Golang命令列
- 作業系統——裝置驅動和檔案系統作業系統
- 定時拷貝加時間維的檔案和定時刪除過期檔案
- python深拷貝和淺拷貝之簡單分析Python
- [20170220]快速拷貝檔案在linux磁碟之間Linux
- 使用rman在oracle ASM磁碟組之間移動資料檔案OracleASM
- 原型模式(傳統方式,淺拷貝和深拷貝)原型模式
- iOS深拷貝和淺拷貝iOS
- Java深拷貝和淺拷貝Java
- 物件深拷貝和淺拷貝物件
- JavaScript 深度拷貝和淺拷貝JavaScript
- JavaScript深拷貝和淺拷貝JavaScript
- js 淺拷貝和深拷貝JS
- js 深拷貝和淺拷貝JS
- JavaScript淺拷貝和深拷貝JavaScript