OracleUndo表空间与回滚
关Undo表空间与回滚段的一些查询语句记录 --与回滚段相关的几个系统参数 transactions_per_rollback_segment transactions max_rollback_segments rollback_segments 回滚段类型为public则与该参数无关 --相关的几个视图: DBA_UNDO_EXTENTS GV$UNDOSTAT V$UNDOSTAT DBA_ROLLBACK_SEGS GV$ROLLSTAT V$ROLLNAME V$ROLLSTAT ---分析 UNDO 的使用情况 SELECT TABLESPAC...全部
关Undo表空间与回滚段的一些查询语句记录 --与回滚段相关的几个系统参数 transactions_per_rollback_segment transactions max_rollback_segments rollback_segments 回滚段类型为public则与该参数无关 --相关的几个视图: DBA_UNDO_EXTENTS GV$UNDOSTAT V$UNDOSTAT DBA_ROLLBACK_SEGS GV$ROLLSTAT V$ROLLNAME V$ROLLSTAT ---分析 UNDO 的使用情况 SELECT TABLESPACE_NAME,STATUS,TRUNC(SUM(BLOCKS) * 8 / 1024) AS "Size M", COUNT(*) Undo_Extent_Num FROM DBA_UNDO_EXTENTS GROUP BY TABLESPACE_NAME, STATUS ---监控undo表空间 SELECT BEGIN_TIME, END_TIME, UNDOTSN, UNDOBLKS, TXNCOUNT, MAXCONCURRENCY AS "MAXCON" FROM V$UNDOSTAT; --查询是否有回滚段的争用 select * from v$waitstat; SELECT name, waits, gets, waits/gets "Ratio" FROM v$rollstat a, v$rollname b WHERE a。
usn = b。usn; ---查看回滚段的统计信息: SELECT n。name, s。extents, s。rssize, s。optsize, s。hwmsize, s。xacts, s。
status FROM v$rollname n, v$rollstat s WHERE n。usn = s。usn; --查看回滚段的使用情况,哪个用户正在使用回滚段的资源: SELECT s。
username, u。name FROM v$transaction t, v$rollstat r, v$rollname u, v$session s WHERE s。taddr = t。
addr AND t。xidusn = r。usn AND r。usn = u。usn ORDER BY s。username; --查询回滚段的事务回退率 transaction rollbacks/(transaction rollbacks+user commits) select name,value from v$syssstat where name in('user commits','transaction rollbacks'); --查询获取回滚段数据的时候数据缓冲区中copy的数据块的数量 select count(*) from x$bh where state=3; --查询在SGA中回滚段的块的数量USN=n,则回滚段头class为11+2n,回滚段块为12+2n select usn from v$rollstat; select class,count(*) from x$bh where class>10 group by class; --查询数据库的的回滚段情况 select segment_id,segment_name from dba_rollback_segs; --指定使用某个回滚段 set transaction use rollback segment _SYSSMU4$ --查询回滚段在使用,扩展,回缩的时候extent在循环的次数 select usn,wraps from v$rollstat; --查询回滚段收缩的情况 select usn,optsize,shrinks from v$rollstat; --切换undo表空间到新的表空间(注意修改pfile或者spfile参数) alter system set undo_tablespace=UNDOTBS1 scope=both; ---创建undo表空间 CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 'E:\ORACLE\ORA92\ORCL9\UNDOTBS02。
DBF' size 11M reuse AUTOEXTEND ON; ---改变(Altering) an Undo Tablespace Adding a datafile Renaming a datafile Bringing a datafile online or taking it offline Beginning or ending an open backup on a datafile
以上是我对于这个问题的解答,希望能够帮到大家。
收起