oracle 11g邏輯備份介紹-expdp/impdp

 

 

Data Pump(數據泵) 是從oracle10g 引入的全新的,用於快速遷移數據的方式。Data Pump與exp/imp最大的區別是,Data Pump是一個位於服務器端的工具,經過Data Pump導出的轉儲文件只能位於數據庫服務器端,而不能將該轉儲文件導出導客戶端。 Data Pump 有如下優勢:sql

1) 任務能夠暫停,重啓數據庫

2) 能夠只處理某些對象,不處理某些對象,或者只處理某些對象中知足條件的數據。服務器

3) 在不實際執行導出的狀況下,估計須要的磁盤空間oracle

4) 經過db link 將遠程數據庫導出到轉儲文件ide

5) 經過db link,直接將遠程數據庫中的數據導入到當前數據庫工具

6) 導入時能夠修改數據所在的schema名稱,表空間名稱以及數據文件名稱。spa

7) 經過採樣,導出部分數據。3d

8) 只導出元數據。日誌

9) 並行操做。對象

1、expdp - 數據導出

Data Pump導出程序expdp可以按照幾種方式進行,其中包括數據庫、對象模式、表和表空間.

Data Pump經過指定目錄對象(directory object)來控制生成的轉儲文件應該放在服務器哪一個目錄下。

使用create directory語句建立目錄對象

SQL>create directory dump_dir as ‘/oracle/datapump/dumps’

SQL>create directory log_dir as ‘/oracle/datapump/logs’

將目錄對設置爲公共讀寫

SQL>grant read,write on directory dump_dir to public;

受權

SQL>grant read,write on directory dump_dir to scott

一、數據庫導出方式

$expdp system/passwd directory= dump_dir dumpfile=alldb.dmp full=y

二、對象模式導出方式

$expdp scott/tiger directory= dump_dir dumpfile=scott.dmp schemas=scott

三、表導出方式

$expdp scott/tiger directory= dump_dir dumpfile=tables.dmp nologfile=y content=metadata_only

參數說明

nologfile:表示不會操做日誌寫入磁盤

content=metadata_only:表示僅是導出元數據,而不會導出表中的數據,若是content=data_only則剛好相

反,默認狀況下兩者所有導出

四、表空間導出方式

$expdp system/passwd dumpifle=backup:users_ts.dmp logifle=backup:users_ts.log tablespaces=users;

2、impdp - 數據導入

Data Pump導入程序impdp一樣能夠按照所有、對象、表和表空間四種方式。在使用導入數據泵時,比較經常使用的選項爲轉換參數,以下:

REMAP_TABLESPACE:用於將對象從一個表空間導入到另外一個表空間,好比指定

remap_tablespace=users:example

說明將位於users表空間中的對象導入到example表空間

REMAP_SCHEMA:用於將對象跨用戶遷移。例如

remap_schema=hr:scott

指定將hr用戶下的對象遷移到scott用戶下。

舉例:

1.導入指定的表

$impdp user1/passwd directory=backup dumpfile=exp01.dmp tables=(emp) remap_schema=hr:user1 remap_tablespace=users:example

2.導入整個數據庫

$impdp system/passwd full=y dumpfile=backup:alldb.dmp nologfile=y sqlfile=backup:alldb.sql

參數sqlfile=backup:alldb.sql表示將元數據(DDL數據)寫入到指定目錄文件中。backup是一個數據庫目

錄對象

3. 經過db link 進行跨平臺的數據遷移

建立數據庫連接:

SQL>create database link orcl connect to user1 identified by passwd using ‘orcl’

建立impdb 參數文件:imp_par.txt

network_link = orc1

remap_schema = user1:hr

remap_tablespace = example:users

schemas = user1

job_name = cross_network

上述參數文件的目的是將遠程數據庫orcl中用戶user1下的全部對象導出到當前數據庫中hr用戶下。

其中,user1用戶下的對象存放在example數據空間中,hr用戶下的數據存放在users數據空間中。

相關文章
相關標籤/搜索