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

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

999

积分

1

好友

942

主题
1#
发表于 2017-4-12 19:16:01 | 查看: 1456| 回复: 1
求教:oracle服务器异常断电后orcl只能mount不能open
oracle服务器异常断电后orcl只能mount不能open;
recover database;
ora-00283:
ora-01122:
ora-01110:
0ra-01207:
各位大侠请赐教!!!


ALTER DATABASE BACKUP CONTROLFILE TO TRACE后,产生脚本:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 16
    MAXLOGHISTORY 1815
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG'  SIZE 1M,
  GROUP 2 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'  SIZE 1M,
  GROUP 3 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'  SIZE 1M
DATAFILE
  'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\ORCL\RBS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\USERS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\INDX01.DBF',
  'D:\ORACLE\ORADATA\ORCL\DR01.DBF',
  'D:\ORACLE\ORADATA\ORCL\OEM_REPOSITORY.ORA',
  'D:\ORACLE\ORADATA\ORCL\SCHOOL.ORA',
  'D:\ORACLE\ORADATA\ORCL\LUCY.ORA',
  'D:\ORACLE\ORADATA\ORCL\CUSTOMER_SERVICE.ORA',
  'D:\ORACLE\ORADATA\ORCL\FORCAST_DATA.ORA'
CHARACTER SET ZHT16BIG5
;
RECOVER DATABASE
ALTER DATABASE OPEN;
运行后
ORA-01503:
ORA-01192:
ORA-01507:
请指教!!!

我重建controlfile并作如下操作:
SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo01.log
ORA-00310: ?????????? 4485; ???????? 4465
ORA-00334: ????: 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'


SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: ???????? 'D:\ORACLE\ORA81\RDBMS\ARC04465.001'
ORA-27041: ??????
OSD-04002: !H!H!H!H!H!H
O/S-Error: (OS 2) (t2N'd$#(l+|)w*:@I.W!C


SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
取消媒體復原.
SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo01.log
ORA-00310: ?????????? 4485; ???????? 4465
ORA-00334: ????: 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'

redo01.log sequence 是4485,而它要的是sequence 4465 !
这种情况与

介绍的有点不同,下面该如何做还请各位大侠多多指导!!!


C:\>set oracle_sid=orcl

C:\>sqlplus /nolog

SQL*Plus: Release 8.1.7.0.0 - Production on 星期五 7月 5 08:00:15 2002

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

SQL> connect sys/manager as sysdba
已連接
SQL> recover database using backup controlfile
ORA-00279: 必須變更 2375142 建立於 06/29/2002 08:54:42 上 (對於繫線 1 而言)
ORA-00289: 建議 : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: 變更 2375142 (屬於繫線 1) 是在序列 #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo01.log
ORA-00310: 封存日誌的順序號碼為 4485; 需要的順序號碼為 4465
ORA-00334: 封存日誌: 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'


SQL> recover database using backup controlfile
ORA-00279: 必須變更 2375142 建立於 06/29/2002 08:54:42 上 (對於繫線 1 而言)
ORA-00289: 建議 : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: 變更 2375142 (屬於繫線 1) 是在序列 #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo02.log
ORA-00310: 封存日誌的順序號碼為 4487; 需要的順序號碼為 4465
ORA-00334: 封存日誌: 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'


SQL> recover database using backup controlfile
ORA-00279: 必須變更 2375142 建立於 06/29/2002 08:54:42 上 (對於繫線 1 而言)
ORA-00289: 建議 : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: 變更 2375142 (屬於繫線 1) 是在序列 #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo03.log
ORA-00310: 封存日誌的順序號碼為 4480; 需要的順序號碼為 4465
ORA-00334: 封存日誌: 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG'

help me!!!


在create controlfile前没有备份控制文件,DATABASE是noarchivelog模式,执行如下操作,还是需要BACKUP CONTROLFILE,我该怎么办呢?大侠帮帮我!!!

SQL> recover database
ORA-00283: 因為發生錯誤而取消復原連接物件
ORA-01610: 必須完成使用 BACKUP CONTROLFILE 選項的復原作業

就是让你重建控制文件, 重用当前控制文件.
或者你先把当前已经有的控制文件移到别的地方,然后不用加上controlfile reuse这个句子.

在前面的帖子中,已采用重新产生CONTROLFILE的方法,但还是不能做RECOVER DATABASE,请大侠指教!!!

以下是我的执行情况,请大侠过目,求教!!!
C:\>set oracle_sid=orcl

C:\>sqlplus /nolog

SQL*Plus: Release 8.1.7.0.0 - Production on 星期五 7月 5 15:53:45 2002

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

SQL> connect sys/manager as sysdba
連線至閒置執行項次.
SQL> @d:\oracle\c.sql
已啟動 ORACLE 執行項次.

Total System Global Area  190670876 bytes
Fixed Size                    75804 bytes
Variable Size              33230848 bytes
Database Buffers          157286400 bytes
Redo Buffers                  77824 bytes

控制檔已被建立

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIM
------------- ---------
         1          1          0    1048576          1 YES UNUSED
            0

         2          1          0    1048576          1 YES UNUSED
            0

         3          1          0    1048576          1 YES CURRENT
            0

SQL> recover database
ORA-00283: ???????????????
ORA-01610: ?????? BACKUP CONTROLFILE ???????

我的c.sql文件:
STARTUP NOMOUNT PFILE=D:\oracle\admin\ORCL\pfile\init.ora
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 16
    MAXLOGHISTORY 1815
LOGFILE
  GROUP 1 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG'  SIZE 1M,
  GROUP 2 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'  SIZE 1M,
  GROUP 3 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'  SIZE 1M
DATAFILE
  'D:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF',
  'D:\ORACLE\ORADATA\ORCL\RBS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\USERS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TEMP01.DBF',
  'D:\ORACLE\ORADATA\ORCL\TOOLS01.DBF',
  'D:\ORACLE\ORADATA\ORCL\INDX01.DBF',
  'D:\ORACLE\ORADATA\ORCL\DR01.DBF',
  'D:\ORACLE\ORADATA\ORCL\OEM_REPOSITORY.ORA',
  'D:\ORACLE\ORADATA\ORCL\SCHOOL.ORA',
  'D:\ORACLE\ORADATA\ORCL\LUCY.ORA',
  'D:\ORACLE\ORADATA\ORCL\CUSTOMER_SERVICE.ORA',
  'D:\ORACLE\ORADATA\ORCL\FORCAST_DATA.ORA'
CHARACTER SET ZHT16BIG5
;

大侠,我的recover database并没有成功吧?另外4485,4487,4480文件还在,请指教!!!

SQL> recover database
ORA-00283: ???????????????
ORA-01610: ?????? BACKUP CONTROLFILE ???????

下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

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

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

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
2#
发表于 2017-4-12 19:16:48

SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo01.log
ORA-00310: ?????????? 4485; ???????? 4465
ORA-00334: ????: 'D:\ORACLE\ORADATA\ORCL\REDO01.LOG'


SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo02.log
ORA-00310: ?????????? 4487; ???????? 4465
ORA-00334: ????: 'D:\ORACLE\ORADATA\ORCL\REDO02.LOG'


SQL> recover database using backup controlfile
ORA-00279: ???? 2375142 ??? 06/29/2002 08:54:42 ? (???? 1 ??)
ORA-00289: ?? : D:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 (???? 1) ???? #4465


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\oracle\oradata\orcl\redo03.log
ORA-00310: ?????????? 4480; ???????? 4465
ORA-00334: ????: 'D:\ORACLE\ORADATA\ORCL\REDO03.LOG'

加上_allow_resetlogs_corruption = true参数执行后出现下面的结果,上面的大侠,帮帮忙吧!!!

Total System Global Area  190670876 bytes
Fixed Size                    75804 bytes
Variable Size              33230848 bytes
Database Buffers          157286400 bytes
Redo Buffers                  77824 bytes

群集已被更改

ALTER DATABASE OPEN RESETLOGS
*
ERROR 在行 1:
ORA-03113: end-of-file on communication channel


ALTER DATABASE RENAME GLOBAL_NAME TO ORCL
*
ERROR 在行 1:
ORA-03114: 未與 ORACLE 相連



大侠按照你的方法我做了,但还是不行,请大侠指教。
以下是经过:
已连接到空闲例程。
SQL> STARTUP MOUNT PFILE=M:\DATABASE\ORCL\INITORCL.ORA
ORACLE 例程已经启动。

Total System Global Area  190670876 bytes
Fixed Size                    75804 bytes
Variable Size              33230848 bytes
Database Buffers          157286400 bytes
Redo Buffers                  77824 bytes
数据库装载完毕。
SQL> RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE
ORA-00279: ?? 2401145 (? 07/06/2002 08:32:04 ??) ???? 1 ????
ORA-00289: ??: F:\ORACLE\ORA81\RDBMS\ARC00001.001
ORA-00280: ?? 2401145 ???? 1 ???? # 1 ???


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'M:\DATABASE\ORCL\SYSTEM01.DBF'


ORA-01112: ???????


SQL> RECOVER DATABASE UNTIL CANCEL USING BACKUP CONTROLFILE
ORA-00279: ?? 2401145 (? 07/06/2002 08:32:04 ??) ???? 1 ????
ORA-00289: ??: F:\ORACLE\ORA81\RDBMS\ARC00001.001
ORA-00280: ?? 2401145 ???? 1 ???? # 1 ???


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
M:\DATABASE\ORCL\REDO01.LOG
已应用的日志。
完成介质恢复。
SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
ERROR 位于第 1 行:
ORA-00600: ??????????: [25012], [1], [2], [], [], [], [], []


大侠根据你的方法做了,但最后还是出错了,请大侠再看看
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-1998 Microsoft Corp.

F:\Documents and Settings\Administrator>set ORACLE_SID=ORCL

F:\Documents and Settings\Administrator>SQLPLUS /NOLOG

SQL*Plus: Release 8.1.7.0.0 - Production on 星期六 7月 6 15:23:21 200

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

SQL> CONNECT /AS SYSDBA
已连接到空闲例程。
SQL> @M:\DATABASE\ORCL\TRACE.SQL
ORACLE 例程已经启动。

Total System Global Area   27547676 bytes
Fixed Size                    75804 bytes
Variable Size              11665408 bytes
Database Buffers           15728640 bytes
Redo Buffers                  77824 bytes

控制文件已创建

SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
ERROR 位于第 1 行:
ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??


SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
ERROR 位于第 1 行:
ORA-01194: ??1?????????????
ORA-01110: ???? 1: 'M:\DATABASE\ORCL\SYSTEM01.DBF'


SQL> RECOVER DATABASE
ORA-00283: ??????????
ORA-01610: ?? BACKUP CONTROLFILE ??????????


SQL> recover database using backup controlfile
ORA-00279: ?? 2375142 (? 06/29/2002 08:54:42 ??) ???? 1 ????
ORA-00289: ??: F:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 ???? 1 ???? # 4465 ???


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
介质恢复已取消。
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: ?? 1 ??????
ORA-01110: ???? 1: 'M:\DATABASE\ORCL\SYSTEM01.DBF'


SQL> alter database clear logfile group 1;

数据库已更改。

SQL> alter database clear logfile group 2;

数据库已更改。

SQL> alter database clear logfile group 3;

数据库已更改。

SQL> recover database using backup controlfile
ORA-00279: ?? 2375142 (? 06/29/2002 08:54:42 ??) ???? 1 ????
ORA-00289: ??: F:\ORACLE\ORA81\RDBMS\ARC04465.001
ORA-00280: ?? 2375142 ???? 1 ???? # 4465 ???


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
M:\DATABASE\ORCL\REDO01.LOG
ORA-00339: ???????????
ORA-00334: ????: 'M:\DATABASE\ORCL\REDO01.LOG'


SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV
---------- ---------- ---------- ---------- ---------- ------
STATUS                           FIRST_CHANGE# FIRST_TIME
-------------------------------- ------------- ----------
         1          1          0    1048576          1 YES
UNUSED                                       0

         2          1          0    1048576          1 YES
UNUSED                                       0

         3          1          0    1048576          1 YES
CURRENT                                      0


SQL> shutdown
ORA-01109: ??????


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> STARTUP PFILE=M:\DATABSE\ORCL\INITORCL.ORA
LRM-00109: 无法打开参数文件 'M:\DATABSE\ORCL\INITORCL.ORA'
ORA-01078: 处理系统参数失败
SQL> STARTUP PFILE=M:\DATABASE\ORCL\INITORCL.ORA
ORACLE 例程已经启动。

Total System Global Area   27547676 bytes
Fixed Size                    75804 bytes
Variable Size              11665408 bytes
Database Buffers           15728640 bytes
Redo Buffers                  77824 bytes
数据库装载完毕。
ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??


SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARCHIV
---------- ---------- ---------- ---------- ---------- ------
STATUS                           FIRST_CHANGE# FIRST_TIME
-------------------------------- ------------- ----------
         1          1          0    1048576          1 YES
UNUSED                                       0

         2          1          0    1048576          1 YES
UNUSED                                       0

         3          1          0    1048576          1 YES
CURRENT                                      0


SQL> alter database open resetlogs;

数据库已更改。

SQL> SELECT * FROM EMC.ARS2M02
  2  /
SELECT * FROM EMC.ARS2M02
                        *
ERROR 位于第 1 行:
ORA-12571: TNSacket writer failure


SQL> select * from scott.dept;
select * from scott.dept
*
ERROR 位于第 1 行:
ORA-03114: 未连接到 ORALCE


SQL> SHUTDOWN
ORA-01012: not logged on
SQL> EXIT

F:\Documents and Settings\Administrator>SQLPLUS /NOLOG

SQL*Plus: Release 8.1.7.0.0 - Production on 星期六 7月 6 15:36:16 2002

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

SQL> CONNECT /AS SYSDBA
ERROR:
ORA-01092: ORACLE instance terminated. Disconnection forced

回复 只看该作者 道具 举报

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

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

GMT+8, 2024-12-20 15:21 , Processed in 0.044331 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

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