oracle資料泵備份(Expdp命令)[轉]

來源:互聯網
上載者:User

標籤:style   blog   http   color   io   os   使用   ar   strong   

  Oracle備份方式主要分為資料泵匯出備份、熱備份與冷備份三種,今天首先來實踐一下資料泵備份與還原。資料泵匯出/匯入屬於邏輯備份,熱備份與冷備份都屬於物理備份。oracle10g開始推出了資料泵(expdp/impdp),可以使用並行參數選項,因此,相對於傳統的exp命令來說,執行效率更高。

  一、知曉expdp命令

C:\>expdp -help Export: Release 11.1.0.7.0 - Production on 星期六, 28 9月, 2013 10:21:52 Copyright (c) 2003, 2007, Oracle.  All rights reserved. 資料泵匯出公用程式提供了一種用於在 Oracle 資料庫之間傳輸資料對象的機制。該公用程式可以使用以下命令進行調用: 樣本: expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制匯出的運行方式。具體方法是: 在 ‘expdp‘ 命令後輸入各種參數。要指定各參數, 請使用關鍵字:    格式: expdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)    樣本: expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=scot         或 TABLES=(T1:P1,T1:P2), 如果 T1 是分區表 USERID 必須是命令列中的第一個參數。 關鍵字               說明 (預設) --------------------------------------------------------------------------- ATTACH                串連到現有作業, 例如 ATTACH [=作業名]。 COMPRESSION           減小轉儲檔案內容的大小, 其中有效關鍵字  值為: ALL, (METADATA_ONLY), DATA_ONLY 和 NONE。 CONTENT              <SPAN style="COLOR: #ff0000"> 指定要卸載的資料, 其中有效關鍵字  值為: (ALL), DATA_ONLY 和 METADATA_ONLY。</SPAN>  --預設值為ALL                     DATA_OPTIONS          資料層標記, 其中唯一有效值為: 使用CLOB格式的 XML_CLOBS-write XML 資料類型 DIRECTORY             <SPAN style="COLOR: #ff0000">供轉儲檔案和記錄檔使用的目錄對象</SPAN>。 DUMPFILE              <SPAN style="COLOR: #ff0000">目標轉儲檔案 (expdat.dmp) 的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d </SPAN>ENCRYPTION            <SPAN style="COLOR: #ff0000">加密部分或全部轉儲檔案, 其中有效關鍵字值為: ALL, DATA_ONLY, METADATA_ONLY,ENCRYPTED_COLUMNS_ONLY 或 NONE。</SPAN> ENCRYPTION_ALGORITHM  指定應如何完成加密, 其中有效關鍵字值為: (AES128), AES192 和 AES256。 ENCRYPTION_MODE       產生加密金鑰的方法, 其中有效關鍵字值為: DUAL, PASSWORD 和 (TRANSPARENT)。 ENCRYPTION_PASSWORD   用於建立加密列資料的口令關鍵字。 ESTIMATE              計算作業估計值, 其中有效關鍵字值為: (BLOCKS) 和 STATISTICSESTIMATE_ONLY         在不執行匯出的情況下計算作業估計值。 EXCLUDE               <SPAN style="COLOR: #ff0000">排除特定的物件類型, 例如 EXCLUDE=TABLE:EMP。--EXCLUDE=[object_type]:[name_clause],[object_type]:[name_clause]<BR></SPAN>FILESIZE              以位元組為單位指定每個轉儲檔案的大小。 FLASHBACK_SCN         用於將會話快照設定回以前狀態的 SCN。 --指定匯出特定SCN時刻的表資料<BR>FLASHBACK_TIME        用於擷取最接近指定時間的 SCN 的時間。--指定匯出特定時間點的表資料,注意FLASHBACK_SCN和FLASHBACK_TIME不能同時使用<BR>FULL                  <SPAN style="COLOR: #ff0000">匯出整個資料庫 (N)。</SPAN> HELP                  顯示協助訊息 (N)。 INCLUDE               包括特定的物件類型, 例如 INCLUDE=TABLE_DATA。 JOB_NAME              要建立的匯出作業的名稱。 LOGFILE               <SPAN style="COLOR: #ff0000">記錄檔名 (export.log)。 </SPAN>NETWORK_LINK          連結到源系統的遠端資料庫的名稱。 NOLOGFILE             不寫入記錄檔 (N)。 PARALLEL              <SPAN style="COLOR: #ff0000">更改當前作業的活動 worker 的數目。</SPAN> PARFILE               <SPAN style="COLOR: #ff0000">指定參數檔案</SPAN>。 QUERY                 <SPAN style="COLOR: #ff0000">用於匯出表的子集的謂詞子句。--</SPAN>QUERY = [schema.][table_name:] query_clause<BR>REMAP_DATA            <SPAN style="COLOR: #ff0000">指定資料轉換函式,例如 REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO。 </SPAN>REUSE_DUMPFILES       覆蓋目標轉儲檔案 (如果檔案存在) (N)。 SAMPLE               <SPAN style="COLOR: #ff0000"> 要匯出的資料的百分比; </SPAN>SCHEMAS               <SPAN style="COLOR: #ff0000">要匯出的方案的列表 (登入方案)。 </SPAN>STATUS                在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。 TABLES                <SPAN style="COLOR: #ff0000">標識要匯出的表的列表 - 只有一個方案。--[schema_name.]table_name[:partition_name][,…]<BR></SPAN>TABLESPACES          <SPAN style="COLOR: #ff0000"> 標識要匯出的資料表空間的列表。 </SPAN>TRANSPORTABLE         指定是否可以使用可傳輸方法, 其中有效關鍵字值為: ALWAYS, (NEVER)。 TRANSPORT_FULL_CHECK  驗證所有表的儲存段 (N)。 TRANSPORT_TABLESPACES 要從中卸載中繼資料的資料表空間的列表。 VERSION               <SPAN style="COLOR: #ff0000">要匯出的對象的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效資料庫版本。 </SPAN><BR>下列命令在互動模式下有效。 注: 允許使用縮寫 命令               說明 --------------------------------------------------------------------------- ADD_FILE              向轉儲檔案集中添加轉儲檔案。 CONTINUE_CLIENT       返回到記錄模式。如果處於空閑狀態, 將重新啟動作業。 EXIT_CLIENT           退出客戶機會話並使作業處於運行狀態。 FILESIZE              後續 ADD_FILE 命令的預設檔案大小 (位元組)。 HELP                  總結互動命令。 KILL_JOB              分離和刪除作業。 PARALLEL              更改當前作業的活動 worker 的數目。PARALLEL=<worker 的數目>。                     <BR>REUSE_DUMPFILES       覆蓋目標轉儲檔案 (如果檔案存在) (N)。 START_JOB             啟動/恢複當前作業。 STATUS                在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。STATUS[=interval] STOP_JOB              順序關閉執行的作業並退出客戶機。STOP_JOB=IMMEDIATE 將立即關閉資料泵作業。 <BR><SPAN style="COLOR: #ff0000">備忘:紅顏色標記的字型,表示是expdp命令常用的命令選項,這個需要大家掌握理解並能靈活運用。()括弧括起來的代表是expdp命令的預設選項</SPAN>

 二、準備工作

  1、查詢路徑資訊

   查看已經建立的路徑資訊:

    SELECT * FROM dba_directories;

  2、建立路徑

  建立路徑需要sys許可權,需要有create any directory許可權才可以建立路徑。

  選項:DIRECTORY=directory_object

  Directory_object用於指定目錄對象名稱。需要注意,目錄對象是使用CREATE DIRECTORY語句建立的對象,而不是OS目錄。

  eg: CREATE OR REPLACE directory backup_path AS ‘D:\APP\ORADATA\db_backup‘; --建立路徑名為dackup_path的路徑,並指向硬碟的指定位置

  對新建立的路徑進行授權操作:

  eg:grant read,write on directory backup_path to orcldev; --將對路徑的讀寫權限分配各orcldev使用者。

 三、操作執行個體

  執行expdp和impdp命令需要擁有exp_full_database和imp_full_database許可權,授權語句如下:

  eg:grant exp_full_database,imp_full_database to orcldev;

   1、匯出orcldev這個schema的所用對象[schemas or full]

   eg:expdp orcldev/[email protected] directory=backup_path dumpfile=orcldev_schema.dmp logfile=orcldev_schema_2013.log schemas=orcldev

   2、匯出orcldev這個使用者下的某些表[tables]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_table.dmp logfile=orcldev_table_2013.log tables=(‘TAB_TEST‘,‘TAB_A‘)

   3、只匯出orcldev這個使用者的中繼資料[content]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_meta.dmp logfile=orcldev_meta_2013.log     

      SCHEMAS=orcldev CONTENT=METADATA_ONLY

    4、只匯出orcldev這個使用者50%的抽樣資料[sample]

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_samp.dmp logfile=orcldev_samp_2013.log schemas=orcldev sample=50

    5、採用並行方式備份整庫[parallel]

    parallel參數只有在oracle10g之後的版本(包含10g)有效。

    oracle_online:you can use the DUMPFILE parameter during export operations to specify multiple dump files, by using a substitution variable (%U) in the filename. This is called a dump file template. The new dump files are created as they are needed, beginning with 01 for %U, then using 02,03,and so on.

   eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_parallel_%U.dmp logfile=orcldev_parallel_2013.log parallel=4

    "%U"表示自動產生遞增的序號。

   6、匯出orcldev這個方案對象,但不包含索引[exclude]

   eg: --可以剔除的對象有:VIEW,PACKAGE,FUNCTION,index,constraints,table,schema,user等等

    1) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldev EXCLUDE=index

    2) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log SCHEMAS=orcldev EXCLUDE=INDEX:"LIKE ‘TEST%‘"   --匯出這個orcldev方案,剔除以TEST開頭的索引

    3) C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log EXCLUDE=SCHEMA:"=‘SCOTT‘"

    C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_exclude.dmp logfile=orcldev_exclude.log EXCLUDE=USER:"=‘SCOTT‘"

        --備份整庫但剔除SCOTT這個使用者的對象。  

   注意:include與exclude不能同時使用。

    7、PARFILE選項

    expdp命令可以調用parfile檔案,在parfile裡可以寫備份指令碼,可以使用query選項。

    Oracle highly recommends that you place QUERY specifications in a parameter file; otherwise, you might have to use operating system-specific escape characters on the command line before each quotation mark.

    如expdp.txt 內容如下:

        USERID=orcldev/oracle directory=dackup_path dumpfile=orcldev_parfile.dmp logfile=orcldev_parfile.log TABLES=‘TAB_TEST‘ QUERY="WHERE TRAN_DATE=TO_DATE(‘2013-08-31‘,‘YYYY-MM-DD‘)"

    執行方法:expdp parfile=expdp.txt 即可執行備份

    使用parfile好處是使用query選項是不用使用逸出字元,如果將query參數放到外邊的話,需要將""進行轉義。

    eg:

    UNIX寫法:

    expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:\"IN \(\‘TEST_A\‘,\‘TEST_B\‘\)\" --在Unix系統執行是需要將單引號進行轉義操作,否則會報錯。

    WINDOWS寫法:

    expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log schemas=orcldev INCLUDE=TABLE:"IN \(‘TEST_A‘,‘TEST_B‘)"

   8、TABLESPACE匯出資料表空間

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log tablespaces=user,orcldev

     9、Version選項

    VERSION選項預設值是COMPATIBLE,即相容模式。在我們備份的時候,可以指定版本號碼。

    eg:expdp orcldev/oracle directory=backup_path dumpfile=2013.dmp logfile =2013.log full=Y VERSION=10.2.0.4

   10、FLASHBACK_TIME選項

    指定匯出特定時間點的表資料,可以聯絡一下FLASHBACK功能。

    eg:C:\>expdp orcldev/oracle directory=dackup_path dumpfile=orcldev_flash.dmp logfile=orcldev_flash.log SCHEMAS=orcldev   FLASHBACK_TIME="TO_TIMESTAMP(‘2013-09-28 14:30:00‘,‘DD-MM-YYYY HH24:MI:SS‘)"

  四、參考

      http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#i1007829

oracle資料泵備份(Expdp命令)[轉]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.