在oracle10g中依然存在乙個回滾段,名叫system,它是有oracle在建立資料庫的時候建立的,並且這個回滾段存在於system表空間中。它存在的目的就是為了回滾系統事物,也就是說資料字典修改之後的映象就存在於system回滾段。
sql> select segment_name,owner,tablespace_name,segment_id,file_id from dba_rollback_segs where segment_id=0;
segment_name owner tablespace_name segment_id file_id
system sys system 0 1
我們查詢dba_rollback_segs這個檢視就可以得到系統中回滾段/撤銷段資訊
為了**system回滾段的作用,我做如下實驗:
首先在乙個session中建立乙個測試表,然後執行乙個過程,批量插入1百萬條資料
sql> create table test(data varchar2(100));
表已建立。
sql> begin
2 for v_loop in 1 ..1000000 loop
3 insert into test values('test!');
4 commit;
5 end loop;
6 end;
7 /
pl/sql 過程已成功完成。
同時在另外乙個session中執行下面的指令碼
sql> declare
2 v_cnt int :=0;
3 begin
4 for v_loop in 1 ..1000000 loop
5 select count(*) into v_cnt from v$transaction where xidusn=0;---xidusn表示rollback segment_id
6 if v_cnt>0 then
7 dbms_output.put_line('find it');
8 end if;
9 end loop;
10 end;
11 /
find it
find it
find it
find it
....省略之...................
由此實驗得出system回滾段依然會被系統利用,同時得出v$transaction檢視也記錄後台程序的事物
system回滾段是用了記錄oracle內部操作的,也就是資料字典更改。
看見某本書上面寫system回滾段在oracle建立之後,就永遠不會被使用,恩其實是錯誤的.
oracle10g 解除安裝
1 oracle 10g解除安裝軟體環境 1 windows xp oracle 10g2 oracle 安裝路徑為 d oracle 實現方法 1 開始 設定 控制面板 管理工具 服務停止所有 oracle 服務 2 開始 程式 oracle oradb 10g home1 oracle inst...
Oracle10g解除安裝
一 軟體解除安裝 1 windows xp oracle 10g 2 oracle安裝路徑為 d oracle 1 如果資料庫配置了自動儲存管理 asm 應該先刪除聚集同步服務css cluster synchronization services 刪除css服務的方法是在dos命令列中執行如下命令...
解除安裝oracle10g
1.停止所有與oracle相關的服務。2.使用oui oracle universal installer 解除安裝oracle軟體。開始 程式 oracle oradb110g home1 oracle installation product universal installer.3.刪除登錄...