1. 程式人生 > >Windows DOS窗體下Oracle 資料庫的匯入匯出命令

Windows DOS窗體下Oracle 資料庫的匯入匯出命令

oracle 使用者建立 資料庫的匯入匯出imp/exp 可以在SQLPLUS.EXE或者DOS(命令列)中執行
執行環境:可以在SQLPLUS.EXE或者DOS(命令列)中執行,
DOS中可以執行時由於 在oracle 8i 中 安裝目錄ora81BIN被設定為全域性路徑,
該目錄下有EXP.EXE與IMP.EXE檔案被用來執行匯入匯出。
建立使用者
給使用者增加匯入資料許可權的操作
第一,啟動sql*puls
第二,以system/manager登陸
第三,create user 使用者名稱 IDENTIFIED BY 密碼 (如果已經建立過使用者,這步可以省略)
第四,GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,
   DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,
      DBA,CONNECT,RESOURCE,CREATE SESSION TO 使用者名稱字
第五, 執行-cmd-進入dmp檔案所在的目錄,
      imp userid=system/manager full=y file=*.dmp
      或者 imp userid=system/manager full=y file=filename.dmp
執行示例:
F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp
下面介紹的是匯入匯出的例項。
資料匯出:
1 將資料庫TEST完全匯出,使用者名稱system 密碼manager 匯出到D:daochu.dmp中
   exp file=d:daochu.dmp full=y
2 將資料庫中system使用者與sys使用者的表匯出
   exp file=d:daochu.dmp owner=(system,sys)
3 將資料庫中的表inner_notify、notify_staff_relat匯出
    exp file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4 將資料庫中的表table1中的欄位filed1以"00"打頭的資料匯出
   exp file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的匯出,對於壓縮,既用winzip把dmp檔案可以很好的壓縮。
也可以在上面命令後面 加上 compress=y 來實現。
資料的匯入
1 將D:daochu.dmp 中的資料匯入 TEST資料庫中。
   imp file=d:daochu.dmp
   imp full=y file=d:datanewsmgnt.dmp ignore=y
   上面可能有點問題,因為有的表已經存在,然後它就報錯,對該表就不進行匯入。
   在後面加上 ignore=y 就可以了。
2 將d:daochu.dmp中的表table1 匯入
imp file=d:daochu.dmp tables=(table1)
基本上上面的匯入匯出夠用了。不少情況要先是將表徹底刪除,然後匯入。
附錄一:
Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
先建立import9.par,
然後,使用時命令如下:imp parfile=/filepath/import9.par
例 import9.par 內容如下:
        FROMUSER=TGPMS       
        TOUSER=TGPMS2     (注:把表的擁有者由FROMUSER改為TOUSER,FROMUSER和TOUSER的使用者可以不同)          
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp
        log==/backup/import_20030623.log
用Oracle閃回功能恢復偶然丟失的資料
Oracle 10g的閃回查詢概述
  與Oracle 9i相比Oracle 10g的Flashback有了非常大的改進,從普通的Flashback Query發展到了多種形式,主要表現在如下幾方面新特性:
  1、Flashback Database
  Oracle Flashback Database特性允許通過SQL語句Flashback Database語句,讓資料庫前滾到當前的前一個時間點或者SCN,而不需要做時間點的恢復。閃回資料庫可以迅速將資料庫回到誤操作或人為錯誤的前一個時間點,如Word中的"撤消"操作,可以不利用備份就快速的實現基於時間點的恢復。Oracle通過建立新的Flashback Logs(閃回日誌),記錄資料庫的閃回操作。如果希望能閃回資料庫,需要設定如下引數:DB_RECOVER_FILE_DEST日誌的存放位置,DB_RECOVER_FILE_DEST_SIZE恢復區的大小。在建立資料庫的時候,Oracle將自動建立恢復區,但預設是關閉的,需要執行alter database flashback on命令。
  例:執行Flashback Database命令格式。
SQL>flashbac