參考來源:https://jingyan.baidu.com/article/9113f81b2040862b3314c757.html
第一步:
1,用管理員權限打開dos窗口
2,登錄命令:
sqlplus sys/oracle as sysdba
----------------------------
sqlplus system/oracle@orcl
注意:
如果提示命令無效,那就是你沒有配置好oracle的環境變量(想當年我也被這個問題困擾着),配置oracle環境變量的方法如下:
1)右擊“我的電腦”->選擇“屬性”->選擇“高級”->單擊“環境變量”
2)選擇“Path”這一行,單擊“編輯”,在“Path”的變量值文本框的最后面先加入一個分號“:”,然后再分號后面加入sqlplus文件
的目錄路徑,如“C:\Program Files\oracle\product\10.2.0\db_1\BIN”,然后點擊“確定”按鈕。
3)如果在“系統變量”列表框下面的“變量”列中找不到“ORACLE_HOME”和“ORACLE_SID”這兩個變量,則需要下面操作,否則無需一下操作。
4)在“系統變量”中點擊“新建”按鈕,在“變量名”中輸入“ORACLE_HOME”,變量值中輸入Oracle的安裝目錄路徑,如“C:\Program Files\oracle\product\10.2.0\db_1”,然后點擊“確定”按鈕。
5)在“系統變量”中點擊“新建”按鈕,在“變量名”中輸入“ORACLE_SID”,變量值中輸入數據庫的實例名,然后點擊“確定”按鈕。
ORACLE_HOME:Oracle數據庫軟件的安裝目錄
ORACLE_SID:Oracle數據庫的實例名
Oracle 數據庫實例名:用於和操作系統進行聯系的標識,即數據庫和操作系統之間的交換是通過數據庫實例名來體現的。
第二步:EXPDP備份命令
1,創建oracle的備份目錄:
這僅僅是在oracle里設定的目錄,並沒有真正創建
create directory dbdata as 'E:\oracledatabase\dbdir';
2,可以通過這句命令查看到這個目錄
sql>select * from dba_directories;
3,賦於要導出數據表的所屬用戶權限
grant read,write on directory dbdata to netgeo;
4,好了,到了關鍵一步,之前走了不少彎路,但其它是小問題,在網上零零碎碎查了很多資料,終於找到原因。
首先,要切換回命令窗口,不要再在sql>下運行,然后輸入命令:
5,上面報了一個錯ORA-39002:操作無效
原因是D:\temp\dmp這個目錄不存在,別以為create directory之后就會自動生成文件夾,也別以為執行expdp后會自動生成文件夾,要自己手動新建這個目錄文件夾的。
新建文件夾后再試一下,果然成功了!恭喜你,已成功備份!
編輯好導出語句,重新打開另外一個dos窗口,直接執行導出即可。
expdp system/oracle@orcl directory=dbdata dumpfile=AHNGRM.dmp logfile=AHNGRM.log schemas=AHNGRM
導出全庫
expdp ahngrm/gxlu_sw2 directory=dbdata dumpfile=AHNGRM.dmp logfile=AHNGRM.log full=y compress=y
6,如果你要問,導出來的dmp文件怎樣還原回去。好吧,做人做到底,為了省去你再找方法的麻煩,這里
我也做一個演示(一般備份的數據是等到數據庫有問題時才用的上)。
首先,再一次登錄數據庫 sqlplus system/oracle@orcl
然后,刪除目標數據庫用戶 drop user AHNGRM cascade;
7,現在來再一次創建用戶,可以用命令創建,也可以在plsql里創建,這里在plsql創建。
用system登錄數據庫,然后右鍵users--新建
然后填寫你的賬號名稱,必須和備份時的用戶一致,並賦於相應的權限
最后點擊應用,完成用戶創建。
8,返回DOS命令窗口,不再是sql>
輸入導入命令:impdp system/oracle@orcl directory=dbdata dumpfile=AHNGRM.DMP logfile=AHNGRM.log schemas=AHNGRM
導入成功!
