Oracle10g中 system 回滾段的作用

2021-05-22 11:34:13 字數 1435 閱讀 7883

在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.刪除登錄...