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。