熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

數據泵用法詳解

2013-11-13 15:28:01  來源: Oracle 

  EXPDP和IMPDP使用說明EXPDP和IMPDP使用說明

  Oracle Database g引入了最新的數據泵(Data Dump)技術使DBA或開發人員可以將數據庫元數據(對象定義)和數據快速移動到另一個oracle數據庫中

  數據泵導出導入(EXPDP和IMPDP)的作用

  實現邏輯備份和邏輯恢復

  在數據庫用戶之間移動對象

  在數據庫之間移動對象

  實現表空間搬移

  數據泵導出導入與傳統導出導入的區別

  在g之前傳統的導出和導入分別使用EXP工具和IMP工具g開始不僅保留了原有的EXP和IMP工具還提供了數據泵導出導入工具EXPDP和IMPDP使用EXPDP和IMPDP時應該注意的事項;

  EXP和IMP是客戶段工具程序它們既可以在可以客戶端使用也可以在服務端使用

  EXPDP和IMPDP是服務端的工具程序他們只能在ORACLE服務端使用不能在客戶端使用

  IMP只適用於EXP導出文件不適用於EXPDP導出文件;IMPDP只適用於EXPDP導出文件而不適用於EXP導出文件

  數據泵導出包括導出表導出方案導出表空間導出數據庫種方式

  EXPDP命令行選項

   ATTACH

  該選項用於在客戶會話與已存在導出作用之間建立關聯語法如下

  ATTACH=[schema_name]job_name

  Schema_name用於指定方案名job_name用於指定導出作業名注意如果使用ATTACH選項在命令行除了連接字符串和ATTACH選項外不能指定任何其他選項示例如下:

  Expdp scott/tiger ATTACH=scottexport_job

   CONTENT

  該選項用於指定要導出的內容默認值為ALL

  CONTENT={ALL | DATA_ONLY | METADATA_ONLY}

  當設置CONTENT為ALL 時將導出對象定義及其所有數據為DATA_ONLY時只導出對象數據為METADATA_ONLY時只導出對象定義

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=adump

  CONTENT=METADATA_ONLY

   DIRECTORY

  指定轉儲文件和日志文件所在的目錄

  DIRECTORY=directory_object

  Directory_object用於指定目錄對象名稱需要注意目錄對象是使用CREATE DIRECTORY語句建立的對象而不是OS 目錄

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=adump

  建立目錄:

  CREATE DIRECTORY dump as d:dump;

  查詢創建了那些子目錄:

  SELECT * FROM dba_directories;

   DUMPFILE

  用於指定轉儲文件的名稱默認名稱為expdatdmp

  DUMPFILE=[directory_object:]file_name []

  Directory_object用於指定目錄對象名file_name用於指定轉儲文件名需要注意如果不指定directory_object導出工具會自動使用DIRECTORY選項指定的目錄對象

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=dump:admp

   ESTIMATE

  指定估算被導出表所占用磁盤空間分方法默認值是BLOCKS

  EXTIMATE={BLOCKS | STATISTICS}

  設置為BLOCKS時oracle會按照目標對象所占用的數據塊個數乘以數據塊尺寸估算對象占用的空間設置為STATISTICS時根據最近統計值估算對象占用空間

  Expdp scott/tiger TABLES=emp ESTIMATE=STATISTICS

  DIRECTORY=dump DUMPFILE=adump

   EXTIMATE_ONLY

  指定是否只估算導出作業所占用的磁盤空間默認值為N

  EXTIMATE_ONLY={Y | N}

  設置為Y時導出作用只估算對象所占用的磁盤空間而不會執行導出作業為N時不僅估算對象所占用的磁盤空間還會執行導出操作

  Expdp scott/tiger ESTIMATE_ONLY=y NOLOGFILE=y

   EXCLUDE

  該選項用於指定執行操作時釋放要排除對象類型或相關對象

  EXCLUDE=object_type[:name_clause] []

  Object_type用於指定要排除的對象類型name_clause用於指定要排除的具體對象EXCLUDE和INCLUDE不能同時使用

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=adup EXCLUDE=VIEW

   FILESIZE

  指定導出文件的最大尺寸默認為(表示文件尺寸沒有限制)

   FLASHBACK_SCN

  指定導出特定SCN時刻的表數據

  FLASHBACK_SCN=scn_value

  Scn_value用於標識SCN值FLASHBACK_SCN和FLASHBACK_TIME不能同時使用

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=admp

  FLASHBACK_SCN=

   FLASHBACK_TIME

  指定導出特定時間點的表數據

  FLASHBACK_TIME=TO_TIMESTAMP(time_value)

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=admp FLASHBACK_TIME=

  TO_TIMESTAMP( ::DDMMYYYY HH:MI:SS)

   FULL

  指定數據庫模式導出默認為N

  FULL={Y | N}

  為Y時標識執行數據庫導出

   HELP

  指定是否顯示EXPDP命令行選項的幫助信息默認為N

  當設置為Y時會顯示導出選項的幫助信息

  Expdp help=y

   INCLUDE

  指定導出時要包含的對象類型及相關對象

  INCLUDE = object_type[:name_clause] [… ]

   JOB_NAME

  指定要導出作用的名稱默認為SYS_XXX

  JOB_NAME=jobname_string

   LOGFILE

  指定導出日志文件文件的名稱默認名稱為exportlog

  LOGFILE=[directory_object:]file_name

  Directory_object用於指定目錄對象名稱file_name用於指定導出日志文件名如果不指定directory_object導出作用會自動使用DIRECTORY的相應選項值

  Expdp scott/tiger DIRECTORY=dump DUMPFILE=admp logfile=alog

   NETWORK_LINK

  指定數據庫鏈名如果要將遠程數據庫對象導出到本地例程的轉儲文件中必須設置該選項

   NOLOGFILE

  該選項用於指定禁止生成導出日志文件默認值為N

   PARALLEL

  指定執行導出操作的並行進程個數默認值為

   PARFILE

  指定導出參數文件的名稱

  PARFILE=[directory_path] file_name

   QUERY

  用於指定過濾導出數據的where條件

  QUERY=[schema] [table_name:] query_clause

  Schema用於指定方案名table_name用於指定表名query_clause用於指定條件限制子句QUERY選項不能與CONNECT=METADATA_ONLYEXTIMATE_ONLYTRANSPORT_TABLESPACES等選項同時使用

  Expdp scott/tiger directory=dump dumpfiel=admp

  Tables=emp query=WHERE deptno=

   SCHEMAS

  該方案用於指定執行方案模式導出默認為當前用戶方案

   STATUS

  指定顯示導出作用進程的詳細狀態默認值為

   TABLES

  指定表模式導出

  TABLES=[schema_name]table_name[:partition_name][…]

  Schema_name用於指定方案名table_name用於指定導出的表名partition_name用於指定要導出的分區名

   TABLESPACES

  指定要導出表空間列表

   TRANSPORT_FULL_CHECK

  該選項用於指定被搬移表空間和未搬移表空間關聯關系的檢查方式默認為N

  當設置為Y時導出作用會檢查表空間直接的完整關聯關系如果表空間所在表空間或其索引所在的表空間只有一個表空間被搬移將顯示錯誤信息當設置為N時導出作用只檢查單端依賴如果搬移索引所在表空間但未搬移表所在表空間將顯示出錯信息如果搬移表所在表空間未搬移索引所在表空間則不會顯示錯誤信息

   TRANSPORT_TABLESPACES

  指定執行表空間模式導出

   VERSION

  指定被導出對象的數據庫版本默認值為COMPATIBLE

  VERSION={COMPATIBLE | LATEST | version_string}

  為COMPATIBLE時會根據初始化參數COMPATIBLE生成對象元數據;為LATEST時會根據數據庫的實際版本生成對象元數據version_string用於指定數據庫版本字符串

  調用EXPDP

  使用EXPDP工具時其轉儲文件只能被存放在DIRECTORY對象對應的OS目錄中而不能直接指定轉儲文件所在的OS目錄因此使用EXPDP工具時必須首先建立DIRECTORY對象並且需要為數據庫用戶授予使用DIRECTORY對象權限

  CREATE DIRECTORY dump dir AS D:DUMP;

  GRANT READ WIRTE ON DIRECTORY dump_dir TO scott;

  導出表

  Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tabdmp TABLES=deptemp

  導出方案

  Expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schemadmp

  SCHEMAS=systemscott

  導出表空間

  Expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespacedmp

  TABLESPACES=useruser

  導出數據庫

  Expdp system/manager DIRECTORY=dump_dir DUMPFILE=fulldmp FULL=Y

  使用IMPDP

  IMPDP命令行選項與EXPDP有很多相同的不同的有:

  REMAP_DATAFILE

  該選項用於將源數據文件名轉變為目標數據文件名在不同平台之間搬移表空間時可能需要該選項

  REMAP_DATAFIEL=source_datafie:target_datafile

  REMAP_SCHEMA

  該選項用於將源方案的所有對象裝載到目標方案中

  REMAP_SCHEMA=source_schema:target_schema

  REMAP_TABLESPACE

  將源表空間的所有對象導入到目標表空間中

  REMAP_TABLESPACE=source_tablespace:target:tablespace

  REUSE_DATAFILES

  該選項指定建立表空間時是否覆蓋已存在的數據文件默認為N

  REUSE_DATAFIELS={Y | N}

  SKIP_UNUSABLE_INDEXES

  指定導入是是否跳過不可使用的索引默認為N

  SQLFILE

  指定將導入要指定的索引DDL操作寫入到SQL腳本中

  SQLFILE=[directory_object:]file_name

  Impdp scott/tiger DIRECTORY=dump DUMPFILE=tabdmp SQLFILE=asql

  STREAMS_CONFIGURATION

  指定是否導入流元數據(Stream Matadata)默認值為Y

  TABLE_EXISTS_ACTION

  該選項用於指定當表已經存在時導入作業要執行的操作默認為SKIP

  TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

  當設置該選項為SKIP時導入作業會跳過已存在表處理下一個對象;當設置為APPEND時會追加數據為TRUNCATE時導入作業會截斷表然後為其追加新數據;當設置為REPLACE時導入作業會刪除已存在表重建表病追加數據注意TRUNCATE選項不適用與簇表和NETWORK_LINK選項

  TRANSFORM

  該選項用於指定是否修改建立對象的DDL語句

  TRANSFORM=transform_name:value[:object_type]

  Transform_name用於指定轉換名其中SEGMENT_ATTRIBUTES用於標識段屬性(物理屬性存儲屬性表空間日志等信息)STORAGE用於標識段存儲屬性VALUE用於指定是否包含段屬性或段存儲屬性object_type用於指定對象類型

  Impdp scott/tiger directory=dump dumpfile=tabdmp

  Transform=segment_attributes:n:table

  TRANSPORT_DATAFILES

  該選項用於指定搬移空間時要被導入到目標數據庫的數據文件

  TRANSPORT_DATAFILE=datafile_name

  Datafile_name用於指定被復制到目標數據庫的數據文件

  Impdp system/manager DIRECTORY=dump DUMPFILE=ttsdmp

  TRANSPORT_DATAFILES=/user/data/tbsf

  調用IMPDP

   導入表

  Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tabdmp

  TABLES=deptemp

  Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tabdmp

  TABLES=scottdeptscottemp REMAP_SCHEMA=SCOTT:SYSTEM

  第一種方法表示將DEPT和EMP表導入到SCOTT方案中第二種方法表示將DEPT和EMP表導入的SYSTEM方案中

  注意如果要將表導入到其他方案中必須指定REMAP SCHEMA選項

  導入方案

  Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schemadmp

  SCHEMAS=scott

  Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schemadmp

  SCHEMAS=scott REMAP_SCHEMA=scott:system

  導入表空間

  Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespacedmp

  TABLESPACES=user

  導入數據庫

  Impdp system/manager DIRECTORY=dump_dir DUMPFILE=fulldmp FULL=y


From:http://tw.wingwit.com/Article/program/Oracle/201311/16758.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.