oracle 9i中默认的undo_retention为10800 登陆SYS用户修改其值
ALTER SYSTEM SET undo_retention=0 scope=memory;   
是修改完了立即就生效么? 还是要如何生效?
开始我以为要重启数据库实例才能生效的,但是每次重启数据库实例后,undo_retention就会变回到10800.奇怪哦~~!

解决方案 »

  1.   

    要想让内存和spfile文件同时生效,参数应该是both;
    ALTER SYSTEM SET undo_retention=0 scope=both;  
      

  2.   

    alter system set undo_retention=0 scope=memory;  
    --内存立即生效,spfile不生效,意思是下次数据库重启动参数恢复回原来样子;alter system set undo_retention=0 scope=spfile;  
    --内存不生效,只有spfile生效,下次数据库重启动后参数生效alter system set undo_retention=0 scope=both;
    --内存立即生效,spfile也生效
      

  3.   

    'scope=memory'
    只修改内存中的值,你下次启动就没有生效了。
    你要用'scope=spfile'或者'scope=both'
    就可以了。