1. 程式人生 > >oracle資料庫從9i遷移到11g

oracle資料庫從9i遷移到11g

0、匯出和匯入之前首先要確認兩個資料庫的字符集是否一致

ExportImport是一對讀寫Oracle資料的工具。ExportOracle資料庫中的資料輸出到作業系統檔案中, Import把這些檔案中的資料讀到Oracle資料庫中,由於使用exp/imp進行資料遷移時,資料從源資料庫到目標資料庫的過程中有四個環節涉及到字符集,如果這四個環節的字符集不一致,將會發生字符集轉換。四個環節字符集是
1)源資料庫字符集2Export過程中使用者會話字符集(通過NLS_LANG設定)3Import過程中使用者會話字符集(通過NLS_LANG設定)4)目標資料庫字符集

檢查資料庫字符集設定:
SQL>select userenv(‘language’) from dual;

查詢oracle client端的字符集:

    在windows平臺下,就是登錄檔裡面相應OracleHomeNLS_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