Oracle11g數據庫導入Oracle10g數據庫 EXPDP工具

EXPDP要注意的是,導出的文件是在服務器端的 DATA_PUMP_DIR目錄裏

11g備份,導入10g的時候會拋錯,直接阻止導入。

但是有時候還必須得把11g的數據庫導入到10g,我今天就遇到了這種情況。

一開始只是把11g中的表全部備份,成功導入10g。但是缺少視圖、存儲過程等。一個個sql創建累死人,方法太笨。請教了一下資深DBA,重新備份,重新導入,成功。

現在把我導入操作的全過程記錄下來,希望可以方便更多的人!


一、在11g服務器上,使用expdp命令備份數據

EXPDP USERID='SYS/cuc2009@cuc as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中,紅色文字部分是根據需要改寫的地方。例如我的sys密碼是cuc2009,數據庫sid是cuc,要到出的用戶名是sybj,要導入到10.2.0.1.0版本的Oracle數據庫中去。aa.dmp和aa.log將會在11g的dpdump目錄中生成,例如我的11g裝在了E盤下面,於是aa.dmp將會在E:/app/Administrator/admin/cuc/dpdump目錄下被生成。

二、在10g服務器上,使用impdp命令恢復數據

準備工作:1.建庫2.建表空間3.建用戶並授權4.將aa.dmp拷貝到10g的dpdump目錄下

1-3點可以去參考博主的上一篇博客“Oracle數據庫移植全步驟”,介紹的很詳細,這裏不再多說。關於第4點,我的10g裝在了e:/tools目錄下,於是我將aa.dmp文件拷貝到了E:/tools/admin/cucf/dpdump目錄下。

IMPDP USERID='SYS/cuc2009@cucf as sysdba' schemas=sybj directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0

其中紅色部分是根據需要改寫的地方。例如我的sys密碼是cuc2009,數據庫sid是cucf,要導入用戶名爲sybj,要導入到10.2.0.1.0版本的Oracle數據庫中去。aa.log將會在10g的dpdump目錄中生成。

---------------------------------------------------------

select * from dba_directories;

// 查詢文件存放目錄
grant read,write on directory DATA_PUMP_DIR to maximo;
// 權限
impdp maximo/maximo@gcmaximo DIRECTORY=DATA_PUMP_DIR DUMPFILE=maximo10_2_0_2_20g15_20110825.dmp FULL=y;

// 導入命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章