標籤:style blog http color io os 使用 ar strong
Oracle資料庫還原IMPDP命令是相對於EXPDP命令的,方向是反向的。即對於Database Backup進行還原作業。
一、知曉IMPDP命令
C:\>impdp -help Import: Release 11.1.0.7.0 - Production on 星期六, 28 9月, 2013 15:37:03 Copyright (c) 2003, 2007, Oracle. All rights reserved. 資料泵匯入公用程式提供了一種用於在 Oracle 資料庫之間傳輸 資料對象的機制。該公用程式可以使用以下命令進行調用: 樣本: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp 您可以控制匯入的運行方式。具體方法是: 在 ‘impdp‘ 命令後輸入各種參數。要指定各參數, 請使用關鍵字: 格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN) 樣本: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp USERID 必須是命令列中的第一個參數。 關鍵字 說明 (預設) ------------------------------------------------------------------------------ ATTACH 串連到現有作業, 例如 ATTACH [=作業名]。 CONTENT <SPAN style="COLOR: #ff0000">指定要載入的資料, 其中有效關鍵字為:(ALL),DATA_ONLY和METADATA_ONLY。 </SPAN>DATA_OPTIONS 資料層標記,其中唯一有效值為:SKIP_CONSTRAINT_ERRORS-約束條件錯誤不嚴重。 DIRECTORY <SPAN style="COLOR: #ff0000"> 供轉儲檔案,記錄檔和sql檔案使用的目錄對象。</SPAN> DUMPFILE <SPAN style="COLOR: #ff0000">要從(expdat.dmp)中匯入的轉儲檔案的列表,例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.dmp。 </SPAN>ENCRYPTION_PASSWORD 用於訪問加密列資料的口令關鍵字。此參數對網路匯入作業無效。 ESTIMATE 計算作業估計值, 其中有效關鍵字為:(BLOCKS)和STATISTICS。 EXCLUDE <SPAN style="COLOR: #ff0000">排除特定的物件類型, 例如 EXCLUDE=TABLE:EMP。</SPAN> FLASHBACK_SCN 用於將會話快照設定回以前狀態的 SCN。 FLASHBACK_TIME 用於擷取最接近指定時間的 SCN 的時間。 FULL <SPAN style="COLOR: #ff0000">從源匯入全部對象(Y)。 </SPAN>HELP 顯示協助訊息(N)。 INCLUDE <SPAN style="COLOR: #ff0000">包括特定的物件類型, 例如 INCLUDE=TABLE_DATA。 </SPAN>JOB_NAME 要建立的匯入作業的名稱。 LOGFILE 記錄檔名(import.log)。 NETWORK_LINK <SPAN style="COLOR: #ff0000">連結到源系統的遠端資料庫的名稱。</SPAN> NOLOGFILE 不寫入記錄檔。 PARALLEL <SPAN style="COLOR: #ff0000">更改當前作業的活動worker的數目。</SPAN> PARFILE <SPAN style="COLOR: #ff0000">指定參數檔案。 </SPAN>PARTITION_OPTIONS 指定應如何轉換分區,其中有效關鍵字為:DEPARTITION,MERGE和(NONE) QUERY <SPAN style="COLOR: #ff0000">用於匯入表的子集的謂詞子句。 </SPAN>REMAP_DATA 指定資料轉換函式,例如REMAP_DATA=EMP.EMPNO:REMAPPKG.EMPNO REMAP_DATAFILE 在所有DDL語句中重新定義資料檔案引用。 REMAP_SCHEMA <SPAN style="COLOR: #ff0000">將一個方案中的對象載入到另一個方案。 </SPAN>REMAP_TABLE <SPAN style="COLOR: #ff0000"> 表名重新對應到另一個表,例如 REMAP_TABLE=EMP.EMPNO:REMAPPKG.EMPNO。 </SPAN>REMAP_TABLESPACE <SPAN style="COLOR: #ff0000">將資料表空間對象重新對應到另一個資料表空間。</SPAN> REUSE_DATAFILES 如果資料表空間已存在, 則將其初始化 (N)。 SCHEMAS <SPAN style="COLOR: #ff0000">要匯入的方案的列表。 </SPAN>SKIP_UNUSABLE_INDEXES 跳過設定為無用索引狀態的索引。 SQLFILE 將所有的 SQL DDL 寫入指定的檔案。 STATUS 在預設值(0)將顯示可用時的新狀態的情況下,要監視的頻率(以秒計)作業狀態。 STREAMS_CONFIGURATION 啟用流中繼資料的載入 TABLE_EXISTS_ACTION <SPAN style="COLOR: #ff0000"> 匯入對象已存在時執行的操作。有效關鍵字:(SKIP),APPEND,REPLACE和TRUNCATE。 </SPAN>TABLES <SPAN style="COLOR: #ff0000">標識要匯入的表的列表。 </SPAN>TABLESPACES 標識要匯入的資料表空間的列表。 TRANSFORM 要應用於適用對象的中繼資料轉換。有效轉換關鍵字為:SEGMENT_ATTRIBUTES,STORAGE,OID和PCTSPACE。 TRANSPORTABLE 用於選擇可傳輸資料移動的選項。有效關鍵字為: ALWAYS 和 (NEVER)。僅在 NETWORK_LINK 模式匯入操作中有效。 TRANSPORT_DATAFILES <SPAN style="COLOR: #ff0000">按可傳輸模式匯入的資料檔案的列表。</SPAN> TRANSPORT_FULL_CHECK 驗證所有表的儲存段 (N)。 TRANSPORT_TABLESPACES 要從中載入中繼資料的資料表空間的列表。僅在 NETWORK_LINK 模式匯入操作中有效。 VERSION 要匯出的對象的版本, 其中有效關鍵字為:(COMPATIBLE), LATEST 或任何有效資料庫版本。僅對 NETWORK_LINK 和 SQLFILE 有效。 下列命令在互動模式下有效。 注: 允許使用縮寫 命令 說明 (預設) ------------------------------------------------------------------------------ CONTINUE_CLIENT 返回到記錄模式。如果處於空閑狀態, 將重新啟動作業。 EXIT_CLIENT 退出客戶機會話並使作業處於運行狀態。 HELP 總結互動命令。 KILL_JOB 分離和刪除作業。 PARALLEL 更改當前作業的活動 worker 的數目。PARALLEL=<worker 的數目>。 START_JOB 啟動/恢複當前作業。START_JOB=SKIP_CURRENT 在開始作業之前將跳過作業停止時執行的任意操作。 STATUS 在預設值 (0) 將顯示可用時的新狀態的情況下,要監視的頻率 (以秒計) 作業狀態。STATUS[=interval] STOP_JOB 順序關閉執行的作業並退出客戶機。STOP_JOB=IMMEDIATE 將立即關閉資料泵作業。 <BR><SPAN style="COLOR: #ff0000">備忘:紅色標記的選項是比較常用的,需知曉其用法。</SPAN> |
二、操作執行個體
1、全庫模式匯入[full]
impdp orcldev/oracle directory=backup_path dumpfile=orcldev_schema.dmp full=Y table_exists_action=replace --如果表已經存在則進行替換操作。
一般來說,在還原資料庫操作的時候,首先要刪除這個使用者,然後在進行impdp還原作業。
eg:
(1)SQL>DROP USER orcldev CASCADE;
(2)impdp orcldev/oracle directory=backup_path dumpfile=orcldev_2013.dmp full=Y
2、Schema模式匯入[schema]
--還原orcldev這個方案(使用者)
impdp orcldev/oracle directory=backup_path dumpfile=orcldev_schema.dmp schemas=orcldev table_exists_action=replace
3、表模式匯入[table]
--還原某個使用者下的具體的表
(1)windows版本:
impdp orcldev/oracle directory=backup_path dumpfile=orcldev_table.dmp tables=‘TAB_TEST‘ table_exists_action=replace
(2)unix版本:需要將‘單引號進行轉義操作
impdp orcldev/oracle directory=backup_path dumpfile=orcldev_table.dmp tables=\‘ius_tran\‘ table_exists_action=replace
4、資料表空間模式匯入[tablespace]
impdp orcldev/oracle directory=backup_path dumpfile=orcldev_tablespace.dmp tablespace=user,orcldev
5、傳輸資料表空間模式匯入[Transportable Tablespace]
(1)Oracle_Online
You cannot export transportable tablespaces and then import them into a database at a lower release level. The target database must be at the same or higher release level as the source database.
The TRANSPORT_TABLESPACES is valid only when the NETWORK_LINK parameter is also specified.
意思就說,目標庫的版本要等於或者高於來源資料庫的版本,TRANSPORT_TABLESPACES參數選項有效前提條件是NETWORK_LINK參數需被指定。
查詢資料庫版本號碼SQL語句:SELECT * FROM v$version;
EG:impdp orcldev/oracle DIRECTORY=dackup_path NETWORK_LINK=db_link_test01 TRANSPORT_TABLESPACES=test0001 TRANSPORT_FULL_CHECK=n TRANSPORT_DATAFILES=‘app/oradata/test0001.dbf‘
(2)建立資料庫dbLink方法:
文法:
CREATE [PUBLIC] DATABASE LINK LINK_NAME
CONNECT TO Username IDENTIFIED BY Password
USING ‘ConnectString‘;
注釋:
1)建立dblink需要有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系統許可權以及用來登入到遠端資料庫的帳號必須有CREATE SESSION許可權。
2)ConnectString指的是在tnsnames.ora檔案中配置的監聽名稱。
3)當GLOBAL_NAME=TRUE時,dblink名必須與遠端資料庫的全域資料庫名GLOBAL_NAME相同;否則,可以任意命名。
(3)查看GLOBAL_NAME參數方法:
SQL> show parameters global_name;
NAME TYPE VALUE
----------------------------------- ----------- ------------------------------
global_names boolean FALSE
6、REMAP_SCHEMA參數
眾所周知:IMP工具的FROMUSER和TOUSER參數可以實現將一個使用者的的資料移轉到另外一個使用者。
(1)impdp資料泵使用REMAP_SCHEMA參數來實現不同使用者之間的資料移轉;
文法:
REMAP_SCHEMA=source_schema:target_schema
eg:impdp orcldev/oracle DIRECTORY=backup_path DUMPFILE=oracldev.dmp REMAP_SCHEMA=orcldev:orcltwo
與REMAP_SCHEMA類似的參數選項,如REMAP_TABLESPACE將源資料表空間的所有對象匯入目標資料表空間。
7、REMAP_TABLE參數
將源表資料對應到不同的目標表中
eg:impdp orcldev/oracle DIRECTORY=backup_path dumpfile=oracldev.dmp remap_table=TAB_TEST:TEST_TB
資料匯入到TEST_TB表中,但是該表的索引等資訊並沒有相應的建立,需要手工初始化。
8、REMAP_DATAFILE參數
文法:REMAP_DATAFILE=source_datafile:target_datafile
Oracle_Online:
Remapping datafiles is useful when you move databases between platforms that have different file naming conventions. The source_datafile and target_datafile names should be exactly as you want them to appear in the SQL statements where they are referenced. Oracle recommends that you enclose datafile names in quotation marks to eliminate ambiguity on platforms for which a colon is a valid file specification character.
9、PARALLEL參數
使用PARALLEL參數可以提高資料泵還原的效率,前提是必須有多個expdp的檔案,如expdp01.dmp,expdp02.dmp,expdp03dmp等等,不然會有問題。運行impdp命令時,會先啟動一個WOrKER進程將METADATA匯入,然後再啟動多個WORKER進程將資料以及其他對象匯入,所以在前期只會看到一個WOrKER在匯入METADATA,而且IMPDP也需要DUMP檔案是多個,也可以使用%U來進行匯入。
eg: impdp orcldev/oracle directory=backup_path dumpfile=orcldev_schema_%U.dmp schemas=orcldev parallel=4
備忘:
而在11GR2後EXPDP和IMDP的WORKER進程會在多個INSTANCE啟動,所以DIRECTORY必須在共用磁碟上,如果沒有設定共用磁碟還是指定cluster=no來防止報錯。
10、CONTENT參數
CONTENT參數選項有ALL,DATA_ONLY和METADATA_ONLY,預設情況是ALL。可以選擇只匯入中繼資料或者是只匯入資料。
EG:impdp orcldev/oracle directory=backup_path dumpfile=orcldev_schema.dmp schemas=orcldev CONTENT=DATA_ONLY
11、include、exclude、parfile、query和version參數選項與EXPDP命令的參數選項一致。
三、資料泵備份(EXPDP命令)
(1)http://www.cnblogs.com/oracle-dba/p/3344230.html
(2)http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_export.htm#i1007829
四、參考資料
ORACLE官網
(1)http://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_import.htm#g1025464
ORACLE資料泵還原(IMPDP命令)【轉】