1. 程式人生 > >Oracle資料庫匯入匯出exp/imp與expdp/impdp

Oracle資料庫匯入匯出exp/imp與expdp/impdp

1.exp/imp與expdp/impdp

(1) 把使用者usera的物件導到使用者userb,用法區別在於

exp/imp : fromuser=usera touser=userb ,
expdp/impdp : 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:只匯出資料的記錄) (5) expdp是[10g]的新特性而且只能在伺服器執行。而exp/imp是通用的。 (6) oracle11g中有個新特性,當表無資料時,不分配segment,以節省空間,所以exp導不出空表。解決的辦法是用expdp, 當然也可以設定deferred_segment_creation 引數 或者 insert一行,再rollback,但是這樣很麻煩。

2.常用匯出方法

在平常備庫和資料庫遷移的時候,當遇到大的資料庫的時候在用exp的時候往往是需要好幾個小時,耗費大量時間。oracle10g以後可以用expdp來匯出資料庫花費的時間要遠小於exp花費的時間,而且檔案也要小很多。 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_dumpLOGFILE=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\'\" 常用一些引數說明: 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 作業上輸入命令查詢及控制當前作業。 3.您可以通過 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 作業相關的開銷可能超過並行執行緒的效益,並因此而降低效能。並行方式只有在表的數量多於並行值並且表很大時才是有效的。

在plsql或者sqlplus中執行命令

create directory dump_test as 'F:\xuyi\dump'

執行該命令之前,要首先在硬碟上建立'F:\xuyi\dump'對應的檔案件

--檢視一下是否存在該目錄

select * from dba_directories;

--授權給操作使用者這個dump目錄的許可權         【shopbiz2是一個已經存在的使用者】

grant read, write on directory dump_test to shopbiz2;

使用本地使用者shopbiz2進行匯出資料,匯出到dump_test指定的目錄中.即'F:\xuyi\dump'

格式:

Expdp 本地使用者/使用者的密碼@oracle的sid  , directory引數指定匯出到本地目錄  dumpfile指定匯出檔案的檔名

expdp  shopbiz2/[email protected]  directory=dump_test  dumpfile=a.dmp logfile=aa.log

4.exp和expdp原理對比

1.exp/imp客戶端程式,受網路,磁碟的影響;impdp/expdp伺服器端程式,只受磁碟的影響

