引言
由于安装时候未指定字符集默认安装的字符集为 WE8MSWIN1252
,为防止中文乱码问题将字符集调整为 ZHS16GBK
,调整过程做如下记录
登陆连接
sqlplus /nolog
- 连接sysdba
conn as sysdba
查看当前字符集
select userenv('language') from dual;
USERENV(‘LANGUAGE’) ----------------------------------------------------AMERICAN*_AMERICA.WE8MSWIN1252*
修改字符集
如果当前有连接处于active状态,kill掉session或者重启数据库。
- 停止数据库
shutdown immediate;
- 启动数据库
startup mount;
- 将数据库置于受限模式
alter system enable restricted session;
数据库设置为Restricted Mode,只有管理员(dba)以及有restricted session权限才可以连接用户。在修改为 Restricted Mode后,之前连接用户不受影响,新用户不能连接。
- 打开修改的数据库
alter database open;
- 修改字符集
ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
- 关闭受限模式
alter system disable restricted session;
- 再次查看字符集
select userenv('language') from dual;
至此,字符集修改完成