SQL> show parameter undo_retentionNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_retention                       integer     900*******************************undo_retention初始为900,改为1500SQL>alter system set undo_retention=1000;
SQL> show parameter undo_retentionNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_retention                       integer     1500SQL>alter system reset undo_retention;
或者
SQL>alter system reset undo_retention scope=both sid='*';
之后undo_retention的值还是1500?也没有回到初始参数啊?也试过其他的几个参数也是一样的?什么情况?OracleSQLalter

解决方案 »

  1.   

    reset 只是删除了spfile里面的值,不修改当前的值
      

  2.   


    The ALTER SYSTEM RESET command is used to delete or revert to the default value.ALTER SYSTEM RESET parameter_name [SCOPE = MEMORY | SPFILE | BOTH] [SID = ‘SID’ | ‘*’]字面上就是恢复默认值啊?在parameter中随便找一个参数,更改一下,然后再RESET后,应该是回到了默认值!
    在网上看视频也是的,视频中的确实回到了默认值,可我的确没有变化呢?那ALTER SYSTEM RESET parameter_name [SCOPE = MEMORY | SPFILE | BOTH] [SID = ‘SID’ | ‘*’]是用来做什么的呢?望解答,谢谢!
      

  3.   

    reset将spfile里面的值删除,但是不更改当前内存中的值,在下次启动数据库时才使用默认值。SQL>alter system set undo_retention=1000;
    更改内存和spfile文件中的值。
    下次启动时使用spfile中undo_retention=1000这个值。
    如果
    SQL>alter system reset undo_retention;
    那么将删除spfile文件中的值,在下次启动时使用默认值,但是当前内存中的undo_retention值并不更改,如想更改,需要ALTER SYSTEM SET
      

  4.   

    这个语句主要是取消SPFILE中设置的值,不改变当前内存的值