4.UNDO
alter tablespace undotbs1 retentionguarantee[noguarantee]
使用到的视图:
select*fromgv$rollname
select*fromgv$rollstat
select*fromdba_rollback_segs
select*fromdba_undo_extents
(a).strings命令得到回滚段的信息:
[oracle@deer ~]$ strings /u01/oradata/deer/system01.dbf | grep _SYSSMU|cut -d
$ -f 1 |sort -u
and
substr(drs.segment_name,1,7) != '_SYSSMU'
D'and
substr(drs.segment_name,1,7) != ''_SYSSMU'' ' );
_SYSSMU10_3550978943
_SYSSMU10_3904554333
_SYSSMU11_286947212
_SYSSMU12_3068564564
_SYSSMU13_2761193625
_SYSSMU1_3780397527
_SYSSMU14_2421411996
_SYSSMU15_1683924174
_SYSSMU16_2313212396
_SYSSMU17_2041439332
_SYSSMU1_783380902
_SYSSMU18_2800789714
_SYSSMU19_53723967
_SYSSMU20_3850939844
_SYSSMU2_2232571081
_SYSSMU2_3138176977
_SYSSMU3_1645411166
_SYSSMU3_2097677531
_SYSSMU4_1152005954
_SYSSMU4_870421980
_SYSSMU5_1527469038
_SYSSMU5_2525172762
_SYSSMU6_2443381498
_SYSSMU6_3753507049
_SYSSMU7_1260614213
_SYSSMU7_3286610060
_SYSSMU8_2012382730
_SYSSMU8_2806087761
_SYSSMU9_1424341975
_SYSSMU9_973944058
(b)查询正处于事务的undo信息:
create view user_undo_stat
as
select s.USERNAME,t.START_TIME,rn.name,t.UBAFIL,t.UBABLK,log_io,phy_io
from
v$transaction t,v$rollname rn,v$rollstat rs,v$session s
where t.XIDUSN=rn.usn and t.SES_ADDR=s.SADDR and rs.USN=rn.usn
and s.SID=(select sid from v$mystat where rownum=1)
create public synonym user_undo_stat for user_undo_stat
grant select on user_undo_stat to public
(c).删除AUM下的回滚段
SQL> alter rollback segment "_SYSSMU1_3780397527$" offline;
Rollback segment altered.
SQL> select name,status from v$rollname,v$rollstat where v$rollstat.usn=v$rollname.usn;
NAMESTATUS
------------------------------
---------------
SYSTEMONLINE
_SYSSMU1_3780397527$ONLINE
_SYSSMU2_2232571081$ONLINE
_SYSSMU3_2097677531$ONLINE
_SYSSMU4_1152005954$ONLINE
_SYSSMU5_1527469038$ONLINE
_SYSSMU6_2443381498$ONLINE
_SYSSMU7_3286610060$ONLINE
_SYSSMU8_2012382730$ONLINE
_SYSSMU9_1424341975$ONLINE
_SYSSMU10_3550978943$ONLINE
SQL> drop rollback segment
"_SYSSMU1_3780397527$"
2;
drop rollback segment "_SYSSMU1_3780397527$"
*
ERROR at line 1:
ORA-30025: DROP segment '_SYSSMU1_3780397527$'
(in undo tablespace) not allowed
AUM情况下,offline不能直接删除UNDO
segment
需要修改隐藏参数:
SQL> select ksppinm,ksppdesc from x$ksppi where ksppinm like '%_smu_debug_mode%';
KSPPINMKSPPDESC
-------------------- ----------------------------------------------------------------------------------------------------
_smu_debug_mode<debug-flag>
- set debug event for testing SMU operations
SQL>alter
system set "_smu_debug_mode"=4;
System altered.
SQL> alter rollback segment "_SYSSMU1_3780397527$" offline;
Rollback segment altered.
查询v$rollstat发现offline的segment不存在了(11g)。
SQL> select name,status from v$rollname,v$rollstat where v$rollstat.usn=v$rollname.usn;
NAMESTATUS
------------------------------
---------------
SYSTEMONLINE
_SYSSMU2_2232571081$ONLINE
_SYSSMU3_2097677531$ONLINE
_SYSSMU4_1152005954$ONLINE
_SYSSMU5_1527469038$ONLINE
_SYSSMU6_2443381498$ONLINE
_SYSSMU7_3286610060$ONLINE
_SYSSMU8_2012382730$ONLINE
_SYSSMU9_1424341975$ONLINE
_SYSSMU10_3550978943$ONLINE
SQL> drop rollback segment
"_SYSSMU1_3780397527$";
Rollback segment dropped.
_offline_rollback_segments和_corrupted_rollback_segments
_offline_rollback_segments,oracle会假设这个回滚段还是可以用的,会尝试利用回滚段中的内容完成事务的回滚。
_corrupted_rollback_segments,oracle不会做这种假设,也不会做尝试,而是直接把食物标志成提交。
Alter system set “_offline_rollback_segments”=”rollback_name”scope=spfile
Alter system set “_corrupted_rollback_segments”=”rollback_name”scope=spfile
分享到:
相关推荐
ORACLE9i-分析函数参考手册-物化视图-Flashback Query.doc
ORACLE flashback database测试,主要进行ORACLE flashbackup 闪回整个数据库的实现。
Oracle 10g High Availability-Flashback技術介紹
Oracle_Flashback_技术_总结.pdf
全面总结和解释了oracle flashback技术的使用,优势以及限制
oracle数据库FLASHBACK系列功能介绍
FLASHBACK DATABASE flashback data1base闪回到过去的某一时刻 闪回点之后的所有工作都将丢失 必须使用resetlogs创建新的场景并打开数据库(一旦resetlogs之后,将不能再闪回至resetlogs之前的时间点) .......
必须设定undo保留时间足够大以能够重构需要闪回的数据 ALTER SYSTEM SET UNDO_RETENTION=; seconds值是undo数据保持的秒数。 Flashback view是由undo retention interval来限制的。
Oracle中FlashBack技术的应用 1: 闪回数据库; 2: 闪回drop掉的表; 3: 闪回对表数据的修改; 4: 闪回版本查询
oracle 表恢复 闪回 flashback
一个知识点展开讲解,包括oracle clusterware的维护、ha与lb、备份、恢复、flashback家族、rac和data guard的结合使用、rac和stream的结合使用,最后对asm进行深入介绍,并给出性能调整的指导思想。
Oracle Flashback 技术总结
主要详细讲解了oracle10g以来对于闪回机制的类型及相关的使用方法和场景的介绍,很有用,尤其对于无意中对表数据删除了的恢复较有价值
Oracle Database 10g: High Availablity with RAC Flashback & Data Guard This text concentrates on explaining 10g technologies and practices to database administrators, covering general availability, ...
10G的FLASHBACK的所有内容,实践性极强,看后可快速上手,对于未解除过的,看后也可快速上手
oracle 10g flashback(数据恢复)/oracle 10g flashback(数据恢复)/oracle 10g flashback(数据恢复)/oracle 10g flashback(数据恢复)
Oracle 12c 闪回技术 Flashback Database.pdf Oracle 12c 闪回技术 Oracle Flashback技术.pdf Oracle 12c 管理UNDO.pdf Oracle 12c 数据库备份和恢复概述.pdf Oracle 12c 用户管理的备份和恢复.pdf Oracle 12c SCN...
NULL 博文链接:https://shihuan830619.iteye.com/blog/1485908
ORACLE FLASHBACK综述.pdf