【恩墨學院】DBMS_FILE_TRANSFER為ASM的檔案傳輸提供了新的選擇
2017-08-03 蓋國強
編輯手記:從Oracle 10g開始,Oracle提供了DBMS_FILE_TRANSFER程式包,為本地資料庫和遠端資料庫間,ASM和檔案系統間傳輸資料庫檔案提供了新的選擇。Oracle內部的小小變化,往往給運維帶來極大的便利。本文揀選自《循序漸進Oracle》,我們再次回顧學習。
有了DBMS_FILE_TRANSFER,資料庫檔案的傳輸就方便了許多,尤其是在傳輸基於ASM儲存的資料檔案時,不再侷限於利用RMAN來進行傳輸,為我們提供了更多的選擇。
在使用DBMS_FILE_TRANSFER時一些注意事項:
1、DBMS_FILE_TRANSFER具備一定的限制,單個資料庫檔案必須是512位元組的整數倍並且檔案大小必須小於或者等於2TB,但是這基本上算不上什麼弱點,我們的絕大多數需求都可以被滿足。
2、DBMS_FILE_TRANSFER支援線上備份,如果傳輸正在被修改的檔案,很可能會導致檔案的不一致。這時候透過DBMS_FILE_TRANSFER傳輸的檔案要做recovery才能使用,為了保持一致性,建議將檔案offline再進行DBMS_FILE_TRANSFER傳輸。
3、如果利用DBMS_FILE_TRANSFER進行備份,建議自定義備份策略,並將檔案置於hot backup 模式。
4、對於檔案系統,傳輸的檔案可以是各種型別的檔案,但如果源端或者目標端是ASM儲存,則只能是資料庫檔案。
5、為了正常執行該程式包,執行使用者必須有以下許可權:
對source_directory_object引數指定的目錄物件有read許可權;對 destination_directory_object指定的目錄物件有write許可權
接下來我們一起來學習DBMS_FILE_TRANSFER 包的使用:
DBMS_FILE_TRANSFER 包一共包含了3個儲存過程,分別提供本機之間複製(COPY_FILE)、本機從遠端主機獲取(GET_FILE)以及本機上傳至遠端主機(PUT_FILE)三種傳輸資料庫檔案的功能。
以上過程的引數中,除了檔名稱外,最關鍵的是DIRECTORY目錄引數,這個目錄需要預先設定,並且要求傳輸使用者對相應的目錄具有讀或者寫的許可權。
看以下測試,首先透過asmcmd在DATADG下建立一個asmbk目錄:
然後在資料庫內部建立兩個DIRECTORY:
現在DBMS_FILE_TRANSFER就可以大顯身手,快速的幫助我們解決檔案傳輸的問題:
看一下ASM磁碟組上的內容,實際上檔案的位置是在DATAFILE下,asmbk下存放的是一個別名:
DBMS_FILE_TRANSFER包更強大的功能是基於網路的遠端PUT_FILE和COPY_FILE功能,這兩個功能透過db link實現。以下是一個簡單測試。
首先在遠端資料庫建立測試使用者及目錄,並進行授權:
接下來在本地資料庫配置tnsnames.ora檔案,並建立DB Link:
接下來就可以透過DB Link進行遠端的檔案操作了,PUT_FILE可以將檔案傳輸至遠端主機:
在遠端節點可以立刻檢查到這個檔案的存在:
進一步的,可以將遠端檔案讀取到本地:
本地ASM儲存中,馬上獲得了這個檔案:
而進一步的,將表空間置於熱備模式下,可以透過DBMS_FILE_TRANSFER包將資料庫熱備到遠端主機,甚至可以基於次來建立遠端的Dataguard資料庫,有時在資料庫巨大,備份恢復空間不足時,透過這種方式進行資料傳輸與備庫建立未嘗不是一種妙解:
DBMS_FILE_TRANSFER為我們提供了多一個選擇和靈活性,很多時候,Oracle的一個小小的增強如果能夠恰如其份的利用,就能夠發揮巨大的優勢。瞭解了Oracle的種種可能之後,我們才能夠靈活運用,如臂使指。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28530558/viewspace-2147043/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【恩墨學院】恩墨學院獲得Oracle WDP全國授權Oracle
- 為什麼選擇免費檔案共享方法上的託管檔案傳輸
- 墨者學院WebShell檔案上傳漏洞分析溯源Webshell
- 【恩墨學院】深入剖析 Group Replication核心的引擎特性
- 【恩墨學院】為什麼用盡了辦法你的系統效能還是不見改善?
- 【恩墨學院】5 分鐘帶你看懂 DockerDocker
- 4種傳輸協議設定,檔案傳輸協議如何選擇?協議
- 使用dbms_file_transfer轉換ASM檔案ASM
- 【流雲】利用DBMS_FILE_TRANSFER傳輸資料庫檔案資料庫
- 【恩墨學院】Oracle Redo的產生場景及最佳化Oracle Redo
- 【恩墨學院】如何理解並正確使用MySql索引MySql索引
- 使用dbms_file_transfer從asm中抽取檔案ASM
- 【恩墨學院】空與非空 EMPTY_LOB和NULL的區別Null
- 【恩墨學院】警示:一個專為AIX上12.1版本定製的Bug正在發生AI
- 有了大檔案傳輸加速功能,不再擔憂傳輸大檔案
- 【恩墨學院】走在專家的路上,每天一條SQL最佳化SQL
- 【恩墨學院】運維經驗:回滾段異常的特殊救急方法運維
- 【恩墨學院】深入剖析 - Oracle SCN機制詳細解讀Oracle
- 【恩墨學院】5分鐘速成Oracle 12.2 RAC 專家Oracle
- 【恩墨學院】一次由查詢轉換引起的效能問題的分析
- 大檔案如何傳輸,大檔案的傳輸方式有哪些?
- 【恩墨學院】深度學習在美團點評推薦平臺排序中的運用深度學習排序
- 【恩墨學院】原來銀行都在用這些資料庫資料庫
- 檔案傳輸協議的五種安全檔案傳輸替代方案協議
- scp傳輸檔案的命令
- 【恩墨學院】IT基礎架構變革在路上:青海移動的去“IE”之旅架構
- 【恩墨學院】從商用到開源:DB2遷移至MySQL的最佳實踐DB2MySql
- xtts from檔案系統到ASM儲存(dbms_file_transfer)TTSASM
- 企業如何選擇檔案傳輸軟體?曝光6招內行方法
- 鐳速傳輸:安全檔案傳輸的意義
- 如何快速傳輸大檔案:4 種大檔案傳輸有效的方法
- 什麼是檔案傳輸,介紹檔案傳輸的發展程式
- 大檔案傳輸軟體測評,看完就知道怎麼選了
- 【恩墨學院】美團點評資料庫高可用架構的演進與設想資料庫架構
- 【恩墨學院】深入剖析:關於cache buffers chains的經典案例處理詳解?AI
- TCP 可靠傳輸的實現-02超時重傳時間的選擇/03選擇確認 SACKTCP
- 揭秘|國內影視檔案傳輸的真相,跨境檔案傳輸更不簡單
- 鐳速傳輸升級,別再用Email和FTP傳輸檔案了AIFTP