Oracle導出導入dmp文件(exp.imp命令行)


1.說明

使用Oracle命令行導出導入dmp文件,
從而在兩個數據庫之間快速轉移數據,
也可以用來作為數據庫的備份,
將來可以快速恢復數據。

命令:導出exp、導入imp
步驟:

  1. 使用Oracle的exp命令將指定數據庫導出為dmp文件;
  2. 然后將dmp文件上傳到需要導入的數據庫所在服務器;
  3. 使用Oracle的imp命令將dmp文件導入指定數據庫。

2.導出exp

在Oracle數據庫10.21.19.63上的guwei用戶下,
有兩張表USER_INFO,POLICY_INFO,
下面導出這兩張表的所有數據,
導出命令:

exp guwei/ai123456@10.21.19.63/orcl file=guwei_user_policy.dmp tables=USER_INFO,POLICY_INFO

導出日志:

Export: Release 11.2.0.1.0 - Production on Mon Oct 28 03:08:08 2019

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in AL32UTF8 character set and AL16UTF16 NCHAR character set

About to export specified tables via Conventional Path ...
. . exporting table                      USER_INFO  150904330 rows exported
. . exporting table                    POLICY_INFO         10 rows exported
Export terminated successfully without warnings.

導出說明:
這里導出1.5億條數據,耗時4分鍾左右,
導出的guwei_user_policy.dmp文件大小為7.8G。

3.上傳dmp文件

將dmp文件上傳到需要導入的數據庫所在服務器:

scp guwei_user_policy.dmp oracle@10.21.13.14:/home/oracle/script/guwei

4.導入imp

下面把USER_INFO,POLICY_INFO這兩張表導入,
導入到Oracle數據庫10.21.13.14上的yuwen用戶下,
導入命令:

imp yuwen/ai123456@10.21.13.14/orcl file=guwei_user_policy.dmp tables=USER_INFO,POLICY_INFO

導入日志:

Import: Release 12.1.0.2.0 - Production on Mon Oct 28 15:55:51 2019

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

Export file created by EXPORT:V11.02.00 via conventional path

Warning: the objects were exported by GUWEI, not by you

import done in US7ASCII character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses AL32UTF8 character set (possible charset conversion)
. importing GUWEI's objects into YUWEN
. importing GUWEI's objects into YUWEN
. . importing table                    "USER_INFO"  150904330 rows imported
. . importing table                  "POLICY_INFO"         10 rows imported
Import terminated successfully without warnings.

導入說明:
導入1.5億條數據,耗時40分鍾左右,性能還是比較好的。

5.三種導入導出類型

Oracle支持三種導入導出類型
分別是表方式(T方式),用戶方式(U方式),全庫方式(Full方式),
上面給出的示例是表方式(T方式)。

5.1 表方式(T方式)

將指定表的數據導出,
備份某個用戶模式下指定的對象(表),
使用如下命令:

exp guwei/ai123456@10.21.19.63/orcl rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFO

恢復備份數據中的指定表,
使用如下命令:

imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=n file=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFO

5.2 用戶方式(U方式)

將指定用戶的所有對象及數據導出,
備份某個用戶模式下的所有對象,
使用如下命令:

exp jnth/thpassword@oracle owner=guwei rows=y indexes=n compress=n buffer=50000000 file=exp_table.dmp log=exp_table.log

恢復備份數據的全部內容,
使用如下命令:

imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=n file=exp_table.dmp log=exp_table.log

恢復備份數據中的指定表,
使用如下命令:

imp yuwen/ai123456@10.21.13.14/orcl fromuser=guwei touser=yuwen rows=y indexes=n commit=y buffer=50000000 ignore=n file=exp_table.dmp log=exp_table.log tables=USER_INFO,POLICY_INFO

5.3 全庫方式(Full方式)

將數據庫中的所有對象導出,
備份完整的數據庫,
使用如下命令:

exp system/systempassword@oracle rows=y indexes=n compress=n buffer=50000000 full=y file=exp_table.dmp log=exp_table.log

導入完整數據庫,
使用如下命令:

imp system/systempassword@oracle rows=y indexes=n commit=y buffer=50000000 ignore=y full=y file=exp_table.dmp log=exp_table.log

6.導出導入的優缺點:

優點:

  • 簡單易行;
  • 可靠性高;
  • 不影響數據庫的正常運行。

缺點:

  • 只能提供到"某一時間點上"的恢復,不能最大可能的恢復數據;
  • 數據量大時,恢復較慢。

7.導出exp參數說明

參數名 說明 默認值
USERID 用戶名/口令  
FULL 導出整個文件 N
BUFFER 數據緩沖區的大小  
OWNER 導出指定的所有者用戶名列表  
FILE 輸出文件 (EXPDAT.DMP)
TABLES 導出指定的表名列表  
COMPRESS 是否壓縮導出的文件 Y
RECORDLENGTH IO 記錄的長度  
GRANTS 導出權限 Y
INCTYPE 增量導出類型  
INDEXES 導出索引 Y
RECORD 跟蹤增量導出 Y
ROWS 導出數據行 Y
PARFILE 參數文件名  
CONSTRAINTS 導出限制 Y
CONSISTENT 交叉表一致性  
LOG 屏幕輸出的日志文件  
STATISTICS 分析對象(ESTIMATE)  
DIRECT 直接路徑 N
TRIGGERS 導出觸發器 Y
FEEDBACK 顯示每 x 行 (0) 的進度  
FILESIZE 各轉儲文件的最大尺寸  
QUERY 選定導出表子集的子句  
TRANSPORT_TABLESPACE 導出可傳輸的表空間元數據 N
TABLESPACES 導出指定的表空間列表  

8.導入imp參數說明

參數名 說明 默認值
USERID 用戶名/口令  
FULL 導入整個文件 N
BUFFER 數據緩沖區大小  
FROMUSER 所有人用戶名列表  
FILE 輸入文件 (EXPDAT.DMP)
TOUSER 用戶名列表  
SHOW 只列出文件內容 N
TABLES 表名列表  
IGNORE 忽略創建錯誤 N
RECORDLENGTH IO記錄的長度  
GRANTS 導入權限 Y
INCTYPE 增量導入類型  
INDEXES 導入索引 Y
COMMIT 提交數組插入 N
ROWS 導入數據行 Y
PARFILE 參數文件名  
LOG 屏幕輸出的日志文件  
CONSTRAINTS 導入限制 Y
DESTROY 覆蓋表空間數據文件 N
INDEXFILE 將表/索引信息寫入指定的文件  
SKIP_UNUSABLE_INDEXES 跳過不可用索引的維護 N
FEEDBACK 每 x 行顯示進度  
TOID_NOVALIDATE 跳過指定類型 ID 的驗證  
FILESIZE 每個轉儲文件的最大大小  
STATISTICS 始終導入預計算的統計信息  
RESUMABLE 在遇到有關空間的錯誤時掛起  
RESUMABLE_NAME 用來標識可恢復語句的文本字符串  
RESUMABLE_TIMEOUT RESUMABLE 的等待時間  
COMPILE 編譯過程, 程序包和函數 Y
STREAMS_CONFIGURATION 導入 Streams 的一般元數據 Y
STREAMS_INSTANITATION 導入 Streams 的實例化元數據 N
TRANSPORT_TABLESPACE 導入可傳輸的表空間元數據  
TABLESPACES 將要傳輸到數據庫的表空間  
DATAFILES 將要傳輸到數據庫的數據文件  
TTS_OWNERS 擁有可傳輸表空間集中數據的用戶  

9.參考文章

Oracle數據庫exp和imp方式導數據
Oracle數據庫三種備份方案


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM