误删除了UNDO对应的文件,数据库起不来了怎么办

[复制链接]
查看11 | 回复9 | 2010-10-8 09:28:51 | 显示全部楼层 |阅读模式
误删除了UNDO对应的文件,数据库起不来了。我试过以下这些方法,都不管用。
尝试一:
startup mount
alter database datafile .... offline drop
alter database open
尝试二:
startup mount
create pfile '...' from spfile
创建不起来
尝试三:
找到一个init.ora,把里面的undo表空间名称改成system,把undo_manage改成manule
startup mount pfile='....'
alter database open
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
加隐含参数_offline_rollback_segments试过了么?
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
第三种方式报什么错误
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
没试过,怎么用?
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
详细的信息我记不得了,我打开alert,里面还是报读不了这个undo文件
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
原帖由 nyh 于 2009-10-21 21:00 发表
没试过,怎么用?

offline drop missing undo file。
open时新建新的undo tablespace,把默认undo转成新的。
设置undo_management=manual.
加以下参数
_corrupted_rollback_segments=(all the old rollback segs)
_offline_rollback_segments=true
重启。
这样其实是丢失了部分需要rollback的数据的。
[ 本帖最后由 viadeazhu 于 2009-10-21 22:31 编辑 ]
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
我实验了一下 mount下可以创建undo表空间吗?
undo_management
stringMANUAL
undo_tablespace
stringSMALL_UDNO
_corrupted_rollback_segments string_SYSSMU1$, _SYSSMU2$, _SYSSMU3

$, _SYSSMU4$, _SYSSMU5$, _SYSS

MU6$, _SYSSMU7$, _SYSSMU8$, _S

YSSMU9$, _SYSSMU10$, _SYSSMU11

$, _SYSSMU12$, _SYSSMU13$, _SY

SSMU14$, _SYSSMU15$, _SYSSMU16

$, _SYSSMU17$, _SYSSMU18$, _SY

SSMU19$, _SYSSMU20$
_offline_rollback_segments stringTRUE
我设置了这几个参数打开还是有问题
ORA-01157: cannot identify/lock data file 2 - see DBWR trace file
ORA-01110: data file 2: '/u01/oradata/wilson/undotbs01.dbf'
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
alter database datafile '/u01/oradata/wilson/undotbs01.dbf' offline drop;
alter database open;
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
需先open,在创建新的undo tablespace。
回复

使用道具 举报

千问 | 2010-10-8 09:28:51 | 显示全部楼层
明天在实验一下呵呵。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行