修改 oracle xe 字符集 ZHS16GBK

Oracle XE 执行安装程序后,很简单的默认为 SIMPLIFIED CHINESE_CHINA.AL32UTF8 ,通过如下方法可以修改成为 ZHS16GBK 。
客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。客户端的字符集设置存在多个地方: session>环境变量>注册表>参数文件
字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American。

查看数据库字符集

/* 服务器字符集 */
select * from nls_database_parameters;--其来源于props$

/* 客户端环境字符集 */
select * from nls_instance_parameters;--其来源于v$parameter

/* 会话环境字符集 */
select * from nls_session_parameters;--其来源于v$nls_parameters

设置服务器字符集

/* 1 登录sys用户 */
SQL>connect sys/manager as sysdba;

/* 2 关闭数据库 */
SQL>shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

/* 3 数据库装载 */
SQL>startup mount;
ORACLE 例程已经启动。

Total System Global Area 1068937216 bytes
Fixed Size                  2260048 bytes
Variable Size             788530096 bytes
Database Buffers          272629760 bytes
Redo Buffers                5517312 bytes
数据库装载完毕。


/* 4. 数据字符集修改 */
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 ZHS16GBK;
数据库已更改。

/* 5. 重启数据库 */
SQL>shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

SQL>startup;
ORACLE 例程已经启动。

Total System Global Area 1068937216 bytes
Fixed Size                  2260048 bytes
Variable Size             788530096 bytes
Database Buffers          272629760 bytes
Redo Buffers                5517312 bytes
数据库装载完毕。
数据库已经打开。

你可能感兴趣的:(oracle)