改字符集
c:\>svrmgrl
在svrmgrl中执行:
shutdown
startup mount
ALTER SYSTEM ENABLE RESTRICTED SESSION; 
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
ALTER DATABASE OPEN; 
update props$ set value='ZHS16GB' WHERE NAME='NLS_CHARACTERSET';
update props$ set value='ZHS16GB' WHERE NAME='NLS_NCHAR_CHARACTERSET';
先申明此法很危险,
如果改错了值可能会导致数据库无法打开。×××××××××××××
修改字符集的步骤:
c:\>svrmgrl
在svrmgrl中执行:
connect internal/oracle[@dbname];
shutdown immediate;
startup restrict;
ALTER DATABAE [dbname] CHARACTER SET [SIMPLIFIED CHINESE_CHINA.]ZHS16GBK ; 
ALTER DATABAE [dbname] NATIONAL CHARACTER SET [SIMPLIFIED CHINESE_CHINA.]ZHS16GBK ; 
alter database [dbname] open;
--shutdown immediate;
--startup;

解决方案 »

  1.   

    (1)、ALTER DATABAE CHARACTER SET SIMPLIFIED CHINESE_CHINA.ZHS16GBK ; (2)、update props$ set value$='ZHS16CGB231280' 
    where name='NLS_CHARACTERSET';
    update props$ set value$='ZHS16CGB231280' 
    where  name='NLS_NCHAR_CHARACTERSET';
      

  2.   

    导入时出现这种情况,一般改注册表中的NLS_LANG或者环境变量NLS_LANG就可以了。推荐不要修改服务器的字符集。
      

  3.   

    LOCAL_MACHINE \ MICROSOFT \ ORACLE 
    下的NLS_LANG项就是数据库的字符集