修改參數
可以通過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>