oracle實驗記錄 (oracle reset parameter)

fufuh2o發表於2009-11-02

關於instance 設定引數
alter system set parameter 時候


語法為 alter system set parameter=value  scope=(both(default),spfile,memory) sid=sid|*(default *) COMMENT
sid:主要用在 rac 下 這樣可以個rac中任意節點的instance設定引數,預設是*是所有instance
deferred表示 修改是 適用於將來的 session,是延遲行為.

 


deferred實驗
SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

 

SQL> select issys_modifiable from v$parameter where value='DEFERRED';

未選定行

SQL> select distinct issys_modifiable from v$parameter;

ISSYS_MOD
---------
FALSE
IMMEDIATE
DEFERRED

SQL> alter system set sort_area_size=10000 ;
alter system set sort_area_size=10000
                                     *
第 1 行出現錯誤:
ORA-02096: 此選項的指定初始化引數不可修改


SQL> alter system set sort_area_size=10000  scope=spfile;

系統已更改。
代表 只有 重啟後才生效

SQL> alter system set sort_area_size=20000 deferred;

系統已更改。

SQL>

SQL> show parameter sort_area_size;

NAME                                 TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size                       integer
65532
SQL>


SQL> conn xh/a831115
已連線。
SQL> show parameter sort_area_size;

NAME                                 TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size                       integer
20000
SQL>

可以看 到新連線的session可以 馬上生效


SQL> alter system set sort_area_size=65532 deferred;

系統已更改。

SQL> show parameter sort_area_size;

NAME                                 TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size                       integer
20000
SQL> conn / as sysdba
已連線。
SQL> show parameter sort_area_size;

NAME                                 TYPE
------------------------------------ --------------------------------
VALUE
------------------------------
sort_area_size                       integer
65532

COMMENT

SQL> alter system set job_queue_processes=10 comment='TEST';

系統已更改。


SQL> select name,description ,update_comment from v$parameter where name ='job_q
ueue_processes';

NAME
--------------------------------------------------------------------------------

DESCRIPTION
--------------------------------------------------------------------------------

UPDATE_COMMENT
--------------------------------------------------------------------------------

job_queue_processes
number of job queue slave processes
TEST


取消spfile中設定,有時需要恢復原來的引數預設設定但又忘記了原先的值可以用 reset 重設原先預設值

alter system reset
1.有幾個限制 必須 指定SID

2.順序要求 scope=spfile,sid=
3.scope不可以等於 both,memory當 指定SID 時不允許記憶體中修改

SQL> alter system  reset open_cursors ;
alter system  reset open_cursors
                                *
第 1 行出現錯誤:
ORA-00905: 缺失關鍵字


SQL> alter system  reset open_cursors sid='*';
alter system  reset open_cursors sid='*'
*
第 1 行出現錯誤:
ORA-32009: 無法重置例項 * 的記憶體值 (從例項 xhtest 中)


SQL> alter system  reset open_cursors sid='*' scope=spfile;
alter system  reset open_cursors sid='*' scope=spfile
                                         *
第 1 行出現錯誤:
ORA-00933: SQL 命令未正確結束


SQL> alter system  reset open_cursors scope=spfile sid='*';

系統已更改。


可以看到 要加sid關鍵字, 順序不能 錯 ,如果光指定sid 而沒寫scope=spfile 預設是 scope=both(包含在記憶體中修改)但指定SID 時候不允許在記憶體修改所以=both,=memory都不行報錯(ORA-32009: 無法重置例項 * 的記憶體值 (從例項 xhtest 中))

 

 


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-617905/,如需轉載,請註明出處,否則將追究法律責任。

相關文章