1.導出dump數據文件 expdp schemas=RBMS directory=DATA_PUMP_DIR dumpfile=RBMS_20160412.dmp schemas=模式,可以理解為用戶 RBMS 是用戶名 directory=目錄,DATA_PUMP_DIR是創建資料庫預設創建的目 ...
1.導出dump數據文件
expdp schemas=RBMS directory=DATA_PUMP_DIR dumpfile=RBMS_20160412.dmp
schemas=模式,可以理解為用戶 RBMS 是用戶名
directory=目錄,DATA_PUMP_DIR是創建資料庫預設創建的目錄,用於存放資料庫導入導出的文件及日誌
dumpfile=dump文件名,RBMS_20160412.dmp是我們自己定義的導出文件ming名稱
2.查詢DATA_PUMP_DIR的具體路徑。
select * from dba_directories;
例如:C:\04-database\admin\rbms\dpdump\
3.導入dump文件
impdp RBMS/RBMS@RBMS schemas=RBMS dumpfile =RBMS.DMP directory=DATA_PUMP_DIR
RBMS/RBMS@RBMS 指定了用戶名、密碼及資料庫,這個用戶可以是未創建的,導入時會自動創建此用戶
4.解決導入數據亂碼問題
簡單來說,就是要確定server端(oracle本身)、client端(windows系統)、dmp文件這三者字元集是否一致。
這個亂碼折騰了我好長時間,說下亂碼的原因:
(1)公司的破電腦是英文系統,第一創建資料庫忘了改oracle的字元集,預設不是ZHS16GBK。
(2)window 7 系統 新建的oracle資料庫,註冊表中沒有oracle相關信息。
唯一欣慰的是我的文件的字元集可以確定是ZHS16GBK。
原因(1)解決問題最快的辦法就是刪了資料庫,重新建,慎重選擇了字元集ZHS16GBK。
原因(2)配置oracle系統環境變數:
變數名 ORACLE_HOME
變數值 E:\Oracle\product\11.2.0\dbhome_1 -- 根據自己的路徑修改
變數名 TNS_ADMIN
變數值 E:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN -- 根據自己的路徑修改
變數名 NLS_LANG。
變數值 SIMPLIFIED CHINESE_CHINA.ZHS16GBK -- 改成跟server端一樣的字元集
變數名 ORACLE_SID。
變數值 RBMS -- RBMS是我自己的sid,可以查看tnsnames.ora
ps:
(1)要是只用Oracle自帶的sql*plus的話,只要啟動OracleServiceORCL即可,要是使用PL/SQL Developer等第三方工具的話,OracleOraDb11g_home1TNSListener服務也要開啟。OracleDBConsoleorcl是進入基於web的EM必須開啟的,其餘服務很少用。
(2)oracle的需要瞭解的配置文件,listener.ora 和tnsnames.ora。