天天看點

修改參數時scope參數值的作用

修改參數

可以通過alter system或者導入導出來更改spfile的内容

從oracle9i開始,alter system指令增加了一個新的選項scope,scope參數有3個可選值:memory,spfile和both

memory:隻改變目前執行個體運作,重新啟動資料庫後失效

spfile:隻改變spfile的設定,不改變目前執行個體運作,重新啟動資料庫後生效

both:同時改變執行個體及spfile,目前更改立即生效,重新啟動資料庫後仍然有效.

針對rac環境,alter system還可以指定sid參數,對不同執行個體進行不同設定.

是以通過spfile修改參數的完整指令如下:

alter system set = scope=memory|spfile|both [sid=]

帶有scope=both參數的語句與不帶scope參數的效果是一樣的

當scope=memory時

修改目前執行個體的db_cache_advice參數為off;

sql> show parameter db_cache_advice

name                                 type        value

------------------------------------ ----------- ------------------------------

db_cache_advice                      string      on

sql>alter system set db_cache_advice=off scope=memory;

system altered

db_cache_advice                      string      off

如果觀察alert_.log檔案,可以發現其中記錄了如下一行

alter system set db_cache_advice=off scope=memory;

如果重新啟動資料庫,這個更改将會丢失

重置spfile參數

當想恢複參數為預設值是可以使用以下指令:

alter system reset parameter sid='sid|*';=memory|spfile|both>