在使用ASM,spfile时,数据库启动时使用的spfile为$ORACLE_HOME/dbs/spfileorcl.ora,在使用alter system set xxx=yyy scope=spfile之类的语句修改时,是直接改的这个spfile中的内容,关键是,这个spfile的最后一句是*.SPFILE='+DATA/orcl/spfileorcl.ora',前面改的都不算了,都以+DATA/orcl/spfileorcl.ora里的内容为准。有啥简单的方法能直接修改+DATA/orcl/spfileorcl.ora啊?

解决方案 »

  1.   

    那是肯定的了,你用了ASM之后,肯定是用ASM里面的SPFILE,你现在的问题就是要把之前数据库启动时的SPFILE里面的参数内容也放到ASM里面去吧。可以先不使用ASM启动实例,直接使用$ORACLE_HOME/dbs/spfileorcl.ora启动实例,然后create pfile from spfile,创建完pfile之后,使用pfile重新启动实例,然后create spfile='+DATA/orcl/spfileorcl.ora' from pfile;这样就可以把原来的spfile中的内容复制到新的SPFILE
      

  2.   

    每次都这么做,太麻烦了。Oracle难道没提供什么简便的措施?这样等于alter system set命令废掉了,太bug了