初識EXPDP
EXPDP介紹
使用dump文件集導入數據和元數據的工具。dump文件集只能被IMPDP導入。dump文件集是由表數據,數據庫對象元數據,控制信息組成。由專用的二進制格式編寫。這些dump文件由server寫成,而不是client,所以必須有創建目錄對象去定義文件存放地址。比如
CREATE DIRECTORY lzl_dir AS ‘/home/oracle’; —創建目錄定義
GRANT READ, WRITE ON DIRECTORY lzl_dir TO scott; —賦予用戶目錄權限
通過dba_directories視圖查看目錄
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
-------- ------------------------------ ----------------------------------------
SYS ORACLE_OCM_CONFIG_DIR/u01/app/oracle/product/11.2/ccr/state
SYS DATA_PUMP_DIR/u01/app/oracle/admin/test/dpdump/
SYS XMLDIR /u01/app/oracle/product/11.2/rdbms/xml
SYS LZL_DIR/home/oracle
數據庫中已經默認創建了directory
EXPDP可以導出dump文件中數據,元數據的子集,這取決于導出方式。
note:盡量不要使用as sysdba,因為sysdba涉及核心應用和特殊功能,與普通用戶有些不同。
導出模式
導出模式由命令中的參數指定,包括以下模式:
"Full Export Mode”
指定FULL參數即可導出整個數據庫,必須要有 DATAPUMP_EXP_FULL_DATABASE角色。?
"Schema Mode"?指定shemas參數導出指定schema,導出多個schema必須擁有 DATAPUMP_EXP_FULL_DATABASE角色。如果沒有此角色,那么只能導出屬于自己的schema。SYS schema不能被導出。如果要導出不屬于自己的表,需要 DATAPUMP_EXP_FULL_DATABASE角色。
“Table Mode"?使用tables參數導出指定表,和它們依賴的對象
"Tablespace Mode"?使用tablespaces參數指定導出表空間內存放的對象。
"Transportable Tablespace Mode” 使用 TRANSPORT_TABLESPACES參數指定導出表空間中表的元數據和關聯對象。加密列不能使用此模式。如果使用了timezone,源庫和目標庫timezone必須相等。?
多個系統schema不能被導出,包括SYS,ORDSYS,MDSYS。