oracle資料匯入匯出
一、exp/imp與expdp/impdp的區別
1:把使用者usera的物件導到使用者userb,
用法區別在於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:是否要匯出資料行
exp (ROWS=Y 匯出資料行,ROWS=N 不匯出資料行)
expdp content(ALL:物件+匯出資料行,DATA_ONLY:只匯出物件,METADATA_ONLY:只匯出資料的記錄)
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:是否要匯出資料行
exp (ROWS=Y 匯出資料行,ROWS=N 不匯出資料行)
expdp content(ALL:物件+匯出資料行,DATA_ONLY:只匯出物件,METADATA_ONLY:只匯出資料的記錄)
注:
1、IMP只適用於EXP匯出檔案,不適用於EXPDP匯出檔案;
IMPDP只適用於EXPDP匯出檔案,而不適用於EXP匯出檔案
2、expdp/impdp是資料泵,是Oracle 10g 以後才有,expdp只能在伺服器執行;匯入匯出速度比較快。
二、使用方法
1.使用expdp要先在資料庫中建立directory,並給相應的使用者read,write許可權.
SQL>create dexp和empdp的區別irectory dmpdir as ‘/u01/dmdir’;
SQL>grant read,write on directory to test;
2.常用匯出方法
$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_char\(create_time,\’yyyy-mm-dd\’\)\<\'2007-04\'\"
3.常用一些引數說明:
SCOTT/TIGER:使用者/密碼(*)
DUMPFILE:匯出後的檔名(*)
DIRECTORY:匯出檔案存放位置(位於伺服器端)(*)
CONTENT:匯出檔案中包含的內容(預設為:ALL,可選DATA_ONLY/METADATA_ONLY)
FILESIZE:指定匯出檔案大小(單位為bytes).
JOB_NAME:此次匯出程式使用的名稱,方便跟蹤查詢(可選)
LOGFILE:日誌檔名(預設為:export.log)
INCLUDE:匯出時包含指定的型別
(例:INCLUDE=TABLE_DATA,
INCLUDE=TABLE:"LIKE 'TAB%'"
INCLUDE=TABLE:”NOT LIKE ‘TAB%’”…)
EXCLUDE:匯出時排除的資料型別(例:EXCLUDE=TABLE:EMP)
FULL:全庫匯出時使用(同EXP的FULL,預設為N)
SCHEMA:匯出某一個SCHEMA下的所有資料
TABLES:按表匯出(這裡的方法和EXP一樣)
TABLESPACE:指定一個表空間匯出.
QUERY:按表匯出時,使用條件語句限定匯出範圍(同exp中的QUERY)
TRANSPORT_FULL_CHECK:
TRANSPORT_TABLESPACES:
FLASHBACK_SCN:
FLASHBACK_TIME:
PARALLEL:並行操作
PARFILE:
NETWORK_LINK:
當 Data Pump Export (DPE) 執行時,按 Control-C;它將阻止訊息在螢幕上顯示,但不停止匯出程式本身。相反,它將顯示 DPE 提示符(如下所示)。程式現在被認為處於“互動式”模式:
Export>
這種方法允許在這個 DPE 作業上輸入命令查詢及控制當前作業。
IMPDP命令列選項:
IMPDP命令列選項與EXPDP有很多相同的,不同的有:1,REMAP_DATAFILE
該選項用於將源資料檔名轉變為目標資料檔名,在不同平臺之間搬移表空間時可能需要該選項.
REMAP_DATAFIEL=source_datafie:target_datafile
2,REMAP_SCHEMA
該選項用於將源方案的所有物件裝載到目標方案中.
REMAP_SCHEMA=source_schema:target_schema
3,REMAP_TABLESPACE
將源表空間的所有物件匯入到目標表空間中
REMAP_TABLESPACE=source_tablespace:target:tablespace
4.REUSE_DATAFILES
該選項指定建立表空間時是否覆蓋已存在的資料檔案.預設為N
REUSE_DATAFIELS={Y | N}
5.SKIP_UNUSABLE_INDEXES
指定匯入是是否跳過不可使用的索引,預設為N
6,SQLFILE
指定將匯入要指定的索引DDL操作寫入到SQL指令碼中
SQLFILE=[directory_object:]file_name
Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql
7.STREAMS_CONFIGURATION
指定是否匯入流後設資料(Stream Matadata),預設值為Y.
8,TABLE_EXISTS_ACTION
該選項用於指定當表已經存在時匯入作業要執行的操作,預設為SKIP
TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }
當設定該選項為SKIP時,匯入作業會跳過已存在表處理下一個物件;當設定為APPEND時,會追加資料,為TRUNCATE時,匯入作業會截斷表,然後為其追加新資料;當設定為REPLACE時,匯入作業會刪除已存在表,重建表病追加資料,注意,TRUNCATE選項不適用與簇表和NETWORK_LINK選項
9.TRANSFORM
該選項用於指定是否修改建立物件的DDL語句
TRANSFORM=transform_name:value[:object_type]
Transform_name用於指定轉換名,其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性,儲存屬性,表空間,日誌等資訊),STORAGE用於標識段儲存屬性,VALUE用於指定是否包含段屬性或段儲存屬性,object_type用於指定物件型別.
Impdp scott/tiger directory=dump dumpfile=tab.dmp
Transform=segment_attributes:n:table
10.TRANSPORT_DATAFILES
該選項用於指定搬移空間時要被匯入到目標資料庫的資料檔案
TRANSPORT_DATAFILE=datafile_name
Datafile_name用於指定被複制到目標資料庫的資料檔案
Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp
TRANSPORT_DATAFILES=’/user01/data/tbs1.f’
4.多執行緒加速
您可以通過 PARALLEL 引數為匯出使用一個以上的執行緒來顯著地加速作業。每個執行緒建立一個單獨的轉儲檔案,因此引數 dumpfile 應當擁有和並行度一樣多的專案。您可以指定萬用字元作為檔名,而不是顯式地輸入各個檔名,例如:
expdp ananda/abc123 tables=CASES directory=DPDATA1 dumpfile=expCASES_%U.dmp parallel=4 job_name=Cases_Export
注意:dumpfile 引數擁有一個萬用字元 %U,它指示檔案將按需要建立,格式將為expCASES_nn.dmp,其中nn 從 01 開始,然後按需要向上增加。
在並行模式下,狀態螢幕將顯示四個工作程式。(在預設模式下,只有一個程式是可見的)所有的工作程式同步取出資料,並在狀態螢幕上顯示它們的進度。
分離訪問資料檔案和轉儲目錄檔案系統的輸入/輸出通道是很重要的。否則,與維護 Data Pump 作業相關的開銷可能超過並行執行緒的效益,並因此而降低效能。並行方式只有在表的數量多於並行值並且表很大時才是有效的。
5.舉例
CREATE OR REPLACE DIRECTORY
DMPDIR AS '/opt/oradata01/';
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
相關文章
- Oracle 資料匯入匯出Oracle
- oracle資料匯出匯入(exp/imp)Oracle
- Oracle資料泵-schema匯入匯出Oracle
- oracle資料庫匯入匯出命令!Oracle資料庫
- Oracle資料匯入匯出詳解Oracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Oracle資料泵的匯入和匯出Oracle
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- 匯入匯出 Oracle 分割槽表資料Oracle
- Oracle使用資料泵匯出匯入表Oracle
- Oracle資料匯入匯出imp/exp命令Oracle
- oracle資料的匯入匯出imp/expOracle
- Oracle AWR 資料匯入/匯出的步驟Oracle
- Oracle資料庫的匯入和匯出命令Oracle資料庫
- Oracle資料匯入匯出imp/exp命令(轉)Oracle
- 資料泵匯出匯入
- mysql資料匯入匯出MySql
- mysql資料匯出匯入MySql
- 將informix匯出的文字資料匯入oracle資料庫ORMOracle資料庫
- Oracle pl/sql 複製表 資料匯入 匯出OracleSQL
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- sqoop資料匯入匯出OOP
- 資料匯入匯出EXP/IMP
- MongoDB資料匯入與匯出MongoDB
- mysqldump匯入匯出表資料MySql
- exp/imp匯出匯入資料
- postgresql 資料匯入和匯出SQL
- 資料庫的匯入匯出資料庫
- 資料泵的匯入匯出
- mysql 資料庫匯入匯出MySql資料庫
- 資料泵匯出匯入表
- MySQL資料庫匯入匯出MySql資料庫
- Oracle增量匯入匯出Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- MySQL入門--匯出和匯入資料MySql
- 怎樣在Oracle資料庫中高速匯出/匯入Oracle資料庫
- oracle不同版本間資料的匯入匯出規則Oracle
- PROC++批次匯入匯出ORACLE資料庫表 (轉)Oracle資料庫