以下是eygle大师几年前写的一个blog,转载过来看看~~
有时候在数据库崩溃后的恢复尝试中,我们需要获得回滚段的名称。
在AUM(auto undo management)模式下,由于回滚段是自动管理的,我们无法从参数文件中得到回滚段名称,这时需要一点技巧来获得回滚段名称。
其实也很简单,UNDO段的名称存储在系统表空间,我们可以从系统表空间获得。
以下一句脚本可以作为辅助:
strings system01.dbf | grep _SYSSMU | cut -d $ -f 1 | sort -u
在Linux/Unix下没什么特殊的,在Windows上,如果你安装过类似的Unix工具,则可以同样获得正确的输入,看看我的笔记本上的输出:
D:\oradata\EYGLE\DATAFILE>strings O1_MF_SYSTEM_2G8OHFX6_.DBF|grep _SYSSMU | cut -d $ -f 1 | sort -u
_SYSSMU1
_SYSSMU10
_SYSSMU2
_SYSSMU3
_SYSSMU4
_SYSSMU5
_SYSSMU6
_SYSSMU7
_SYSSMU8
_SYSSMU9
我安装的MKS工具是我觉得最好用的Unix工具包。
D:\oradata\EYGLE\DATAFILE>which strings
e:\PROGRA~1\MKSTOO~1\mksnt/strings.exe
D:\oradata\EYGLE\DATAFILE>which cut
e:\PROGRA~1\MKSTOO~1\mksnt/cut.exeD:\oradata\EYGLE\DATAFILE>which sort
e:\PROGRA~1\MKSTOO~1\mksnt/sort.exe
原文地址:http://www.eygle.com/archives/2006/09/get_undo_segment_name.html