RMAN恢复,一个数据库文件损坏了,怎么恢复?

[复制链接]
查看11 | 回复9 | 2010-10-8 09:31:22 | 显示全部楼层 |阅读模式
有三个数据库文件,一次掉电,导致一个数据文件损坏,肯能是磁盘有问题了,数据库启动,就提示该文件不能读到;
有RMAN备份和日志
该数据文件也删除不掉,这种情况怎么处理?不想把数据库删除,重新建了恢复
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
SQL>startup mount
RMAN> RESTORE datafile 5;
RMAN> RECOVER datafile 5;
SQL> alter database open;
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
能详细点吗
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
这还不够详细啊?
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
就这几步啊!
1、数据库现在关闭了吧?没关闭的话先sqlplus / as sysdba,sql>shutdown immediate,不行就shutdown abort
2、sql>startup mount
3、oracle用户下rman target /,进入rman
4、RMAN> RESTORE datafile 5; 把5替换成找不到的那个文件号或文件名
5、RMAN> RECOVER datafile 5; 同上
6、SQL> alter database open;
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
如果你坏的那个数据文件在单独的文件系统,或祼设备,尽量换块盘试试,如果真是硬盘坏了的话,写原来的位置是写不进去的.
另外,试过FSCK了吗?
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
如果损坏的文件所在的磁盘已不可用,可以用rman恢复到别的磁盘上。具体怎么恢复我还没试过,可能要改controlfile。
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
恢复到其他地方:
SET NEWNAME FOR datafile '/u01/oradata/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE datafile 5;
SWITCH DATAFILE ALL;
RECOVER datafile 5;
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
老兄手好快,我还没试完,你就写完了。
回复

使用道具 举报

千问 | 2010-10-8 09:31:22 | 显示全部楼层
写肯定比试快了!呵呵!
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行