ORACLE中回滾段問題(100分)

  • 主题发起人 主题发起人 dadabox
  • 开始时间 开始时间
D

dadabox

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大俠﹕
小弟測試回滾段﹐建立了一個回滾段之后系統卻沒有用到它。我看DBA_ROLLBACK_SEGS
中的資料﹐發現OWNER為sys﹐而不是public﹐請問怎樣建立owner才會為public。
我專門建立了一個tablespace來處理回滾段﹐內容如下﹕
create tablespace ROLLBACK_TABLESPACE
datafile 'ORA2:/OraFile/rollback.dbf' size 150M
autoextend ON
next 10M
default storage(initial 300K next 300K minextents 20 maxextents 449);
回滾段如下﹕
create rollback segment RBD1 tablespace ROLLBACK_TABLESPACE
storage(optimal 10250K);
alter rollback segment RBD1 online;
但里面的參數﹐如:default storage(initial 300K next 300K minextents 20 maxextents 449);
storage(optimal 10250K);我還是不太明白﹐哪位大俠能給我詳細解釋一下嗎﹖若有
電子書更好(有沒有關於回滾段﹐臨時表﹐備份方面的詳細說明的電子書)。
另外便是這樣建會不會有什么不妥的地方。比如storage(optimal 10250K)會不會設得太
大。
謝謝各位啦﹗!
 
你可以到下面这个连接去看看关于oracle回滚段的文章:
http://www.ccidnet.com/html//tech/guide/2000/11/02/58_1256.html
 
如下: 在rollback segment 前头加个public!
create public rollback segment r20 storage(initial 100k next 500k maxextents unlimited) tablespace rbs;
alter rollback segment r20 online;

initial,next的意义大致是:最初分配100k,当空间超出时再按500k扩展.
 
<<ORACLE应用基础>>清华大学出版社
 
1、用 create PUBLIC rollback segment ... 创建公共回滚段
2、表空间ROLLBACK_TABLESPACE初始化150m,如果只放回滚段RBD1,
不放其他东西,RBD1又没有指定新的存储的话,最大只能用
300K x 449 = 134700K ,不到150m,有浪费

 
謝謝各位﹐浪費那點我是知道的。我是在想﹐若回滾段有140M左右﹐會不會太大﹐它能支持
多大的資料變動﹖initial 300K next 300K minextents 20 maxextents 449是初始化每段
300K﹐下一段擴展300K﹐那minextents 20是最小生成20個段﹐最多生成449個段嗎﹖另外﹐
我發覺commit后﹐回滾段中還有數據﹐並沒有被清除掉。這種有沒有影響﹐若我后面又有一
個很大的事務處理﹐它會自動覆蓋沒用的數據嗎﹖謝謝﹗這個問題完了就加分。
 
commit后回滚段会释放空间。不过回滚段有多个,
如果你不指定,系统会自动安排不同的回滚段使用。
回滚段有大有小,如果你要执行一个大的事务,
就要用 SET TRANSACTION USE ROLLBACK SEGMENT xxxxx
指定使用一个大的回滚段

 
多人接受答案了。
 
后退
顶部