国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

撤銷段的自動管理

2024-07-21 02:38:45
字體:
來源:轉載
供稿:網友

  作者:gototop
  
  在Oracle 9i里,一個很顯著的新特性就是引入了自動的回滾段治理,當使用了AUM (Automatic Undo Management)時,為了區別,名稱也由原來的ROLLBACK SEGMENT(回滾段)變成UNDO SEGMENT(撤銷段),相對應的是UNDO TABLESPACE。 當然我們也可以繼續使用傳統的MANUAL方式來治理撤銷段。
  
  一、初始化參數
  
  使用下面的參數來設置有ORACLE自動治理撤銷段:
  
  UNDO_MANAGEMENT = AUTO
  
  ORACLE會自動完成撤銷段的創建、刪除以及ONLINE/OFFLINE,而DBA將無法干預所有以上操作。
  
  假如想自己來治理回滾段可以將UNDO_MANAGEMENT設成MANUAL(DEFAULT就是MANUAL的)。雖然我們可以在UNDO表空間上創建回滾段,但ORACLE并不建議這樣做。
  
  當使用了AUM,我們唯一需要做的就是至少創建一個UNDO表空間,我們可以創建多個UNDO表空間,然后使用下面的參數來指定具體使用哪個。
  
  UNDO_TABLESPACE =UNDORBS1
  
  SQL> l
  
  1* select name ,value from v$parameter where name like 'undo%'
  
  SQL> /
  
   
  
  undo_management MANUAL
  
  undo_tablespace UNDOTBS1
  
  undo_supPRess_errors FALSE
  
  undo_retention 10800
  
  創建多個UNDO表空間的好處是,我們可以根據不同的應用在不同大小的UNDO表空間之間進行切換。
  
  二、UNDO表空間的創建
  
  1、在建數據庫是創建UNDO表空間,具體方法參見本人寫的Oracle 9i安裝、建庫與升級。文章在www.ncn.cn上有下載。
  
  2、我們也可以通過下面的語句來創建:
  
  Create undo tablespace undotbs2 datafile ‘/dev/rundotbs2_1.dbf’ size 100m;
  
  三、UNDO表空間特性
  
  1、UNDO表空間默認就是LOCAL治理方式:
  
  SQL> l
  
  1 select TABLESPACE_NAME, CONTENTS,EXTENT_MANAGEMENT, ALLOCATION_TYPE,
  
  2 SEGMENT_SPACE_MANAGEMENT
  
  3* from dba_tablespaces where contents='UNDO'
  
  SQL> /
  
   
  
  TABLESPACE_NAME CONTENTS EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPAC
  
  -------------------- ------------------ -------------------- ------------------ ------------
  
  UNDOTBS1 UNDO LOCAL SYSTEM MANUAL
  
  UNDOTBS2 UNDO LOCAL SYSTEM MANUAL
  
  2、除撤銷段外,我們不能在UNDO表空間上作其他操作:
  
  SQL> create table gototop_t1(c1 number) tablespace undotbs1;
  
  create table gototop_t1(c1 number) tablespace undotbs1
  
  *
  
  ERROR 位于第 1 行:
  
  ORA-30022: Cannot create segments in undo tablespace
  
  SQL> l
  
  1* create rollback segment ncn_rb1 tablespace undotbs1
  
  SQL> /
  
  create rollback segment ncn_rb1 tablespace undotbs1
  
  *
  
  ERROR 位于第 1 行:
  
  ORA-30019: Illegal rollback Segment Operation in Automatic Undo mode
  
  3、一個實例職能使用一個UNDO表空間:
  
  除了在INIT.ORA中指定UNDO表空間外,我們還可以使用下面的語句來在線更改實例所用的UNDO表空間:
  
  SQL> alter system set undo_tablespace=undotbs2;
  
  系統已更改。
  
  四、撤銷段的特性
  
  1、撤銷段自動創建:
  
  Ø n個撤銷段(n基于sessionS參數,后面會具體講)
  
  Ø 名字為_SYSSMUn$
  
  Ø OWNER為PUBLIC(在RAC配置中有用)
  
  Ø 選擇AUM后,無法手動治理
  
  SQL> l
  
  1 select owner,segment_name,tablespace_name,status
  
  2* from dba_rollback_segs order by 4
  
  SQL> /
  
   
  
  OWNER SEGMENT_NAME TABLESPACE_NAME STATUS
  
  ---------- ------------------ -------------------- --------------------------------
  
  PUBLIC _SYSSMU1$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU2$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU3$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU5$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU7$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU9$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU10$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU8$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU6$ UNDOTBS1 OFFLINE
  
  PUBLIC RB1_CYX1 UNDOTBS1 OFFLINE
  
  PUBLIC RB1_CYX UNDOTBS1 OFFLINE
  
  SYS RB1_08 UNDOTBS1 OFFLINE
  
  SYS RB1_07 UNDOTBS1 OFFLINE
  
  SYS RB1_05 UNDOTBS1 OFFLINE
  
  SYS RB1_04 UNDOTBS1 OFFLINE
  
  SYS RB1_03 UNDOTBS1 OFFLINE
  
  SYS RB1_02 UNDOTBS1 OFFLINE
  
  SYS RB1_01 UNDOTBS1 OFFLINE
  
  SYS RB3_06 UNDOTBS3 OFFLINE
  
  SYS RB3_05 UNDOTBS3 OFFLINE
  
  SYS RB3_04 UNDOTBS3 OFFLINE
  
  SYS RB3_03 UNDOTBS3 OFFLINE
  
  SYS RB3_02 UNDOTBS3 OFFLINE
  
  SYS RB3_01 UNDOTBS3 OFFLINE
  
  SYS RB2 INDX OFFLINE
  
  PUBLIC _SYSSMU4$ UNDOTBS1 OFFLINE
  
  SYS SYSTEM SYSTEM ONLINE
  
  PUBLIC _SYSSMU11$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU12$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU13$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU14$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU15$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU16$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU17$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU18$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU19$ UNDOTBS2 ONLINE
  
  PUBLIC _SYSSMU20$ UNDOTBS2 ONLINE
  
   
  
  已選擇37行。

  
   
  
  SQL>
  
  因為我在系統上作測試,之前手動建過回滾段,所以上面返回結果顯一般多。
  
  2、只有活動的UNDO表空間上的撤銷段和系統回滾段是ONLINE的,其他的撤銷段都是OFFLINE的。
  
  這一點從上面的輸出中可以清楚地看到。
  
  不過,也不一定一開始所有的撤銷段都會ONLINE的,這要依靠于初始化參數SESSIONS的值,默認SESSIONS = 1.1 * PROCESSES + 5,他決定了系統的并發用戶數。下面的實驗可以讓你對這一情況有個明確的熟悉。
  
  我們將SESSIONS調小后重起數據庫,可以看到活動的UNDO表空間UNDOTBS1上共10個撤銷段,但只ONLINE了5個。
  
  SQL> show parameter sessions
  
   
  
  NAME TYPE VALUE
  
  ------------------------------------ ---------------------- -----------
  
  java_max_sessionspace_size integer 0
  
  java_soft_sessionspace_limit integer 0
  
  license_max_sessions integer 0
  
  license_sessions_warning integer 0
  
  logmnr_max_persistent_sessions integer 1
  
  mts_sessions integer 0
  
  sessions integer 27
  
  shared_server_sessions integer 0
  
  SQL> select owner,segment_name,tablespace_name,status
  
  2 from dba_rollback_segs;
  
   
  
  OWNER SEGMENT_NAME TABLESPACE_NAM STATUS
  
  ------------ -------------------- -------------- ----------
  
  SYS SYSTEM SYSTEM ONLINE
  
  PUBLIC _SYSSMU1$ UNDOTBS1 ONLINE
  
  PUBLIC _SYSSMU2$ UNDOTBS1 ONLINE
  
  PUBLIC _SYSSMU3$ UNDOTBS1 ONLINE
  
  PUBLIC _SYSSMU4$ UNDOTBS1 ONLINE
  
  PUBLIC _SYSSMU5$ UNDOTBS1 ONLINE
  
  PUBLIC _SYSSMU6$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU7$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU8$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU9$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU10$ UNDOTBS1 OFFLINE
  
  PUBLIC _SYSSMU11$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU12$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU13$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU14$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU15$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU16$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU17$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU18$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU19$ UNDOTBS2 OFFLINE
  
  PUBLIC _SYSSMU20$ UNDOTBS2 OFFLINE
  
  SYS RB1_01 UNDOTBS1 OFFLINE
  
  SYS RB1_02 UNDOTBS1 OFFLINE
  
  SYS RB1_0

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通榆县| 漳州市| 临泽县| 梁平县| 锡林郭勒盟| 濉溪县| 翁源县| 清徐县| 礼泉县| 辽源市| 嫩江县| 荃湾区| 新蔡县| 苗栗市| 车致| 汉源县| 蒲城县| 五大连池市| 郸城县| 布尔津县| 甘孜县| 彭阳县| 容城县| 玉环县| 中江县| 奉化市| 兴城市| 沂源县| 灌云县| 新宁县| 临沭县| 鹤岗市| 诸城市| 高邮市| 肃北| 贵溪市| 麻江县| 高阳县| 阿巴嘎旗| 安阳市| 邓州市|