oracle 11g备份,导入oracle 10g
11g備份,導入10g的時候會拋錯,直接阻止導入。
但是有時候還必須得把11g的數據庫導入到10g,我今天就遇到了這種情況。
一開始只是把11g中的表全部備份,成功導入10g。但是缺少視圖、存儲過程等。一個個sql創建累死人,方法太笨。請教了一下資深DBA,重新備份,重新導入,成功。
現在把我導入操作的全過程記錄下來,希望可以方便更多的人!
一、在11g服務器上,使用expdp命令備份數據
EXPDP?USERID='sys/sys@orcl?as sysdba' schemas=hsrep directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
其中,紅色文字部分是根據需要改寫的地方。例如我的sys密碼是sys,數據庫sid是orcl,要到出的用戶名是hsrep,要導入到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裝在了D:\oracle\product\10.2.0\admin\orcl\dpdump目錄下,于是我將aa.dmp文件拷貝到了D:\oracle\product\10.2.0\admin\orcl\dpdump 目錄下。
IMPDP?USERID='SYS/sys@orcl?as sysdba' schemas=hserp directory=DATA_PUMP_DIR dumpfile=aa.dmp logfile=aa.log version=10.2.0.1.0
其中紅色部分是根據需要改寫的地方。例如我的sys密碼是sys,數據庫sid是orcl,要導入用戶名為hsrep,要導入到10.2.0.1.0版本的Oracle數據庫中去。aa.log將會在10g的dpdump目錄中生成。
---------------
注意:導入和導出的用戶必須一致!
裝載:http://blog.sina.com.cn/s/blog_5a2405d10100nerv.html
網上也有人說:可以先用一個10g的client導出11g的數據,在把導出的.dmp??imp到你想要導入的10g的機器。經過實驗發現有些觸發器用10g導出的話是會報錯的。還需要手動去建表上面的觸發器。
總結
以上是生活随笔為你收集整理的oracle 11g备份,导入oracle 10g的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java读取xml文件的四种方法
- 下一篇: spring定时任务时间格式cronEx