轉淘寶流雲dbms_file_transfer package usage
2008年05月14日
利用DBMS_FILE_TRANSFER傳輸資料庫檔案
作者:流雲 | 【轉載時請務必以超連結形式標明文章原始出處和作者資訊及本宣告】
地址:http://rdc.taobao.com/blog/dba/html/146_dbms-file-transfer.html
從Oracle 10g開始,Oracle提供了DBMS_FILE_TRANSFER這麼一個程式包,可以方便地在本地資料庫和遠端資料庫,ASM和檔案系統間傳輸資料庫檔案。這樣資料庫檔案的傳輸就方便了許多,尤其是在傳輸基於ASM儲存的資料檔案時,不再侷限於利用RMAN來進行傳輸。下面介紹一下這個包的用法。
DBMS_FILE_TRANSFER包一共包含了3個儲存過程,分別提供本機之間、本機從遠端主機抓取以及本機上傳至遠端主機三種傳輸資料庫檔案的功能。要求傳輸使用者有對源目錄讀和對目標目錄寫的許可權,單個資料庫檔案必須是512位元組的整數倍並且檔案大小必須小於或者等於2TB。
1、COPY_FILE。可以在資料庫本機的檔案系統之間,ASM磁碟組之間或者檔案系統和ASM磁碟組之間方便地傳輸資料庫檔案。
DBMS_FILE_TRANSFER.COPY_FILE(
source_directory_object IN VARCHAR2,–源目錄
source_file_name IN VARCHAR2,–原始檔名
destination_directory_object IN VARCHAR2,–目標目錄
destination_file_name IN VARCHAR2);–目標檔名
SQL> create directory data as ‘+DATA/HELLODB/DATAFILE’;
SQL> create directory test as ‘+TEST/HELLODB/DATAFILE’;
SQL> exec DBMS_FILE_TRANSFER.PUT_FILE(’DATA’,’system.286.650339101′, ‘TEST’,’system.dbf’)
ASMCMD> ls -a
+TEST/HELLODB/DATAFILE/system.dbf => COPY_FILE.256.654701983
2、GET_FILE。從遠端資料庫讀取資料庫檔案並在本機的檔案系統或者ASM磁碟組上建立一份複製檔案。
DBMS_FILE_TRANSFER.GET_FILE(
source_directory_object IN VARCHAR2,
source_file_name IN VARCHAR2,
source_database IN VARCHAR2, –到遠端資料庫的db link名
destination_directory_object IN VARCHAR2,
destination_file_name IN VARCHAR2);
begin
DBMS_FILE_TRANSFER.GET_FILE(’DATA’,’system.286.650339101′, ‘lnk_test’,’TEST1′,’system.dbf’);
end;
/
3、PUT_FILE。在本地資料庫將資料庫檔案傳輸至遠端資料庫的檔案系統或者ASM磁碟組。
DBMS_FILE_TRANSFER.PUT_FILE(
source_directory_object IN VARCHAR2,
source_file_name IN VARCHAR2,
destination_directory_object IN VARCHAR2,
destination_file_name IN VARCHAR2,
destination_database IN VARCHAR2); –到目標資料庫的db link名
begin
DBMS_FILE_TRANSFER.COPY_FILE(’DATA’,’system.286.650339101′, ‘TEST2′,’system.dbf’, ‘lnk_test’);
end;
/
利用DBMS_FILE_TRANSFER傳輸資料庫檔案
作者:流雲 | 【轉載時請務必以超連結形式標明文章原始出處和作者資訊及本宣告】
地址:http://rdc.taobao.com/blog/dba/html/146_dbms-file-transfer.html
從Oracle 10g開始,Oracle提供了DBMS_FILE_TRANSFER這麼一個程式包,可以方便地在本地資料庫和遠端資料庫,ASM和檔案系統間傳輸資料庫檔案。這樣資料庫檔案的傳輸就方便了許多,尤其是在傳輸基於ASM儲存的資料檔案時,不再侷限於利用RMAN來進行傳輸。下面介紹一下這個包的用法。
DBMS_FILE_TRANSFER包一共包含了3個儲存過程,分別提供本機之間、本機從遠端主機抓取以及本機上傳至遠端主機三種傳輸資料庫檔案的功能。要求傳輸使用者有對源目錄讀和對目標目錄寫的許可權,單個資料庫檔案必須是512位元組的整數倍並且檔案大小必須小於或者等於2TB。
1、COPY_FILE。可以在資料庫本機的檔案系統之間,ASM磁碟組之間或者檔案系統和ASM磁碟組之間方便地傳輸資料庫檔案。
DBMS_FILE_TRANSFER.COPY_FILE(
source_directory_object IN VARCHAR2,–源目錄
source_file_name IN VARCHAR2,–原始檔名
destination_directory_object IN VARCHAR2,–目標目錄
destination_file_name IN VARCHAR2);–目標檔名
SQL> create directory data as ‘+DATA/HELLODB/DATAFILE’;
SQL> create directory test as ‘+TEST/HELLODB/DATAFILE’;
SQL> exec DBMS_FILE_TRANSFER.PUT_FILE(’DATA’,’system.286.650339101′, ‘TEST’,’system.dbf’)
ASMCMD> ls -a
+TEST/HELLODB/DATAFILE/system.dbf => COPY_FILE.256.654701983
2、GET_FILE。從遠端資料庫讀取資料庫檔案並在本機的檔案系統或者ASM磁碟組上建立一份複製檔案。
DBMS_FILE_TRANSFER.GET_FILE(
source_directory_object IN VARCHAR2,
source_file_name IN VARCHAR2,
source_database IN VARCHAR2, –到遠端資料庫的db link名
destination_directory_object IN VARCHAR2,
destination_file_name IN VARCHAR2);
begin
DBMS_FILE_TRANSFER.GET_FILE(’DATA’,’system.286.650339101′, ‘lnk_test’,’TEST1′,’system.dbf’);
end;
/
3、PUT_FILE。在本地資料庫將資料庫檔案傳輸至遠端資料庫的檔案系統或者ASM磁碟組。
DBMS_FILE_TRANSFER.PUT_FILE(
source_directory_object IN VARCHAR2,
source_file_name IN VARCHAR2,
destination_directory_object IN VARCHAR2,
destination_file_name IN VARCHAR2,
destination_database IN VARCHAR2); –到目標資料庫的db link名
begin
DBMS_FILE_TRANSFER.COPY_FILE(’DATA’,’system.286.650339101′, ‘TEST2′,’system.dbf’, ‘lnk_test’);
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-350564/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DBMS_FILE_TRANSFER Package in Oracle Database 10gPackageOracleDatabase
- 【流雲】利用DBMS_FILE_TRANSFER傳輸資料庫檔案資料庫
- 【流雲 】使用DBMS_FILE_TRANSFER配置DATA GURAD和克隆資料庫資料庫
- DBMS_FILE_TRANSFER package which provides an API for copying binary files between database serversPackageIDEAPIDatabaseServer
- 如何判斷是否得到"android.permission.PACKAGE_USAGE_STATS"許可權AndroidPackage
- Package and ClassPath (轉)Package
- Package Specification 和 Package Body 及 Package有什麼區別? (轉)Package
- 使用dbms_file_transfer轉換ASM檔案ASM
- Java_util_package(轉)JavaPackage
- dnsjava usageDNSJava
- package management的基本概念(轉)Package
- 阿里雲IoT流轉到postgresql資料庫方案阿里SQL資料庫
- 轉換流與列印流
- 8、IO流:轉換流
- costume GIT usage for meGit
- solaris 10 disksuite usageUI
- table type usage sample:
- 流------緩衝流、轉換流、序列化流、列印流
- Google 宣佈將 Istio 商標轉移給 Open Usage Commons | 雲原生生態週報 Vol. 57Go
- not an rpm package (or package manifest):Package
- not an rpm package (or package manifest)Package
- 轉換流
- packagePackage
- [Oracle Script] Temporary Sort UsageOracle
- [Oracle Script] Rollback Segment UsageOracle
- BlockRecover Restrictions and Usage NotesBloCREST
- Clear Case usage tips
- Oracle runInstaller 's UsageOracle
- Oracle NUMA usage recommendationOracle
- MySQL, Incorrect usage of UNION and ORDER BYMySql
- Oracle 12C xtts and dbms_file_transferOracleTTS
- Migrate database to Exadata with DBMS_FILE_TRANSFERDatabase
- Java —— 轉換流Java
- 深入安卓Package Manager和Package Installer安卓Package
- IO流(02)--屬性集、緩衝流、轉換流
- 建立packagePackage
- [Oracle Script] check tablespace usage infoOracle
- [Oracle Script] check temp tablespace usageOracle