1. 程式人生 > >oracle資料庫編碼轉換

oracle資料庫編碼轉換

場景:伺服器上有個編碼為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匯入到本地。