天天看點

修改oracle 資料伺服器編碼

我使用的oracle的版本是:

oracle database 11g enterprise edition release 11.2.0.1.0 - 64bit production

我原來的編碼是:zhs16gbk

sql> select userenv('language') from dual;

userenv('language')

----------------------------------------------------

simplified chinese_china.zhs16gbk

sql> select * from nls_database_parameters where parameter='nls_characterset';

parameter

------------------------------

value

-------------------------------------------------------------------------------

nls_characterset

zhs16gbk

使用oracle 用戶端navicat 時報錯,因為資料庫的編碼.

我想把資料庫的編碼改為utf-8

步驟如下:

c:\users\huangwei>sqlplus /nolog

sql*plus: release 11.2.0.1.0 production on 星期六 5月 3 19:49:06 2014

copyright (c) 1982, 2010, oracle.  all rights reserved.

sql> conn sys/root as sysdba

已連接配接。

sql> shutdown immediate

資料庫已經關閉。

已經解除安裝資料庫。

oracle 例程已經關閉。

sql> startup mount;

oracle 例程已經啟動。

total system global area 2438529024 bytes

fixed size                  2178176 bytes

variable size            1375732608 bytes

database buffers         1040187392 bytes

redo buffers               20430848 bytes

資料庫裝載完畢。

sql> alter system enable restricted session;

系統已更改。

sql> alter system set job_queue_processes=0;

sql> alter system set aq_tm_processes=0;

sql> alter database open;

資料庫已更改。

sql> alter database character set internal_use al32utf8;

sql> alter database national character set internal_use al16utf16;

sql> shutdown immediate;

sql> startup

redo buffers               20430848 bytes

資料庫已經打開。

再次檢視資料庫的編碼:

sql> conn sys/root as sysdba

--------------------------------------------------------------------------------

simplified chinese_china.al32utf8

------------------------------------------------------------

al32utf8