博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

我的天空

  zhifeiji512.cublog.cn

关于作者
姓名:李传
职业:程序员
年龄:23
个性介绍:内外兼有
|| << >> ||
我的分类


数据修复问题
背景描述:oracle实例A的日志文件被误删除,同时因为后期修复过程中的误操作把控制文件也给破坏了。解决思路是:新建一个干净的实例,把坏掉实例的表空间数据文件倒进干净的实例中,并重新建立日志与控制文件的关联。具体做法如下:

1)新建一个实例B(D:\ORACLE\ORADATA\B\),到“服务”里停止实例B;

2)把实例A所有的.dbf文件拷贝到实例A里

3)“服务”启动实例B;

4)进入DOS

c:/>sqlplus /nolog
sql>connect /@instancename as sysdba;
sql>startup ummount;
--下面是关键的一步,建立控制文件的关联
sql>CREATE CONTROLFILE REUSE DATABASE "B" RESETLOGS NOARCHIVELOG
-- SET STANDBY TO MAXIMIZE PERFORMANCE
MAXLOGFILES 50
MAXLOGMEMBERS 5
MAXDATAFILES 100
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\B\REDO01.LOG' SIZE 100M,
GROUP 2 'D:\ORACLE\ORADATA\B\REDO02.LOG' SIZE 100M,
GROUP 3 'D:\ORACLE\ORADATA\B\REDO03.LOG' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'D:\ORACLE\ORADATA\B\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\B\UNDOTBS01.DBF',
'D:\ORACLE\ORADATA\B\CWMLITE01.DBF',
'D:\ORACLE\ORADATA\B\DRSYS01.DBF',
'D:\ORACLE\ORADATA\B\EXAMPLE01.DBF',
'D:\ORACLE\ORADATA\B\INDX01.DBF',
'D:\ORACLE\ORADATA\B\ODM01.DBF',
'D:\ORACLE\ORADATA\B\TOOLS01.DBF',
'D:\ORACLE\ORADATA\B\USERS01.DBF',
'D:\ORACLE\ORADATA\B\XDB01.DBF';
--关于DATAFILE里的内容,需要大家自己根据情况修改。
sql>shutdown
sql>startup mount
sq;>alter database open resetlogs;

5)这样应该就可以了,如果不行,关闭,重新连接应该就可以了。

发表于: 2008-05-09,修改于: 2008-05-09 09:44,已浏览28次,有评论0条 推荐 投诉


网友评论
 发表评论