EXPDP導出
一.導出前準備
1.設置NLS_LANG環境變量
(1)查看數據庫用的啥子字符集
col PARAMETER for a20
col VALUE for a30
select * from nls_database_parameters
where PARAMETER in ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET')
/
PARAMETER VALUE
-------------------- ------------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET AL32UTF8
(2)指定當前shell的NLS_LANG參數(即設置exp工具的字符集)
[oracle@test64 ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
2.查看要導出的幾張表大小,估算dmp文件大小(實際值一般會比這少,因爲導出的是使用了的塊,另外exp支持壓縮,而expdp是自動壓縮的)
col SEGMENT_NAME for a15
col PARTITION_NAME for a20
col size for a10
select SEGMENT_NAME,PARTITION_NAME,BYTES/1024/1024 ||' m' "size" from user_segments
where PARTITION_NAME like 'xxxxx_201111_%'
/
SEGMENT_NAME PARTITION_NAME size
--------------- -------------------- ----------
xxxxx xxxxx_201111_1 288 m
xxxxx xxxxx_201111_2 296 m
xxxxx xxxxx_201111_3 304 m
3.查看要導出的磁盤是否有空間
[oracle@test64 backup]$ df -h .
Filesystem 容量 已用 可用 已用% 掛載點
/dev/mapper/VolGroup01-backup
4.0G 2.8G 1014M
74% /backup
4.建目錄對象
SQL> create directory BACKUP as '/backup';
Directory created.
5.將目錄對象BACKUP授權給所有人
SQL> grant read ,write on directory BACKUP to public;
Grant succeeded.
二.開始導出
expdp system/oracle DIRECTORY=BACKUP LOGFILE=test_expdp.log DUMPFILE=test_dp.dmp CONTENT=DATA_ONLY tables=(schema.table:xxxxx_201111_1,schema.table:xxxxx_201111_2,schema.table:xxxxx_201111_3)
用戶名密碼如果沒有註明的話,需要自己手工輸入,增加安全性。或者你可以如上指定用戶名密碼 system/oracle
最後導出756M的dmp文件(自動壓縮了的),expdp導出僅用35秒
==================================================================================================
IMPDP導入
三.導入前準備
1.根據要導入的數據庫,設置NLS_LANG環境變量
2.查看要導入的表空間是否夠用
3.建目錄對象
SQL> create directory BACKUP as '/backup';
Directory created.
4.將目錄對象BACKUP授權給所有人
SQL> grant read ,write on directory BACKUP to public;
Grant succeeded.
四.開始導入
[oracle@test64 backup]$ impdp system/oracle DIRECTORY=BACKUP DUMPFILE=test_dp.dmp CONTENT=DATA_ONLY LOGFILE=test_impdp.log TABLES=(schema.table:xxxxx_201111_1,schema.table:xxxxx_201111_2,schema.table:xxxxx_201111_3)
導入時間11分50秒
因爲導入時會自動維護index,如果將表上的索引刪除或者unusable的話,導入時間更快
想對impdp提速的話,可以加個平行度參數PARALLEL,但impdp設置的PARALLEL的值必須小於等於expdp時設置的值。
=================================================================================================
常用參數
impdp help=y
REMAP_SCHEMA Objects from one schema are loaded into another schema.
REMAP_TABLESPACE Tablespace object are remapped to another tablespace.
TABLE_EXISTS_ACTION Action to take if imported object already exists.
Valid keywords: (SKIP), APPEND, REPLACE and TRUNCATE.
REMAP_SCHEMA=source_schema:target_schema[,source_schema:target_schema]
REMAP_TABLESPACE=source_tablespace:target_tablespace[,source_tablespace:target_tablespace]
參考書籍《塗抹ORACLE--三思筆記之一步一步學oracle》第13章data pump導入和導出數據