分成几步试一下
sqlplus /nolog
SQL>startup nomount
SQL>alter database mount;
SQL>altter database open;
在以上几个步子中试试alter database orcl character set XXX(你原来的);
说不定在哪个地方改过来就可以了呢
看了你上面的提示,我实在不敢去测试了还有你是否改过init.ora中的配置?如果改过,一起改过来。

解决方案 »

  1.   

    试下我的方法
       SVRMGR  >  connect  internal  
       Connected.
       SVRMGR  >  UPDATE PROPS$ set value$='US7ASCII' where name like 'NLS_CHAR%';
       1  row processed
       SVRMGR  >  commit;
       重新启动数据库,应该可以。
       
      

  2.   

    to  LGQDUCKY(飘) :
    试了一下你地办法,不行。
    SVRMGR> connect internal
    Connected.
    SVRMGR> UPDATE PROPS$ set value$='US7ASCII' where name like 'NLS_CHAR%' ;
    UPDATE PROPS$ set value$='US7ASCII' where name like 'NLS_CHAR%'
    *
    ORA-01012: not logged on
      

  3.   

    物理备份的你的数据库文件在做下面步骤
    SVRMGRL  >  connect  internal  
    SVRMGRL  >  STARTUP MOUNT
    SVRMGRL  >  RECOVER DATABASE UNTIL CANCEL
    SVRMGRL  >  ALTER DATABASE OPEN RESETLOGS
    SVRMGR> UPDATE PROPS$ set value$='US7ASCII' where name like 'NLS_CHAR%' ;重新启动数据库,不行在试下别的方法
      

  4.   

    以上所有的办法都不行:
    SVRMGR> recover database until cancel
    ORA-01012: not logged on
    SVRMGR>
    SVRMGR> connect internal
    Password:
    ORA-12705: invalid or unknown NLS parameter value specified
    SVRMGR>
    请大家帮忙看看!分不够可以再加!
      

  5.   

    查看你的跟踪文件,看能不能查出你的修改的记录,如果有,则改回到原来状态.
    D:\oracle\admin\OraDB\bdump\oradbALRT.LOG