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.   

    update props$ set value='ZHS16GB' WHERE NAME='NLS_CHARACTERSET';
    执行出错:
    ORA-00904: invalid column name
      

  2.   

    原来是value$但是执行
    alter database CHARACTER SET ZHS16GBK;
    ORA-01679: database must be mounted EXCLUSIVE and not open to activate
      

  3.   

    update props$ set value$='NLS_CHARACTERSET' where where name='NLS_CHARACTERSET';
      

  4.   

    对于这个:
    ORA-01679: database must be mounted EXCLUSIVE and not open to activate你按提示做好了。
      

  5.   

    后半部分不用执行了
    现在可以用中文了,太感谢了!
    再请教个问题,在oracle安装时不能指定字符集吗,非得装完后修改吗?