回退的相关知识

undo_management=manual

在创建新的数据库时,Oracle将在System表空间中建立一个默认的System回退段。System回退段只应当用于存放Oracle系统事务的回退记录,任何用户事务都不应当使用System回退段。

#在创建数据库之后,应当立即在System表空间中建立一个非System回退段,因为在数据库创建后,用户需要首先创建其他的表空间和回退段。这时,这些操作的回退记录将保存在这个非System回退段中,而不会保存在System回退段中。在其他的表空间和回退段建立完毕后,可以将System表空间中的这个非System回退段删除。

实例启动时获取的回退段数目由多种方法确定:
·实例所获取的公用回退段数目由transaction,transaction_per_rollback_segments指定
·实例所获取的私有回退段目和名称由rollback_segments决定。
#此外,一个实例所允许使用的最大回退段数目max_rollback_segments=ceil(transaction/transaction_per_rollback_segments)。

在一个实例中,如果同时使用公用回退段和私有回退段,实例首先获取由rollback_segments参数指定的私有回退段,然后再通过ceil(transactions/transactions_per_rollback_segments)计算的值与已获取的私有回退段数目的差额需要通过获取公有回退段来补偿。

·创建私有回退段
create rollback segments XXX
tablespace XXX
storage (initial XXX
             next  XXX
             optimal XXX
             pctincrease 0
             minextents XXX
             maxextents XXX  )
·创建公有回退段
create public rollback segments XXX 
      ……

#online offline
·alter rollback segment XXX online/offline
·利用参数文件(仅限于私有回退段)
  rollback_segments
  将私有回退段添加入该参数,重启后,则该回退段的状态将永久性为onlne
  没有写入参数文件的回退段在数据库重新启动后,再次重新启动后,变为offline
  而公共回退段将不受参数文件的限制


在回退段中,段的头部存储正在使用的回退段事务的信息,一个事务只能使用一个回退段来存放它的回退信息,而一个回退段可以存放多个事务的回退信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值