最好不要用这种方法: update  sys.props$  set value$='ZHS16GBK' where name='NLS_CHARACTERSET';   
 update  sys.props$  set value$='ZHS16GBK' where name='NLS_NCHAR_CHARACTERSET'    来修改系统视图.你用默认的配置文件启动一下数据库:STARTUP SPFILE="此处是INIT.ORA 存放的位置"

解决方案 »

  1.   

    字符集的更改,好像涉及13张表,eygle的文章说过,最好不要随便更改。
    修改:注册表中的character子键或者
    alter system/alter database更改。我遇到过这类问题,用pfile启动,然后再重新创建spfile后,再用新建的spfile启动。
    例如(windows xp +10g):d:\sqlplus /nolog
    sql>conn /as sysdba
    sql>startup pfile='e:\oracle\backup\oraclesid.ora'
    sql>create spfile='E:\oracle\product\10.2.0\db10g\dbs\spfilesid.ora' from pfile='e:\oracle\backup\oraclesid.ora';
      

  2.   

    sqlplus /nolog
    conn /as sysdba
    startup mount
    update  sys.props$  set value$='ZHS16GBK'  where name='NLS_CHARACTERSET';--修改回原来字符集
    ...alter database open;