沒動手做一遍真不知會有這么多坑,上次做過一次導入,是在SqlPlus命令行下完成的,這次做做導出,把剛從SqlServer遷移過來的【庫】備份一下
1、SqlServer的SSMS是備份一個文件,把表/數據/存儲過程/函數同時備份成一個bak
PL/SQL只能把表數據和對象(存儲過程等)分開導出?不大方便啊
2、工具 -> 導出表,導出.dmp格式
一開始發現【導出】按鈕是灰色的
plsql沒有根據oracle home 環境變量找到imp.exe/exp.exe可執行文件, 故不能進行導入導出操作。 解決辦法:可以配置oracle home環境變量或者點擊import executable 后面的文件夾圖標,手動定位到oracle安裝目錄下的 E:\\oracle\\product\\10.2.0\\db_1\\BIN\\exp.exe,即可。
可能是因為當時客戶端沒裝好,要手動指定到安裝目錄下BIN下的ep.exe
指定完【導出】按鈕是可以點了,但點完一閃而過,又看不到報錯原因,沒有實際導出
一種可能是沒有權限
如果點擊導入\\導出按鈕后,屏幕一閃而過,沒有成功導入的話,有可能是你的當前用戶不具備導入\\導出操作權限,可賦於dba權限進行操作。 grant dba to yourusername.
一種是要添加系統環境變量(加了也不能馬上生效,最后注銷了才行)
設置環境變量就可以了。
變量名:ORACLE_HOME
變量值:為ORACLE安裝bin目錄的上一級目錄,假如你的bin目錄就在d:\oracle\bin
那么變量值就設置為d:\oracle
一種是版本不同(本次不是這種情況)
10g的oracle數據庫 不能用11g的客戶端去導出。導出窗口閃一下就消失,但導出的表又很多的,就說明那個客戶端不能導出了啊。
3、工具 -> 導出用戶對象
導對象還比較順利,是導出.sql文本,不是.dmp
一個簡單的備份就有這些名堂,晚上有空再試試導入