a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 128|回复: 1

[综合] Oracle数据库回滚段的应用

[复制链接]
发表于 2012-8-4 13:54:49 | 显示全部楼层 |阅读模式
Oracle数据库的回滚段用于对数据库修正时, 保留原有的数据, 以便稍后能够穿越利用ROLLBACK来还原到修正前的数据; 另外, 回滚段可感受数据库中的所有历程供给读统一性。 本文我们主要Oracle数据库的回滚段方面的知识,接下来就让我们来一起了解一下这部分内容吧。
& M6 I* U* p1 i9 d; Z/ j   
9 ~# J) U' O5 W& D9 J: _    回滚段的种类
- g# b  N7 N8 \) a9 D   
" F$ o# g) \9 p    回滚段可分为系统回滚段和非系统回滚段, 其中非系统回滚段又分为PUBLIC回滚段和PRIVATE回滚段。+ X* ^  I- E5 H& G
   
+ ~3 E% k( G8 H7 M; r    系统回滚段用于处理波及系统的CATALOG的事物(例如大多数的DDL), 它位于SYSTEM表空间, 由于只有SYSTEM表空间能够随时坚持可用, 因而, 不要把SYSTEM回滚段放在其他的表空间中。! f9 O4 y" E* u+ z  u  n7 A! r: I, E
   
9 M2 ?" q/ [. A  x- t    分寸1: 系统回滚段应放在SYSTEM表空间中, 并且该当永远坚持ONLINE事态。
! `; a  I5 b1 |0 w    ! d+ w9 U0 m, r  ]" S- x+ V
    PUBLIC回滚段对于数据库的所有实例(INSTANCE)都是可用的, 除非将其显式设置为OFFLINE.! r+ I% V; T5 x$ N4 R* g
    8 ~2 I; B' ]& C+ v
    PRIVATE回滚段是指对于数据库的某个实例是私有的, 为了利用PRIVATE回滚段, 某个实例该当在其INITsid.ORA的ROLLBACK_SEGMENTS中标明所有要利用的PRIVATE回滚段, 或穿越利用ALTER ROLLBACK SEGMENT XXX ONLINE来利用某一个回滚段。
& R3 b% h, E; ~    / G% @! ]. u# W
    提倡1: 在单实例系统中,提倡将所有回滚段设为PUBLIC.
" p# E4 a6 P& z! o" i' y( l   
; I8 J" S: X/ D/ g9 i7 W    提倡2: 在多实例系统中(如OPS), 提倡将每个实例的PRIVATE回滚段放置到拜会比拟快的本地装备上。
# G4 L8 E7 M7 z7 l) I- K% N; N% t    0 v0 Y6 C: {5 z! g! m5 t! n4 `
    回滚段的数量、大小及存储参数1 r( Y" K$ i) y7 m) R
   
# v. V; r- D' y5 ^    准确的回滚段的数量及大小的计算波及许多方面: 利用的种类(OLTP/OLAP/BATCH), 同时举行的事物的数量, DML语句的种类, 每个事物处理的数据量等等。6 k' X3 M' y/ e' q0 K+ O
    $ z7 V. m/ |; ~3 m6 t! p7 z
    分寸2: OLTP系统应利用小但较多的回滚段, OLAP系统/批处理系统应利用少量的大回滚段
' c: J/ ?; b2 R) ?* {   
$ s' K/ Y- U$ T+ s  k+ a    提倡3: OLTP/OLAP混杂型系统中, 应专程设置一个或几个大的回滚段, 平时设置为OFFLINE, 利用时穿越利用SET TRANSACTION USE ROLLBACK SEGMENT XXX来利用它。 这些回滚段应利用OPTIMAL参数,以便在不利用时,能够SHRINK到一个较小的尺寸。
' p$ j( x( p( M9 A# D    - e& {) J2 `" l0 C, t
    提倡4: 在很难计算准确的数量、大小时,可用"偏大不偏小"的分寸。
5 q$ ~6 [1 |) v7 d% V4 ?   
3 M9 j1 ?# H& W( i3 W    分寸3: 所有的回滚段的INITIAL/NEXT参数应设为雷同, 只有提倡3中提到的大回滚段例外。
& n- p) t& V  g   
$ E5 q3 s0 C+ x4 H. Y/ Y! e* {5 a    分寸4: 不要将回滚段的MAXEXTENTS设为UNLIMITED, 回滚段所在表空间也不要设为AUTOEXTEND
1 y6 k6 v+ F5 D/ }- V1 O: A   
& a# J8 h0 |7 K& ?& `    措施, 否则将会使得由于某个不正常的事务导致全副数据库处于失控事态。
/ D$ Z4 {3 C- L( A    0 ^# e. D: Y* W  p: n1 Z( ], `
    回滚段的维护及查询
9 X8 r, o  x- H; c+ `6 n% }5 E    - ?6 u1 N& Y, Z: e2 n9 J
    1.创立回滚段
4 e* K) d6 K' B. R% u    * c7 ]! u7 n: S
    CREATE ROLLBACK SEGMENT RB01   TABLESPACE RBS1   STORAGE (   INITIAL 100K   NEXT 100K   MINEXTENTS 20   MAXEXTENTS 100   OPTIMAL 2000K );4 Q6 j. }1 y  n* Q3 m6 m, ]
   
. O3 v7 X' j1 Y    2. 改动ONLINE/OFFLINE事态
5 D8 a' n) Z) a( l0 H   
: _8 p+ q) a; ^: d8 R4 n5 Q0 `4 m( R6 l    ALTER ROLLBACK SEGMENT RB01 ONLINE;   ALTER ROLLBACK SEGMENT RB01 OFFLINE;. g9 {* D  t; A# d3 Z9 V( U/ y+ F
   
8 h+ a/ ^' `- {; J! u    3.改动OPTIMAL参数
8 c# q; k7 K) N; x+ u0 R4 S    & V' b* [& k# u. b9 f& I
    ALTER ROLLBACK SEGMENT RB01   STORAGE ( MAXEXTENTS 200   OPTIMAL 2048K );  E" b& n7 |+ b% N) _( a
   
% G' }$ {- A+ h. j' t    4.缩小回滚段( s7 G4 P0 C5 z: p( S7 h/ ~% n
    % G2 m! o& l7 M4 Y' \& D
    ALTER ROLLBACK SEGMENT RB01 SHRINK;3 X' L3 m7 c2 ^/ `- N
    9 T( Z5 o* p7 U5 y# H
    (有OPTIMAL参数时, 缩小到OPTIMAL值; 未曾OPTIMAL参数时, 缩小到MINEXTENTS所对应的尺寸)
; m! H* h/ r- K) T0 n8 m    + B+ X( _3 v, x
    ALTER ROLLBACK SEGMENT RB01 SHRINK TO 2048K;2 w  f, Y9 h- C
    9 p4 l( J" q* y6 j) h2 d* k
    5.修正INITIAL/NEXT参数5 U' B0 E! @  q5 F1 D) p/ Z* n
   
" d- C  e1 T1 }, K# o2 R7 t- N    提倡5: 依据分寸3, 修正NEXT时, 总该当同时修正INITIAL.6 h$ }+ a* k- L0 D2 Z
    + C1 q, ~2 K' S
    INITIAL参数无法直接修正, 只能先DROP, 然后再CREATE.
! H. R. ]1 w& E% L0 {: a   
2 P7 e& P1 V9 ]$ j  l$ q    DROP ROLLBACK SEGMENT RB01;   CREATE ROLLBACK SEGMENT RB01   TABLESPACE RBS1   STORAGE ( INITIAL 100K   NEXT 100K   MINEXTENTS 20   MAXEXTENTS 121   OPTIMAL 2000K )5 Y+ p, G5 j/ M2 V
    考试用书
8 X9 z$ H' k9 i3 P, t    6.在事务中利用特定的回滚段
) Y& R: T: D6 ]/ b( x# k# `2 Y    2 I5 m# Y$ e; q: P; g: `
    SET TRANSACTION USE ROLLBACK SEGMENT RB_LARGE1;
; K- q9 r2 _! Y   
( _% F+ T' _9 i% z. `5 t    7.常用的有关回滚段的系统数据字典
7 d9 n; d3 b) h1 m7 F: f: s    ; _7 n$ h; |# b- O6 [* \. m
    DBA_ROLLBACK_SEGS (相干表:DBA_SEGMENTS)   V$ROLLNAME   V$ROLLSTAT   V$TRANSACTION (相干表: V$SESSION)
回复

使用道具 举报

 楼主| 发表于 2012-8-4 13:54:50 | 显示全部楼层

Oracle数据库回滚段的应用

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-30 02:04 , Processed in 0.350937 second(s), 23 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表