Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2017-4-13 16:07:37 | 查看: 1240| 回复: 0

服务器有两个硬盘,突然宕机,导致服务器主板和一块硬盘损坏,现在不能开机。

好的硬盘上有数据库软件、部分数据文件、控制文件。
但联机日志、归档日志都在损坏硬盘上,同时还有个用户自己创建的数据文件也在损坏硬盘上。

现在操作如下:

oracle 9.2.0.5

1.在另一台电脑上,同目录安装数据库软件,并创建数据库;

2.复制 未损坏硬盘 上的数据文件、控制文件,到新数据库对应目录下。

3.因为有一个数据文件找不到,所以重建:

SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  873538888 bytes
Fixed Size                   456008 bytes
Variable Size             335544320 bytes
Database Buffers          536870912 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01157: 无法标识/锁定数据文件 37 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 37: 'H:\ORA_DATAFILE\STU_APPLY.DBF'

SQL> alter database create datafile 37;
数据库已更改。
SQL>
复制代码

4.做恢复:

C:\Documents and Settings\Administrator>rman target /
恢复管理器: 版本9.2.0.5.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.
连接到目标数据库: ZLWST (DBID=4009927990)
RMAN> recover database noredo;
启动 recover 于 20-1月 -15
正在使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=10 devtype=DISK
完成 recover 于 20-1月 -15
RMAN>
复制代码

5.启动:

SQL> shutdown immediate
ORA-01109: 数据库未打开

已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area  873538888 bytes
Fixed Size                   456008 bytes
Variable Size             335544320 bytes
Database Buffers          536870912 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效

SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-01113: 文件 37 需要介质恢复
ORA-01110: 数据文件 37: 'H:\ORA_DATAFILE\STU_APPLY.DBF'
复制代码

6.没法启动,将新建的数据文件offline:

SQL> alter database datafile 37 offline;
数据库已更改。
复制代码

7.再开:---------在sqlplus下执行

SQL> alter database open;
alter database open
*
ERROR 位于第 1 行:
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'H:\ORA_LOG\REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效

SQL> recover database noredo;
ORA-00905: 缺少关键字
复制代码

8.不能操作,在rman下操作:

RMAN> recover database noredo;
启动 recover 于 20-1月 -15
使用通道 ORA_DISK_1
完成 recover 于 20-1月 -15
RMAN> alter database open resetlogs;
RMAN-00571: ====================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ========
RMAN-00571: ====================================================
RMAN-03002: failure of alter db command at 01/20/2015 20:01:17
ORA-01139: RESETLOGS 选项仅在不完全数据库恢复后有效
RMAN> alter database open;
RMAN-00571: ====================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ========
RMAN-00571: ====================================================
RMAN-03002: failure of alter db command at 01/20/2015 20:01:24
ORA-00313: 无法打开日志组 1 (线程 1) 的成员
ORA-00312: 联机日志 1 线程 1: 'H:\ORA_LOG\REDO01.LOG'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
RMAN>
复制代码

也不行,请问各位,最后这如何操作呢?


请问 控制文件如何处理呢?直接用之前的控制文件覆盖现在新库的控制文件?



SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'D:\ORACLE\ORADATA\ZLWST\SYSTEM01.DBF'

现在报这个错呢?
因为发现有个数据文件在坏了的磁盘上,所以我把控制文件重建了。排除了这个数据文件。这个是用户的数据文件,非系统数据文件。





不行。在open时报600错误崩溃了。
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-12-20 16:44 , Processed in 0.044245 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569