oracle資料庫編碼轉換
阿新 • • 發佈:2019-01-24
場景:伺服器上有個編碼為UTF8的資料庫,然後本地是ZHS16GBK。我直接用EXP命令導下來之後,發現數據庫是亂碼。
解決過程:由於伺服器上的編碼不敢輕易更改,所以考慮將本地編碼改為UTF8,進行匯入之後,再將本地編碼轉換為ZHS16GBK。
1、先查一下本地資料庫的編碼,語句是
select * from nls_database_parameters
2、然後開始修改本地的資料庫編碼:開啟CMD,輸入sqlplus,然後輸入使用者名稱密碼登入。
3、使用以下程式碼,更改資料庫編碼(直接複製貼上進CMD就可以直接執行),這裡是將本地的資料庫國際編碼改為UTF8,國家編碼暫時不用管。
conn / as sysdba;
shutdown immediate;
startup mount;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
alter database open;
alter database character set INTERNAL_USE UTF8;
shutdown immediate;
startup;
4、使用EXP匯出伺服器上的UTF8庫,再用IMP匯入到本地。