菏泽经济技术开发区:oracle10g数据库 中文乱码

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 03:11:14
[NOTE]更改ORACLE9i,ORACLE10g的字符集2008/06/22 02:18

备忘笔记:修改oracle9i的字符集。由原来的UTF-8修改为ZHS16GBK

//用sys用户以sysdba的身份登录

CONN SYS/123 AS SYSDBA;

//如果数据库实例已启动,先关闭

SHUTDOWN IMMEDIATE;

//启动,并加载控制文件等

STARTUP MOUNT;

//因必须是 RESTRICTED 模式下才能修改 ,故先将数据库切换至 RESTRICTED 模式

ALTER SYSTEM ENABLE RESTRICTED SESSION;   

// 关闭其他处于活动状态的会话(因存在活动状态的会话也是不允许修改字符集的)

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;      
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
         

//打开数据库

ALTER DATABASE OPEN;

// 更改字符集 INTERNAL_USE 是指忽略新字符集超限的情况,

//比如原来是UTF-8,现在改成GBK,如果不加该选项,将出现修改失败的错误

//ZHS16GBK 为 新的字符集
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;

//关闭并重启数据库
SHUTDOWN IMMEDIATE;            
STARTUP;

或者修改注册表NLS_LANG=SIMPLIFIED CHINESE.ZHS16GBK,然后重启数据库。