來源:曾妙根 發(fā)布時間:2018-11-01 10:23:18 閱讀量:1007
一、exp/imp與expdp/impdp的區(qū)別
1:把用戶usera的對象導(dǎo)到用戶userb,
用法區(qū)別在于fromuser=usera touser=userb ,remap_schema='usera':'usera' 。
例如
imp system/passwd fromuser=usera touser=userb file=/oracle/exp.dmp log=/oracle/exp.log;
impdp system/passwd directory=expdp dumpfile=expdp.dmp remap_schema='usera':'userb' logfile=/oracle/exp.log;
2:更換表空間,用exp/imp的時候,要想更改表所在的表空間,需要手工去處理一下,
如alter table xxx move tablespace_new之類的操作。
用impdp只要用remap_tablespace='tabspace_old':'tablespace_new'
3:當指定一些表的時候,使用exp/imp 時,tables的用法是 tables=('table1','table2','table3')。
expdp/impdp的用法是tables='table1','table2','table3'
4:是否要導(dǎo)出數(shù)據(jù)行
exp?。≧OWS=Y 導(dǎo)出數(shù)據(jù)行,ROWS=N 不導(dǎo)出數(shù)據(jù)行)
expdp content(ALL:對象+導(dǎo)出數(shù)據(jù)行,DATA_ONLY:只導(dǎo)出對象,METADATA_ONLY:只導(dǎo)出數(shù)據(jù)的記錄)
注:
1、IMP只適用于EXP導(dǎo)出文件,不適用于EXPDP導(dǎo)出文件;
IMPDP只適用于EXPDP導(dǎo)出文件,而不適用于EXP導(dǎo)出文件
2、expdp/impdp是數(shù)據(jù)泵,是Oracle 10g 以后才有,expdp只能在服務(wù)器執(zhí)行;導(dǎo)入導(dǎo)出速度比較快。
二、使用方法
1.使用expdp要先在數(shù)據(jù)庫中創(chuàng)建directory,并給相應(yīng)的用戶read,write權(quán)限.
SQL>create dexp和empdp的區(qū)別irectory dmpdir as ‘/u01/dmdir’;
SQL>grant read,write on directory to test;
2.常用導(dǎo)出方法
$expdp scott/tiger DUMPFILE=scott.dmp DIRECTORY=dmpdir SCHEMAS=test
$expdp scott/tiger DUMPFILE=tmp_dump.dmp DIRECTORY=dmpdir TABLES=(tmp_test:p1,tmp_test:p2) JOB_NAME=tmp_dump LOGFILE=tmp_dump.log
$expdp scott/tiger DUMPFILE=full.dmp DIRECTORY=dmpdir FULL=Y JOB_NAME=full
$expdp scott/timer DUMPFILE=tmp_200703.dmp DIRECTORY=dmpdir TABLES=tmp QUERY=\”where to_charcreatetime,\’yyyy?mm?dd\’createtime,\’yyyy?mm?dd\’\<\'2007-04\'\"
3.常用一些參數(shù)說明:
SCOTT/TIGER:用戶/密碼(*)
DUMPFILE:導(dǎo)出后的文件名(*)
DIRECTORY:導(dǎo)出文件存放位置(位于服務(wù)器端)(*)
CONTENT:導(dǎo)出文件中包含的內(nèi)容(默認為:ALL,可選DATA_ONLY/METADATA_ONLY)
FILESIZE:指定導(dǎo)出文件大小(單位為bytes).
JOB_NAME:此次導(dǎo)出進程使用的名稱,方便跟蹤查詢(可選)
LOGFILE:日志文件名(默認為:export.log)
INCLUDE:導(dǎo)出時包含指定的類型
(例:INCLUDE=TABLE_DATA,
INCLUDE=TABLE:"LIKE 'TAB%'"
INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…)
EXCLUDE:導(dǎo)出時排除的數(shù)據(jù)類型(例:EXCLUDE=TABLE:EMP)
FULL:全庫導(dǎo)出時使用(同EXP的FULL,默認為N)
SCHEMA:導(dǎo)出某一個SCHEMA下的所有數(shù)據(jù)
TABLES:按表導(dǎo)出(這里的方法和EXP一樣)
TABLESPACE:指定一個表空間導(dǎo)出.
QUERY:按表導(dǎo)出時,使用條件語句限定導(dǎo)出范圍(同exp中的QUERY)
TRANSPORT_FULL_CHECK:
TRANSPORT_TABLESPACES:
FLASHBACK_SCN:
FLASHBACK_TIME:
PARALLEL:并行操作
PARFILE:
NETWORK_LINK:
當 Data Pump Export (DPE) 運行時,按 Control-C;它將阻止消息在屏幕上顯示,但不停止導(dǎo)出進程本身。相反,它將顯示 DPE 提示符(如下所示)。進程現(xiàn)在被認為處于“交互式”模式:
Export>
這種方法允許在這個 DPE 作業(yè)上輸入命令查詢及控制當前作業(yè)。
IMPDP命令行選項:
IMPDP命令行選項與EXPDP有很多相同的,不同的有:
1,REMAP_DATAFILE
該選項用于將源數(shù)據(jù)文件名轉(zhuǎn)變?yōu)槟繕藬?shù)據(jù)文件名,在不同平臺之間搬移表空間時可能需要該選項.
REMAP_DATAFIEL=source_datafie:target_datafile
2,REMAP_SCHEMA
該選項用于將源方案的所有對象裝載到目標方案中.
REMAP_SCHEMA=source_schema:target_schema
3,REMAP_TABLESPACE
將源表空間的所有對象導(dǎo)入到目標表空間中
REMAP_TABLESPACE=source_tablespace:target:tablespace
4.REUSE_DATAFILES
該選項指定建立表空間時是否覆蓋已存在的數(shù)據(jù)文件.默認為N
REUSE_DATAFIELS={Y | N}
5.SKIP_UNUSABLE_INDEXES
指定導(dǎo)入是是否跳過不可使用的索引,默認為N
6,SQLFILE
指定將導(dǎo)入要指定的索引DDL操作寫入到SQL腳本中
SQLFILE=[directory_object:]file_name
Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql
7.STREAMS_CONFIGURATION
指定是否導(dǎo)入流元數(shù)據(jù)(Stream Matadata),默認值為Y.
8,TABLE_EXISTS_ACTION
該選項用于指定當表已經(jīng)存在時導(dǎo)入作業(yè)要執(zhí)行的操作,默認為SKIP
TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }
當設(shè)置該選項為SKIP時,導(dǎo)入作業(yè)會跳過已存在表處理下一個對象;當設(shè)置為APPEND時,會追加數(shù)據(jù),為TRUNCATE時,導(dǎo)入作業(yè)會截斷表,然后為其追加新數(shù)據(jù);當設(shè)置為REPLACE時,導(dǎo)入作業(yè)會刪除已存在表,重建表病追加數(shù)據(jù),注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項
9.TRANSFORM
該選項用于指定是否修改建立對象的DDL語句
TRANSFORM=transform_name:value[:object_type]
Transform_name用于指定轉(zhuǎn)換名,其中SEGMENT_ATTRIBUTES用于標識段屬性(物理屬性,存儲屬性,表空間,日志等信息),STORAGE用于標識段存儲屬性,VALUE用于指定是否包含段屬性或段存儲屬性,object_type用于指定對象類型.
Impdp scott/tiger directory=dump dumpfile=tab.dmp
Transform=segment_attributes:n:table
10.TRANSPORT_DATAFILES
該選項用于指定搬移空間時要被導(dǎo)入到目標數(shù)據(jù)庫的數(shù)據(jù)文件
TRANSPORT_DATAFILE=datafile_name
Datafile_name用于指定被復(fù)制到目標數(shù)據(jù)庫的數(shù)據(jù)文件
Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp
TRANSPORT_DATAFILES=’/user01/data/tbs1.f’
4.多線程加速
您可以通過 PARALLEL 參數(shù)為導(dǎo)出使用一個以上的線程來顯著地加速作業(yè)。每個線程創(chuàng)建一個單獨的轉(zhuǎn)儲文件,因此參數(shù) dumpfile 應(yīng)當擁有和并行度一樣多的項目。您可以指定通配符作為文件名,而不是顯式地輸入各個文件名,例如:
expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意:dumpfile 參數(shù)擁有一個通配符 %U,它指示文件將按需要創(chuàng)建,格式將為expCASES_nn.dmp,其中nn 從 01 開始,然后按需要向上增加。
在并行模式下,狀態(tài)屏幕將顯示四個工作進程。(在默認模式下,只有一個進程是可見的)所有的工作進程同步取出數(shù)據(jù),并在狀態(tài)屏幕上顯示它們的進度。
分離訪問數(shù)據(jù)文件和轉(zhuǎn)儲目錄文件系統(tǒng)的輸入/輸出通道是很重要的。否則,與維護 Data Pump 作業(yè)相關(guān)的開銷可能超過并行線程的效益,并因此而降低性能。并行方式只有在表的數(shù)量多于并行值并且表很大時才是有效的。
5.舉例
CREATE OR REPLACE DIRECTORY
DMPDIR AS '/opt/oradata01/';
expdp daily/xxxxx tables=S1MME_2016052622,S1MME_2016052623,S1MME_2016052700,S1MME_2016052701,S1MME_2016052702,S1MME_2016052703 DIRECTORY=dmpdir dumpfile=hz_daily20160612.dmp
---------------------
作者:曾妙根
來源:CSDN
原文:https://blog.csdn.net/zengmingen/article/details/51657900
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請附上博文鏈接!