只有归档日志和以前的dmp文件,怎么恢复Oracle数据库啊?

vmsoft 2002-11-07 12:34:25
只有归档日志和以前的dmp文件,怎么恢复Oracle数据库啊?
...全文
379 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
vmsoft 2002-11-11
  • 打赏
  • 举报
回复
谢谢“penitent(只取一瓢)”大侠,结贴了。
vmsoft 2002-11-08
  • 打赏
  • 举报
回复
我已经成功执行了“alter database backup controlfile to trace;”
vmsoft 2002-11-08
  • 打赏
  • 举报
回复
好,我先试一下。。。
penitent 2002-11-08
  • 打赏
  • 举报
回复
这样吧,你把原来的冷备份拷贝过来不是能启动吗?
用它启动到open状态

alter database backup controlfile to trace;
得到建立控制文件和恢复数据库的脚本。
然后再仅仅拷贝数据文件,启动到nomount下,执行那个生成的脚本即可。
vmsoft 2002-11-08
  • 打赏
  • 举报
回复
你看我的执行结果:
SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> alter database backup controlfile to trace;
alter database backup controlfile to trace
*
ERROR 位于第 1 行:
ORA-01507: ??????
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
我试一下先, “penitent(只取一瓢) ”真是热心人
penitent 2002-11-07
  • 打赏
  • 举报
回复
如果你有上次冷备份的文件和自该冷备份以来的所有的归档(所有归档都要在),就可以。
方法:
1、关闭数据库,再做一次冷备份
2、拷贝上次冷备份的数据文件回来(仅仅数据文件就够了)
3、进入控制台srvmgrl(如果是8则是svrmgr30)
SVRMGR>connect internal/password
SVRMGR>startup mount;
SVRMGR>recover database;
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
我还有上次做冷备份时留下的数据文件、控制文件和重做日志文件,但我想将数据库恢复到现在的状态,可不可以使用现在的归档日志做到这一点?
penitent 2002-11-07
  • 打赏
  • 举报
回复
如果只有归档日志和以前的dmp文件,那归档日志是没有用的,归档日志只有在有文件备份的情况下有用。
你可以把dmp直接导进出就可以了
penitent 2002-11-07
  • 打赏
  • 举报
回复
alter database backup controlfile to trace;
可以得到一个创建控制文件并恢复数据库的脚本。
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
penitent(只取一瓢),谢谢了,有问题再问你
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
哦,我明白了一点,不过我对“创建新的控制文件并恢复数据库和alter database backup controlfile to trace”的具体操作不是很清楚,能说的明白一点吗?
penitent 2002-11-07
  • 打赏
  • 举报
回复
只要有备份就可以的,如果还有什么问题,请消息给我,我要下了,晚上再来这里。
penitent 2002-11-07
  • 打赏
  • 举报
回复
是因为你拷贝了所有的文件回来,系统认为你的scn是一致的,没有必要进行恢复,你的这次硬盘坏了后,可否有这次的日志文件或控制文件否,只要有现在的控制文件或联机日志,当oracle发现scn不一致的时候,就可以用recover database命令了。如果没有的话。
你还是只能拷贝数据文件回来。(不要拷贝控制文件和联机日志)
启动到nomount下
startup niomount
创建新的控制文件并恢复数据库(如果你以前有基于文本的控制文件备份的话,就直接有脚本了),否则,在nomount下
看这个能不能运行,如果能运行,就可以得到创建控制文件并恢复数据库的脚本了,脚本在你的跟踪目录下。
alter database backup controlfile to trace;
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
1、我的冷备份是基于文件备份的
2、Oracle数据库的硬盘坏,我的数据文件是上一次冷备份时留下的,放在另外一个硬盘上
3、装好Oracle数据库以后,我将以前的冷备份替换调现在的数据库,可以启动,证明你以前的冷备份没有错。但是,你不要拷贝所有的文件回来,只需要拷贝数据文件回来,再根据归档日志做完全恢复,但是你看我的错误信息:
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 101784276 bytes
Fixed Size 453332 bytes
Variable Size 75497472 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> recover database
ORA-00283: 恢复会话因错误而取消
ORA-00264: 不要求恢复
penitent 2002-11-07
  • 打赏
  • 举报
回复
1、通过Exp备份出来的文件不是冷备份文件。需要的是基于文件备份的冷备份或热备份
2、Oracle数据库的硬盘坏,那数据文件还能拷贝出来吗?
3、装好Oracle数据库以后,我将以前的冷备份替换调现在的数据库,可以启动,证明你以前的冷备份没有错。但是,你不要拷贝所有的文件回来,只需要拷贝数据文件回来,再根据归档日志做完全恢复
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
装好Oracle数据库以后,我将以前的冷备份替换调现在的数据库,可以启动,但是我要做的是通过最新的归档日志将我的所有数据恢复过来,到底该怎么办?
vmsoft 2002-11-07
  • 打赏
  • 举报
回复
好像不行,我将我这里的情况说明一下:
1、我每天定时作一次冷备份和热备份(通过Exp)
2、归档日志放在另外独立于数据文件的一个硬盘上

现在装有Oracle数据库的硬盘坏了,里面的数据全部丢失,于是我就剩下上一次的冷备份和最新所有的归档日志,我便重新装过Windows2000 Advance Server和Oracle,Oracle的安装路径和实例名和以前完全一致,现在要完全将数据库恢复过来,能行吗?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