dba_free_space 每个表空间空闲的大小
dba_segments 计算别的段大小
可以算出每个表空间剩余多少,用了多少,总共多少.
dba_undo_extents 计算回滚段大小
计算回滚表空间的使用
dba_data_file 每个文件的大小
--------------查看使用的回滚段--------
select * from v$transaction
dba_rollback_segs 显示回滚段的信息
---------------------------------v$undostat-----------------------------------
V$UNDOSTAT中的常用列
Endtime:以10分钟为间隔的结束时间
UndoBlocksUsed:使用的undo块总数
TxnConcurrency:事务并发执行的最大数
TxnTotal:在时间段内事务执行总数
QueryLength:查询长度的最大值
ExtentsStolen:在时间段内undo区必须从一个undo段转到另一个的次数
SSTooOldError:在时间段内'Snapshot Too Old'错误发生的次数
UNDOTSN:这段时间内最后活动的undo表空间ID
dba_undo_extents 显示每个回滚段的每个区的大小,状态
-------------------------v$rollstat 每个回滚段的统计信息------------------
V$ROLLSTAT中的常用列
? USN:回滚段标识
? RSSIZE:回滚段默认大小
? XACTS:活动事务数
在一段时间内增量用到的列
? WRITES:回滚段写入数(单位:bytes)
? SHRINKS:回滚段收缩次数
? EXTENDS:回滚段扩展次数
? WRAPS:回滚段翻转(wrap)次数
? GETS:获取回滚段头次数
? WAITS:回滚段头等待次数
--------------------------------------undo$------------------------------------
显示每个回滚段的信息,回滚表空间删除里面的记录还在。在延迟块清除中会用到里面的信息
dba_segments 也有保存回滚段信息,和普通表显示的内容一样,可以把一个回滚段当作一个表,这个信息和dba_rollback_segs的信息一样
------------------------------v$transaction--------------------------
XIDUSN 回滚段号
XIDSLOT slot号(对应回滚段头事务表中的位置)
UBAFIL
UBABLK
status 状态
START_TIME 开始时间
START_SCNB 开始SCN
START_UBAFIL 文件
START_UBABLK 开始块
SES_ADDR 和v$session 关联 saddr
USED_UBLK 用的块数
USED_UREC 事务项
LOG_IO
PHY_IO
CR_GET
xid 事务号
在x$bh中的class字段,如果是回滚段块,假设回滚段USN为n,则回滚段头class为11+2n,回滚段块为12+2n
-----导出块头
alter system dump undo header '_SYSSMU1$';
-----导出块
alter system dump datafile 2 block 234
------更换回滚表空间
alter system set undo_tablespace=undo_2;
----创建回滚表空间
create undo tablespace UNDO_FOUR
datafile '/opt/oracle/oradata/dbtest/undo04.dbf' size 320K reuse RETENTION GUARANTEE;
create undo tablespace undotbs2 datafile 'C:\oracle\product\10.2.0\oradata\orcl\undo_tbs2'
-----设置guarantee 属性
alter tablespace undo_small retention guarantee;
---------------------------回滚段的扩展原理、使用原理-----------------------------
-------------------回滚表空间建好--------------
系统就会自动创建回滚段视图dba_rollback_segs,dba_undo_extents里显示。状态为offline
-----------------------删除表空间后--------
如果表空间的段有活动事务则不能删除,可以查看v$rollstat 或者dba_rollback_segs查看是否有活动事务的段
dba_rollback_segs,dba_undo_extents自动消失
v$rollstat 只显示当前表空间的段状态和旧的表空间有活动事务的段的状态
---------------------利用alter system set undo_tablespace 修改表空间后。
v$rollstat 里显示新的表空间状态,同时对于旧的表空间中有事务的段,也显示状态为PENDING OFFLINE
dba_rollback_segs中,新的表空间状态为online,旧的表空间的段如果没活动事务则为offline,有活动事务为显示为online
---------------------缺省undo的管理 ------------
1 不能脱机
2 文件可以脱机,如果没活动事务
3 ORA-01552: 非系统表空间 'USERS' 不能使用系统回退段
如果缺省undo 的文件都脱机,则 非系统表空间用户不能产生undo ,系统表空间用户可以
--------------------------undo_rention的管理-------------
alter tablespace undotbs1 retention guarantee;
当把UNDO_RENTION设置为0时,开启undo retention 自动优化,为了保证最长事务的UNDO,系统自动最大限制地不去增加EXTENT
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69265/viewspace-448507/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69265/viewspace-448507/