程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle exp/imp導出導入命令及數據庫備份

Oracle exp/imp導出導入命令及數據庫備份

編輯:Oracle數據庫基礎

簡介: Oracle數據導入導出imp/exp就相當於Oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。執行環境:可以在SQLPLUS.EXE或者DOS(命令行)中執行, DOS中可以執行時由於 在oracle 8i 中  安裝目錄\ora81\BIN被設置為全局路徑, 該目錄下有EXP.EXE與IMP.EXE文件被用來執行導入導出。 Oracle用Java編寫,SQLPLUS.EXE、EXP.EXE、IMP.EXE這兩個文件有可能是被包裝後的類文件。 SQLPLUS.EXE調用EXP.EXE、IMP.EXE所包裹的類,完成導入導出功能。

 導出工具 exp:


 
1. 它是操作系統下一個可執行的文件 存放目錄/Oracle_HOME/bin   exp導出工具將數據庫中數據備份壓縮成一個二進制系統文件. 它有三種模式:
 
        a. 用戶模式:導出用戶所有對象以及對象中的數據;                                                                                                    
        b. 表模式: 導出用戶所有表或者指定的表;
        c. 整個數據庫: 導出數據庫中所有對象。
 
2. 導出工具exp交互式命令行方式的使用的例子
 
$exp test/test123@appd
Enter array fetch buffer size: 4096 > 回車
Export file: expdat.dmp > m.dmp 生成導出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回車wQeLin
Compress extents (yes/no): yes > 回車                                                                               
 Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specifIEd tables via Conventional Path ...wQeLinux聯盟
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要導出的表名
. . exporting table                        CMAMENU       4336 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) >要導出的表名n
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回車
Export terminated successfully without warnings.
 
3. 導出工具exp非交互式命令行方式的例子
 
 1) 將數據庫TEST完全導出,用戶名system 密碼manager 導出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp full=y
 2) 將數據庫中system用戶與sys用戶的表導出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
 3) 將數據庫中的表inner_notify、notify_staff_relat導出
    exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
 
 4) 將數據庫中的表table1中的字段filed1以"00"打頭的數據導出
   exp system/mana

ger@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like ''00%''\"
 
 上面是常用的導出,對於壓縮,既用winzip把dmp文件可以很好的壓縮。
 也可以在上面命令後面 加上 compress=y 來實現。

導入工具 imp

1. 它是操作系統下一個可執行的文件 存放目錄/Oracle_HOME/bin
imp導入工具將EXP形成的二進制系統文件導入到數據庫中.
   它有三種模式:
       a.  用戶模式: 導出用戶所有對象以及對象中的數據;
       b.  表模式: 導出用戶所有表或者指定的表;
       c.  整個數據庫: 導出數據庫中所有對象。

2.導入工具imp交互式命令行方式的例子wQeLinux聯盟
$ imp
Import: Release 8.1.6.0.0 - Production on 星期五 12月 7 17:01:08 2001
(c) Copyright 1999 Oracle Corporation.  All rights reserved.
用戶名:  test
口令:****
連接到: Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production
導入文件: expdat.dmp> /tmp/m.dmp
輸入插入緩沖區大小(最小為 8192 ) 30720>
>經由常規路徑導出由EXPORT:V08.01.06創建的文件
警告: 此對象由 TEST 導出, 而不是當前用戶
已經完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的導入
只列出導入文件的內容(yes/no):no>
由於對象已存在, 忽略創建錯誤(yes/no):no> yes
導入權限(yes/no):yes>
導入表數據(yes/no):yes>
導入整個導出文件(yes/no):no> yes
. 正在將TEST的對象導入到 SCOTT
. . 正在導入表                       "CMAMENU"       4336行被導入
成功終止導入,但出現警告。
3.導入工具imp非交互式命令行方式的例子

1 )將D:\daochu.dmp 中的數據導入 TEST數據庫中。
   imp system/manager@TEST  file=d:\daochu.dmp
   imp aichannel/aichannel@HUST full=y  file=file= d:\data\newsmgnt.dmp ignore=y
   上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行導入。
   在後面加上 ignore=y 就可以了。
 2 )將d:\daochu.dmp中的表table1 導入
 i

mp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
 
 基本上上面的導入導出夠用了。不少情況要先是將表徹底刪除,然後導入。

自動實現數據庫的備份/恢復:

       利用oracle提供的數據備份工具Exp進行數據的導出備份或者利用Oracle提供的RMAN進行數據庫備份;利用Window22000 提供的定時任務,可以每天設定一個固定的時間,系統自動進行備份。具體實現過程:
  1.創建批處理文件Ora_Backup.bat,在批處理文件中包含:
   exp username/passWord@Oracleservice file=backup.dmp owner=(lee)
   
   其中:username 指oracle數據庫用戶名;passWord指Oracle數據庫用戶密碼;oracleservice 指Oracle網絡服務名;lee為要導出的用戶。

2.在Windows2000下利用定時任務自動實現數據庫的備份-創建任務

創建全備份任務:
創建任務計劃,設定每周六早上8:00執行數據備份
打開控制面板->任務計劃
點擊 添加任務計劃
點擊 下一步
選擇要執行的任務All_backup.bat,輸入任務名稱all_backup,選擇每周,點擊下一步。
選擇起始時間8:00,在請選擇下面日期中選擇星期六,點擊下一步。
數據用戶名和密碼,下一步。
點擊完成,完成全備份任務的創建。                                                                                         

數據恢復同理,創建批處理文件Orb_Backup.bat,在批處理文件中包含:
imp username/passWord@Oracleservice file=backup.dmp 創建任務計劃即可。但這樣會出現很多的問題,一般不這樣做。



       

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved