標籤:plsql 命令 ora 文本 http 參考 執行個體名 user read
參考來源:https://jingyan.baidu.com/article/9113f81b2040862b3314c757.html
第一步:
1,用管理員權限開啟dos視窗
2,登入命令:
sqlplus sys/oracle as sysdba
----------------------------
sqlplus system/[email protected]
注意:
如果提示命令無效,那就是你沒有配置好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/[email protected] 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/[email protected]
然後,刪除目標資料庫使用者 drop user AHNGRM cascade;
7,現在來再一次建立使用者,可以用命令建立,也可以在plsql裡建立,這裡在plsql建立。
用system登入資料庫,然後右鍵users--建立
然後填寫你的帳號名稱,必須和備份時的使用者一致,並賦於相應的許可權
最後點擊應用,完成使用者建立。
8,返回DOS命令視窗,不再是sql>
輸入匯入命令:impdp system/[email protected] directory=dbdata dumpfile=AHNGRM.DMP logfile=AHNGRM.log schemas=AHNGRM
匯入成功!
Windows下Oracle11g資料庫匯出備份