Oracle数据库回滚段的应用

Oracle数据库回滚段用于对数据库修正时, 保留原有的数据, 以便稍后能够穿越利用ROLLBACK来还原到修正前的数据; 另外, 回滚段可感受数据库中的所有历程供给读统一性. 本文我们主要Oracle数据库的回滚段方面的知识,接下来就让我们来一起了解一下这部分内容吧。

成都创新互联公司是一家专注于网站制作、成都网站设计与策划设计,金湖网站建设哪家好?成都创新互联公司做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:金湖等地区。金湖做网站价格咨询:13518219792

回滚段的种类

回滚段可分为系统回滚段和非系统回滚段, 其中非系统回滚段又分为PUBLIC回滚段和PRIVATE回滚段.

系统回滚段用于处理波及系统的CATALOG的事物(例如大多数的DDL), 它位于SYSTEM表空间, 由于只有SYSTEM表空间能够随时坚持可用, 因而, 不要把SYSTEM回滚段放在其他的表空间中.

分寸1: 系统回滚段应放在SYSTEM表空间中, 并且该当永远坚持ONLINE事态.

PUBLIC回滚段对于数据库的所有实例(INSTANCE)都是可用的, 除非将其显式设置为OFFLINE.

PRIVATE回滚段是指对于数据库的某个实例是私有的, 为了利用PRIVATE回滚段, 某个实例该当在其INITsid.ORA的ROLLBACK_SEGMENTS中标明所有要利用的PRIVATE回滚段, 或穿越利用ALTER ROLLBACK SEGMENT XXX ONLINE来利用某一个回滚段.

提倡1: 在单实例系统中,提倡将所有回滚段设为PUBLIC.

提倡2: 在多实例系统中(如OPS), 提倡将每个实例的PRIVATE回滚段放置到拜会比拟快的本地装备上.

回滚段的数量、大小及存储参数

准确的回滚段的数量及大小的计算波及许多方面: 利用的种类(OLTP/OLAP/BATCH), 同时举行的事物的数量, DML语句的种类, 每个事物处理的数据量等等.

分寸2: OLTP系统应利用小但较多的回滚段, OLAP系统/批处理系统应利用少量的大回滚段

提倡3: OLTP/OLAP混杂型系统中, 应专程设置一个或几个大的回滚段, 平时设置为OFFLINE, 利用时穿越利用SET TRANSACTION USE ROLLBACK SEGMENT XXX来利用它. 这些回滚段应利用OPTIMAL参数,以便在不利用时,能够SHRINK到一个较小的尺寸。

提倡4: 在很难计算准确的数量、大小时,可用"偏大不偏小"的分寸。

分寸3: 所有的回滚段的INITIAL/NEXT参数应设为雷同, 只有提倡3中提到的大回滚段例外.

分寸4: 不要将回滚段的MAXEXTENTS设为UNLIMITED, 回滚段所在表空间也不要设为AUTOEXTEND

措施, 否则将会使得由于某个不正常的事务导致全副数据库处于失控事态.

回滚段的维护及查询

1.创立回滚段

 
 
 
  1. CREATE ROLLBACK SEGMENT RB01  
  2.  
  3. TABLESPACE RBS1  
  4.  
  5. STORAGE (  
  6.  
  7. INITIAL 100K  
  8.  
  9. NEXT 100K  
  10.  
  11. MINEXTENTS 20  
  12.  
  13. MAXEXTENTS 100  
  14.  
  15. OPTIMAL 2000K ); 

2. 改动ONLINE/OFFLINE事态

 
 
 
  1. ALTER ROLLBACK SEGMENT RB01 ONLINE;  
  2.  
  3. ALTER ROLLBACK SEGMENT RB01 OFFLINE; 

3.改动OPTIMAL参数

 
 
 
  1. ALTER ROLLBACK SEGMENT RB01  
  2.  
  3. STORAGE ( MAXEXTENTS 200  
  4.  
  5. OPTIMAL 2048K ); 

4.缩小回滚段

 
 
 
  1. ALTER ROLLBACK SEGMENT RB01 SHRINK; 

(有OPTIMAL参数时, 缩小到OPTIMAL值; 未曾OPTIMAL参数时, 缩小到MINEXTENTS所对应的尺寸)

 
 
 
  1. ALTER ROLLBACK SEGMENT RB01 SHRINK TO 2048K; 

5.修正INITIAL/NEXT参数

提倡5: 依据分寸3, 修正NEXT时, 总该当同时修正INITIAL.

INITIAL参数无法直接修正, 只能先DROP, 然后再CREATE.

 
 
 
  1. DROP ROLLBACK SEGMENT RB01;  
  2.  
  3. CREATE ROLLBACK SEGMENT RB01  
  4.  
  5. TABLESPACE RBS1  
  6.  
  7. STORAGE ( INITIAL 100K  
  8.  
  9. NEXT 100K  
  10.  
  11. MINEXTENTS 20  
  12.  
  13. MAXEXTENTS 121  
  14.  
  15. OPTIMAL 2000K ) 

6.在事务中利用特定的回滚段

 
 
 
  1. SET TRANSACTION USE ROLLBACK SEGMENT RB_LARGE1; 

7.常用的有关回滚段的系统数据字典

 
 
 
  1. DBA_ROLLBACK_SEGS (相干表:DBA_SEGMENTS)  
  2.  
  3. V$ROLLNAME  
  4.  
  5. V$ROLLSTAT  
  6.  
  7. V$TRANSACTION (相干表: V$SESSION) 

关于Oracle数据库回滚段的知识就介绍到这里,希望能够带给您一些收获!

【编辑推荐】

  1. Oracle数据库游标的类型及使用实例全解
  2. 关于Oracle利用UTL_INADDR注入的简单介绍
  3. Oracle数据库定时器Job在各个时间的写法总结篇
  4. 简单介绍一下Oracle数据库PL/SQL异常处理代码
  5. Oracle数据库中各种类型的文件损坏与修复过程详解

当前文章:Oracle数据库回滚段的应用
本文URL:http://www.gawzjz.com/qtweb2/news35/23785.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联