2.假設檔案把檔案匯出在服務端,exp常規方式是使用SELECT的方式查詢資料庫中的資料,是需要通過buffer cache並通
  過sql的語句處理層再轉移至exp的匯出檔案(即要經過sga,pga才傳輸到客戶端,而exp直接路徑則是直接從磁碟上將數
  據轉移至exp的匯出檔案,所以速度更快;而expdp是exp的升級版,相當於exp + direct mode + parallel(可能對導
  出文件還進行了壓縮,這是從匯出檔案的對比結果發現的,具體不清楚)。所有從總的來說,expdp比exp提供了並行的
  方式(寫入多個匯出檔案),impdp的並行機制也讓其比imp快很多



相關推薦

Oracle資料庫匯入匯出exp/impexpdp/impdp

1.exp/imp與expdp/impdp (1) 把使用者usera的物件導到使用者userb,用法區別在於 exp/imp : fromuser=usera touser=userb ,expdp/impdp : remap_schema=’usera’:'user

Oracle匯入匯出 EXP / IMPEXPDP / IMPDP 資料泵匯出匯入的方法

  【Oracle】EXPDP和IMPDP資料泵進行匯出匯入的方法 一、expdp/impdp和exp/imp的區別 1、exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。 2、expdp和impdp是服務端的工具程式,他們只能在oracle服務端

Oracle匯入匯出資料庫(exp/impexpdp/impdp的區別)

  Oracle匯入匯出資料庫(exp/imp和expdp/impdp的區別) 目錄索引 1、exp和expdp的區別 2、expdp匯出資料庫流程   一、↓↓exp和expdp的區別↓↓ 1、exp和expdp最明顯的區別就是匯出速度的不同。exp

Oracle資料庫匯入匯出 imp/exp備份還原

  Oracle資料匯入匯出imp/exp    Oracle資料匯入匯出imp/exp 在cmd的dos命令提示符下執行,而不是在sqlplus裡面,但是格式一定要類似於:   imp/exp 使用者名稱/密碼@serv

大資料ETL實踐探索(1)---- python oracle資料庫匯入匯出

文章大綱 ETL 簡介 工具的選擇 1. oracle資料泵 匯入匯出實戰 1.1 資料庫建立 1.2. installs Oracle 1.3 export / import data from oracle

Oracle資料庫 匯入匯出常用操作命令

該命令在“開始選單>>執行>>cmd”中執行 一、資料匯出(exp.exe) 1、將資料庫orcl完全匯出,使用者名稱system,密碼accp,匯出到d:\daochu.dmp檔案中  exp system/[email protect

oracle 資料庫匯入匯出

create tablespace xx datafile 'D:\hiscedata\xx.ORA' SIZE 5000M AUTOEXTEND ON next 100m;假如要匯入多個庫,就需要建立多個表空間,在此步驟,需建立 D:\hiscedata這個資料夾,檔案不需要建立,只需建立資料夾即可  然後

Oracle資料庫匯入匯出emp檔案

首先詢問對方資料庫的表空間名稱和大小,然後在你的oracle中建立相應表空間,最後使用命令匯入、匯出資料。 補充: 1.要新建一個數據庫; Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可 以把資料從遠端資料庫伺服器匯出到本地的dmp

Oracle資料匯入匯出imp/exp命令 10g以上expdp/impdp命令

Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。 執行環

Oracle 資料匯入匯出imp/exp命令 10g以上expdp/impdp命令

Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp文 件,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。  

Oracle匯入匯出exp/imp/expdp/impdp

匯出 exp 將資料庫完全匯出,使用者名稱system 密碼manager 匯出到exp_export.dmp中 exp system/manager@hostname:1521/ora11g fil

Oracle資料庫備份,expexpdp的區別,impimpdp的區別

oracle資料庫備份 1: 建立dmp匯出目錄  create directory 目錄名 as '目錄路徑' 2: 檢視當前建立的所有dmp匯出目錄 select * from dba_directories 3: 備份 expdp 使用者名

Oracle資料匯入匯出imp/exp sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 解決辦法

sp2-0734:未知的命令開頭'imp 忽略了剩餘行預設分類 2010-03-03 17:36:08 閱讀134 評論0 字號:大中小 很多時候問題並沒有我們想象的那麼複雜,比如這個問題,我Google,百度了很久都沒有結果, 最後在Google的一個小連結裡面看到了,

Oracle資料匯入匯出imp/exp命令

 Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。 執

Oracle 資料匯入匯出(imp/exp)

環境:windows下,oracle11g 1.啟動oracle服務 net start OracleDBConsoleorclnet start OracleOraDb11g_home1TNSListenernet start OracleServiceORCL 2.匯出資料 exp  testuse

資料庫匯入匯出expdpimpdp

資料庫操作 (1)資料庫匯入匯出expdp,impdp 在匯入匯出資料庫的時候,經常會用到exp和imp,在資料量小的情況下可以隨意使用,但是當資料量大,表中資料有百萬,千萬條的時候,就要等好久好久好久。。 oracle官方肯定也考慮到了這樣的問題,於是出現了expdp和impdp,這是oracle 10

如何在oracle匯入匯出dmp資料庫檔案

 Oracle資料匯入匯出imp/exp就相當於oracle資料還原與備份。exp命令可以把資料從遠端資料庫伺服器匯出到本地的dmp檔案,imp命令可以把dmp檔案從本地匯入到遠處的資料庫伺服器中。 利用這個功能可以構建兩個相同的資料庫,一個用來測試,一個用來正式使用。  

oracle資料庫匯入匯出的版本相容性問題

由於Oracle的imp/exp元件的操作原則--向下相容,且有一些規則:     規則1:低版本的exp/imp可以連線到高版本(或同版本)的資料庫伺服器,但高版本的exp/imp不能連線到低版本的資料庫伺服器;     規則2:高版本exp出的dmp檔案,低版本無法im

ORACLE資料庫匯出DMP檔案或將DMP檔案匯入ORACLE資料庫的兩種操作

1 淺析DMP       DMP是一種資料庫檔案,其內容包括了整個資料庫和表以及用於的所有資訊,如儲存過程,表定義,表結構等。用於程式設計師除錯程式。2 匯出DMP檔案的兩種方式      匯出資料庫的DMP檔案一般使用命令提示符或SQLPlus兩種方式。這兩種方式在命令上

Oracle11G 資料庫匯入匯出(expdp,impdp)

一,匯入.dump資料庫檔案(expdp 命令匯出的)步驟。     1、建立匯入使用者及表空間,為一般為expdp命令匯出時的使用者。 create tablespace tempspace datafile 'D:\DB\Oracle11G\dbdata