資料泵IMPDP 匯入工具的使用
--=================================
--資料泵IMPDP 匯入工具的使用
--=================================
資料的匯入匯出時資料庫經常處理的作業之一,Oracle 提供了IMP和IMPDP以及SQL*Loader等工具來完成資料的匯入工作,其中IMP服務於早期的9i之前的版本,在10g及後續版本,Oracle 提供了資料泵高速匯入工具,本文主要介紹IMPDP的使用方法,關於高速匯出工具請參照:資料泵EXPDP 匯出工具的使用。SQL*Loader請參照:SQL*Loader使用方法。
一、資料泵的體系結構
資料泵的體系結構在資料泵EXPDP 匯出工具的使用已列出,再此不再贅述。
二、IMPDP支援的介面及匯入模式
匯入介面
使用命令列帶引數的
使用命令列帶引數檔案
使用命令列互動
使用database console(GUI)
幾種常用的匯入模式
匯入表
匯入方案
匯入表空間
匯入資料庫
傳輸表空間模式
三、演示如何匯入
1.關於檢視impdp的幫助,使用以下命令
[oracle@oradb ~]$ impdp -? 或[oracle@oradb ~]$ impdp -help 前者提供幫助資訊並開啟命令列互動模式
2. 匯入表
--將表dept,emp匯入到scott方案中
impdp scott/tiger directory=dump_scott dumpfile=tab.dmp tables=dept,emp
--將表dept和emp從scott方案匯入到system方案中,對於方案的轉移,必須使用remap_shcema引數
impdp system/manage directory=dump_scott dumpfile=tab.dmp tables=scott.dept,scott.emp remap_schema=scott:system
3.匯入方案
--將dump_scott目錄下的schema.dmp匯入到scott方案中
impdp scott/tiger directory=dump_scott dumpfile=schema.dmp schemas=scott
--將scott方案中的所有物件轉移到system方案中
impdp system/redhat directory=dump_scott dumpfile=schema.dmp schemas=scott remap_schema=scott:system
4.匯入表空間
impdp system/redhat directory=dump_scott dumpfile=tablespace.dmp tablespaces=user01
5.匯入資料庫
impdp system/redhat directory=dump_scott dumpfile=full.dmp full=y
6.將資料物件原樣導回(演示從Windows客戶端來實現,資料庫基於Linux系統)
從Windows客戶端來匯出scott.emp表,匯出後刪除該表,再原樣導回
C:/>expdp scott/tiger@list2 directory=dump_scott dumpfile=emp.dmp tables=emp
C:/>sqlplus scott/tiger@list2
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一9月20 20:50:35 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> drop table emp;
Table dropped.
SQL> commit;
Commit complete.
SQL> select count(1) from emp;
select count(1) from emp
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> host impdp scott/tiger@list2 directory=dump_scott dumpfile=emp.dmp
SQL> select count(1) from emp;
COUNT(1)
----------
14
7.將匯出的物件使用remap_schema引數轉移到不同的方案
a.將dept從scott使用者匯入到system使用者下
expdp scott/tiger directory=dump_scott dumpfile=dept.dmp tables=dept
方法一:
impdp system/redhat tables=scott.dept directory=dump_scott dumpfile=dept.dmp remap_schema=scott:system
方法二:
sql>grant imp_full_database to scott;
impdp scott/tiger directory=dump_scott dumpfile=dept.dmp tables=dept
remap_schema=scott:system table_exists_action=replace
b.將scott方案下的所有物件匯入到system方案下
expdp scott/tiger directory=dump_scott dumpfile=allobj.dmp schemas=scott
impdp scott/tiger directory=dump_scott dumpfile=allobj.dmp remap_schema=scott:system table_exists_action=replace
8.使用remap_datafile引數轉移到不同的資料檔案(用於不同平臺之間存在不同命名方式時)
下面的示例首先建立了一個引數檔案,引數檔名為payroll.par
directory=pump_scott
full=y
dumpfile=datafile.dmp
remap_datafile='db$:[hrdata.payroll]tbs2.f':'/db/hrdata/payroll/tbs2.f' --指明重新對映資料檔案
impdp scott/tiger PARFILE=payroll.par
9.使用remap_tablespace引數轉移到不同的表空間
impdp scott/scott remap_tablespace=users:tbs1 directory=dpump_scott dumpfile=users.dmp
10.並行匯入:
expdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3
impdp e/e directory=dump_e dumpfile=a_%u.dmp schemas=e parallel=3 table_exists_action=replace
四、資料泵impdp引數:
1.REMAP_DATAFILE
該選項用於將源資料檔名轉變為目標資料檔名,在不同平臺之間搬移表空間時需要該選項.
REMAP_DATAFILE=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 指令碼檔案
impdp scott/tiger directory=dump_scott dumpfile=a1.dmp sqlfile=c.sql
預設放在directory下,因此不要指定絕對路徑
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’
五、影響資料泵效能的相關引數
對下列引數建議如下設定
disk_asynch_io=true
db_block_checking=false
db_block_checksum=false
對下列引數建議設定更高的值來提高併發
processes
sessions
parallel_max_servers
對下列引數應儘可能的調大空間大小
shared_pool_size
undo_tablespace
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22578826/viewspace-703478/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用資料泵impdp匯入資料
- Impdp資料泵匯入
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 【impdp】使用impdp工具排除特定表的匯入
- 使用資料泵工具expdp工具匯出資料
- 資料泵 EXPDP 匯出工具的使用
- 針對資料泵匯出 (expdp) 和匯入 (impdp)工具效能降低問題的檢查表
- 【EXPDP/IMPDP】使用 EXPDP/IMPDP工具“模糊”匯出和匯入
- 資料泵的匯入匯出
- Oracle使用資料泵匯出匯入表Oracle
- 資料泵匯出匯入
- EXPDP 和 IMPDP 資料泵的使用_1
- EXPDP 和 IMPDP 資料泵的使用_2
- Oracle10g 資料泵匯出命令impdp 使用總結Oracle
- 資料泵(expdp,impdp)高版本匯入低版本操作例項
- 對比資料泵與原始匯入匯出工具(五)
- 對比資料泵與原始匯入匯出工具(四)
- 對比資料泵與原始匯入匯出工具(三)
- 對比資料泵與原始匯入匯出工具(八)
- 對比資料泵與原始匯入匯出工具(七)
- 對比資料泵與原始匯入匯出工具(六)
- 資料泵匯出匯入表
- 資料泵 impdp 操作
- 【IMPDP】使用IMPDP自動建立使用者並完成資料的匯入
- oracle10g expdp資料泵的bug,按schema匯出,匯入impdp時無jobOracle
- Oracle資料泵的匯入和匯出Oracle
- 【匯入匯出】資料泵 job_name引數的使用
- 【impdp】資料泵impdp工具選項詳解及應用示例
- expdp impdp Data Pump(資料泵)使用解析
- Oracle資料泵-schema匯入匯出Oracle
- 資料泵匯出匯入資料標準文件
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- 資料泵取匯出和匯入(一)
- IMPDP匯入遠端資料庫資料庫
- 【IMPDP】使用工具IMPDP匯入資料時ORA-39002、ORA-39070錯誤排查
- 資料泵無法匯入JOB