sql> show parameter recyclebin
name type
value
------------------------------------ ----------- ------------------------------
recyclebin string
on
sql> alter system set recyclebin=off;
alter system set recyclebin=off
*
error at line 1:
ora-02096: specified initialization parameter is not modifiable with this
option
使用回話級别能修改
檢視: 1612|回複: 2
<a target="_blank" href="http://www.itpub.net/space-uid-21217.html">toms_zhang</a>
<a target="_blank" href="http://www.itpub.net/home.php?mod=spacecp&ac=usergroup&gid=34">版主</a>
會員
<dl></dl>
<dt></dt>
精華貼數
<dd></dd>
<a target="_blank" href="http://www.itpub.net/home.php?mod=space&uid=21217&do=thread&type=digest&view=me&from=space">4</a>
專家積分
58
技術積分
22250
社群積分
2162
注冊時間
2002-8-31
論壇徽章:
98
<a target="_blank" href="http://www.itpub.net/home.php?mod=spacecp&ac=friend&op=add&uid=21217&handlekey=addfriendhk_21217">加好友</a>
<a target="_blank" href="http://www.itpub.net/home.php?mod=spacecp&ac=pm&op=showmsg&handlekey=showmsg_21217&touid=21217&pmid=0&daterange=2&pid=12915152&tid=1127486">發消息</a>
<a target="_blank" href="http://www.itpub.net/thread-1127486-1-1.html">1#</a>
this supported parameter was introduced in oracle 10.2.0
version
parameter name
data type
session modifiable
system modifiable
10.2.0
recyclebin
string
true
immediate
11.1.0
deferred
從文檔上我們可以看到這個變化說明,到了11g中,這個參數在session依然可以了解修改并影響目前的session,但如果是在系統一級修改的話,那麼就要加deferred參數,對目前已經連接配接的sesion沒有影響,但新連接配接的session将受到影響
sql> select name,isses_modifiable,issys_modifiable from v$parameter where name='recyclebin';
name isses_modifiable issys_modifiable
----------- ---------------- ----------------
recyclebin true deferred
sql>
下面做一個測試看看:
一開始,我用study使用者分别發起2個session連接配接到到我的ora11g資料庫上
session 1
connected to oracle database 11g enterprise edition release 11.1.0.6.0
connected as study
name type value
-------------- ----------- --------------
recyclebin string on
ora-02096:
此選項的指定初始化參數不可修改
sql> alter session set recyclebin=off;
session altered
sql> create table zrp(no int);
table created
sql> drop table zrp;
table dropped
sql> flashback table zrp to before drop;
flashback table zrp to before drop
ora-38305: 對象不在資源回收筒中
可以看到,在system一級,不加deferred參數是不允許修改的,但在session一級可以修改.
sql> alter system set recyclebin=off deferred;
system altered
session 2
說明:在session 1中發出alter system set recyclebin=off deferred;指令的時候,我的session 2已經連接配接到了ora11g上.在這個session中,我們用來體會
alter system set recyclebin=off deferred;
指令對目前已經連接配接的session不影響
c:\documents and settings\zhangrp>sqlplus study/study
sql*plus: release 11.1.0.6.0 - production on 星期五 2月 20 16:20:50 2009
copyright (c) 1982, 2007, oracle. all rights reserved.
連接配接到:
oracle database 11g enterprise edition release 11.1.0.6.0 - production
with the partitioning, olap, data mining and real application testing options
sql> create table test_2(no int);
表已建立。
sql> drop table test_2;
表已删除。
sql> flashback table test_2 to before drop;
閃回完成。
sql> desc test_2
名稱 是否為空? 類型
------------ --------- -----------
no number(38)
session 3
在session 1中完成alter system set recyclebin=off deferred;指令以後,我們再發起一個新的連接配接,看看是不是對新的連接配接生效:
microsoft windows xp [版本 5.1.2600]
(c) 版權所有 1985-2001 microsoft corp.
sql*plus: release 11.1.0.6.0 - production on 星期五 2月 20 16:23:46 2009
recyclebin string off
通過測試,可以看出,一切都是按照預期的行為發生的.
<a target="_blank" href="http://tomszrp.itpub.net/post/11835/478940">http://tomszrp.itpub.net/post/11835/478940</a>