Undo Management

[b]1.undo 表空间大小的确定[/b]
a>:UR undo_retention in seconds

select * from v$parameter [undo_retention]\

b>:UPS Number of undo data blocks generated per second

select max(undoblks/(end_time-begin_time)*24*3600 from v$undostat

c>:DBS db_block_size

select * from v$parameter [db_block_size]

[b]2.设置较大事务使用最高的undo的限额[/b]
undo_pool:a resource manager directive,defines the amount of space allowed for a resource group
[b]3.ora-01555的理解,数据库怎么保证了数据的读的一致性[/b]
[color=red]
a.当数据库发出了一个数据修改的操作的请求的时候,数据库会将磁盘里的块做一个标记,标记为这个数据库已经处于修改的状态,同时会将这个数据写入到undo表空间,保存了这个数据块修改之前的记录。
b.此时如果当一个用户发出请求进行查询操作,数据库会给这个查询语句分配一个scn,数据库会到数据块里去查询他符合要求的数据,这些数据的scn号都是小于这个sql的scn.
c.当查询语句查询到的数据库的标记为更改的状态的时候,此时他会根据对应关系去undo表空间里去查找保存在保存的修改之前的记录。最终读出数据块。这样就保证了,事务没有比较之前,数据的读一致性。
d.此时undo_retention就起到了一个被保存在undo表空间里的数据块至少需要的保存的时间数,如果超过了这个时间,这个数据块有可能被撤出撤销表空间。
e.因此,当查询语句的发出的请求的数据块标记为修改的状态,同时这个数据块在undo表空间保存的时间已经超出了undo_retion,此时undo表空间的空间不足,恰好这个数据库被swap出undo表空间,此时query语句就在数据表空间和undo表空间都没找到对应的块.此时数据就raise the ora-01555的错误。
f.也不晓得说得详细不,还忘路过的同仁纠正。呵呵[/color]
[b]4.重要的动态性能视图[/b]
a:dba_rollback_segs
b:v$undostat
c:v$transaction
d:v$session
e:v$rollname
the view list the name of the online rollback segment
f:v&rollstat
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值