oracle資料庫從9i遷移到11g
阿新 • • 發佈:2019-02-14
0、匯出和匯入之前首先要確認兩個資料庫的字符集是否一致
1、匯出: EXP 使用者名稱/密碼 BUFFER=64000 FILE=C:\備份檔名.DMP OWNER=資料庫使用者名稱 2、匯入 IMP 使用者名稱/密碼 BUFFER=64000 FILE=C:\備份檔名.DMP FROMUSER=資料庫使用者名稱 TOUSER=資料庫使用者名稱 例如:物資資料的使用者名稱為wz,密碼為:tywz 1、在原資料庫匯出:exp wz/tywz buffer=64000 file=d:\wz.dmp owner=wz 2、在新資料庫新建表空間,新建使用者wz 3、匯入資料:imp wz/tywz buffer=64000 file=d:\wz.dmp fromuser=wz touser=wz
Export和Import是一對讀寫Oracle資料的工具。Export將Oracle資料庫中的資料輸出到作業系統檔案中,
Import把這些檔案中的資料讀到Oracle資料庫中,由於使用exp/imp進行資料遷移時,資料從源資料庫到目標資料庫的過程中有四個環節涉及到字符集,如果這四個環節的字符集不一致,將會發生字符集轉換。四個環節字符集是:
(1)源資料庫字符集(2)Export過程中使用者會話字符集(通過NLS_LANG設定)(3)Import過程中使用者會話字符集(通過NLS_LANG設定)(4)目標資料庫字符集
檢查資料庫字符集設定:
SQL>select userenv(‘language’) from dual;
查詢oracle client端的字符集:
在windows平臺下,就是登錄檔裡面相應OracleHome的NLS_LANG。
還可以在dos窗口裡面自己設定,比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK
這樣就隻影響這個窗口裡面的環境變數。
在unix平臺下,就是環境變數NLS_LANG。
$echo $NLS_LANG
AMERICAN_AMERICA.ZHS16GBK
如果檢查的結果發現server端與client端字符集不一致,請統一修改為同server端相同的字符集。
1、匯出: EXP 使用者名稱/密碼 BUFFER=64000 FILE=C:\備份檔名.DMP OWNER=資料庫使用者名稱 2、匯入 IMP 使用者名稱/密碼 BUFFER=64000 FILE=C:\備份檔名.DMP FROMUSER=資料庫使用者名稱 TOUSER=資料庫使用者名稱 例如:物資資料的使用者名稱為wz,密碼為:tywz 1、在原資料庫匯出:exp wz/tywz buffer=64000 file=d:\wz.dmp owner=wz 2、在新資料庫新建表空間,新建使用者wz 3、匯入資料:imp wz/tywz buffer=64000 file=d:\wz.dmp fromuser=wz touser=wz