12
返回列表 发新帖
楼主: iceagelin

请教一个备份恢复的问题

[复制链接]
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
11#
 楼主| 发表于 2008-4-2 19:07 | 只看该作者
原帖由 d.c.b.a 于 2008-4-2 18:58 发表
只能恢复到你作拷贝的时间点, 就是用你拷贝的数据文件替换掉现在.

如果你只丢了某个数据文件, 可以只丢失那个表空间的从备份以来到现在的数据.



嗯,我是将之前备份的文件拷到数据文件所在目录,所有的数据文件,然后去open数据库的时候,
在alter database open的阶段就出现了最开始的错误,
好像系统会自动去找归档日志,可是我是在非归档模式下(原先是归档,后面改成非归档的)
然后就恢复不了了。
再想是不是控制文件中记录的scn与数据文件中的不同,然后去应用日志,可是又没有日志??
现在希望恢复到备份的时间点,应该怎么做呢?
请帮帮我啊,谢谢了。

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
12#
 楼主| 发表于 2008-4-2 19:55 | 只看该作者
没有人告诉一下我啊?
哎。

虽然我还没有找到办法,不过依然感谢各位热心的回答!嗯!

使用道具 举报

回复
论坛徽章:
0
13#
发表于 2008-4-2 20:28 | 只看该作者
恢复控制文件或重建控制文件

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2008-4-2 20:52 | 只看该作者
copy你的备份文件回去,然后重建controlfile,
alter database open resetlogs
只能恢复到你备份的时刻了。

使用道具 举报

回复
论坛徽章:
76
双子座
日期:2015-07-28 14:26:072012新春纪念徽章
日期:2012-02-13 15:09:52ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15鲜花蛋
日期:2011-08-26 02:02:24管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:皮划艇
日期:2011-04-18 11:24:412011新春纪念徽章
日期:2011-02-18 11:43:342011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
15#
发表于 2008-4-2 20:59 | 只看该作者
startup mount;
alter database backup controlfile to trace;




startup nomount;
重建控制文件;
alter database mount;
recover database using backup controlfile until cancel;
alter database open resetlogs;

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
16#
发表于 2008-4-2 21:27 | 只看该作者
我真是好人,给你从头做了一遍
1.模拟环境
1)确认数据库是非归档模式及所有数据文件,控制文件,重做日志

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

Cocuments and SettingsRequieM>sqlplus " / as sysdba"

SQL*Plus: Release 9.2.0.8.0 - Production on 星期三 4月 2 20:43:06 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.


连接到:
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production

SQL> archive log list
数据库日志模式             非存档模式
自动存档             启用
存档终点            FracleoradataMYDBarchive
最早的概要日志序列     47
当前日志序列           51
SQL> select FILE_NAME from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------

F:ORACLEORADATAMYDBSYSTEM01.DBF
F:ORACLEORADATAMYDBUNDOTBS01.DBF
F:ORACLEORADATAMYDBTEST.DBF
F:ORACLEORADATAMYDBLOBTEST_1M.ORA

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------

F:ORACLEORADATAMYDBCONTROL01.CTL
F:ORACLEORADATAMYDBCONTROL02.CTL
F:ORACLEORADATAMYDBCONTROL03.CTL

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------

F:ORACLEORADATAMYDBREDO01A.ORA
F:ORACLEORADATAMYDBREDO01B.ORA
F:ORACLEORADATAMYDBREDO02A.ORA
F:ORACLEORADATAMYDBREDO04A.ORA
F:ORACLEORADATAMYDBREDO04B.ORA
F:ORACLEORADATAMYDBREDO05A.ORA
F:ORACLEORADATAMYDBREDO05B.ORA
F:ORACLEORADATAMYDBREDO02B.ORA
F:ORACLEORADATAMYDBREDO03A.ORA
F:ORACLEORADATAMYDBREDO03B.ORA

已选择10行。

2)关闭数据库只备份所有数据文件.

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

Cocuments and SettingsRequieM>cd F:ORACLEORADATAMYDB

Cocuments and SettingsRequieM>F:

FracleoradataMYDB>DIR/W
驱动器 F 中的卷是 ORACLE
卷的序列号是 E2CF-D535

FracleoradataMYDB 的目录

[.]              [..]             [archive]        CONTROL01.CTL
CONTROL02.CTL    CONTROL03.CTL    LOBTEST_1M.ORA   REDO01A.ORA
REDO01B.ORA      REDO02A.ORA      REDO02B.ORA      REDO03A.ORA
REDO03B.ORA      REDO04A.ORA      REDO04B.ORA      REDO05A.ORA
REDO05B.ORA      SYSTEM01.DBF     TEMP01.DBF       TEST.DBF
UNDOTBS01.DBF
              18 个文件    901,567,488 字节
               3 个目录 50,239,250,432 可用字节

FracleoradataMYDB>CD ..

Fracleoradata>mkdir BCK

Fracleoradata>cd BCK

FracleoradataBCK>copy F:ORACLEORADATAMYDBSYSTEM01.DBF
已复制         1 个文件。

FracleoradataBCK>copy F:ORACLEORADATAMYDBUNDOTBS01.DBF
已复制         1 个文件。

FracleoradataBCK>copy F:ORACLEORADATAMYDBTEST.DBF
已复制         1 个文件。

FracleoradataBCK>copy F:ORACLEORADATAMYDBLOBTEST_1M.ORA
已复制         1 个文件。

F:oracleoradataBCK>exit

3)打开数据库,建立测试表test123并向其中插入数据且不停切换日志.

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  101785012 bytes
Fixed Size                   454068 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> conn mydb
请输入口令:
已连接。
SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 INACTIVE
         2 INACTIVE
         3 INACTIVE
         4 CURRENT
         5 INACTIVE

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 CURRENT
         2 INACTIVE
         3 INACTIVE
         4 ACTIVE
         5 INACTIVE

SQL> create table mydb.test123 as select * from v$version;

表已创建。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 CURRENT
         2 INACTIVE
         3 INACTIVE
         4 ACTIVE
         5 INACTIVE

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 ACTIVE
         2 CURRENT
         3 INACTIVE
         4 ACTIVE
         5 INACTIVE

SQL> insert into mydb.test123 select * from v$version;

已创建5行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 ACTIVE
         2 ACTIVE
         3 CURRENT
         4 INACTIVE
         5 INACTIVE

SQL> insert into mydb.test123 select * from v$version;

已创建5行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 INACTIVE
         2 ACTIVE
         3 ACTIVE
         4 INACTIVE
         5 CURRENT

SQL> insert into mydb.test123 select * from v$version;

已创建5行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> select group#,status from v$log;

    GROUP# STATUS
---------- ----------------
         1 INACTIVE
         2 INACTIVE
         3 ACTIVE
         4 CURRENT
         5 ACTIVE

SQL> select count(*) from mydb.test;

  COUNT(*)
----------
         9

4)关闭数据库,删除一个数据文件,重新打开时抱错,并且因为没有归档日志导致无法恢复.

SQL> conn / as sysdba
已连接。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

Cocuments and SettingsRequieM>cd F:ORACLEORADATAMYDB

Cocuments and SettingsRequieM>F:

F:oracleoradataMYDB>del F:ORACLEORADATAMYDBSYSTEM01.DBF

F:oracleoradataMYDB>dir F:ORACLEORADATAMYDBSYSTEM01.DBF
驱动器 F 中的卷是 ORACLE
卷的序列号是 E2CF-D535

F:ORACLEORADATAMYDB 的目录

找不到文件

F:oracleoradataMYDB>exit

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  101785012 bytes
Fixed Size                   454068 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'F:ORACLEORADATAMYDBSYSTEM01.DBF'


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


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

Cocuments and SettingsRequieM>cd F:oracleoradataBCK

Cocuments and SettingsRequieM>F:

F:oracleoradataBCK>dir
驱动器 F 中的卷是 ORACLE
卷的序列号是 E2CF-D535

F:oracleoradataBCK 的目录

2008-04-02  20:51    <DIR>          .
2008-04-02  20:51    <DIR>          ..
2008-04-02  20:45         5,251,072 LOBTEST_1M.ORA
2008-04-02  20:45       419,438,592 SYSTEM01.DBF
2008-04-02  20:45       104,865,792 TEST.DBF
2008-04-02  20:45       209,723,392 UNDOTBS01.DBF
               4 个文件    739,278,848 字节
               2 个目录 49,919,373,312 可用字节

F:oracleoradataBCK>copy *.* F:ORACLEORADATAMYDB
LOBTEST_1M.ORA
改写 F:ORACLEORADATAMYDBLOBTEST_1M.ORA 吗? (Yes/No/All): All
SYSTEM01.DBF
TEST.DBF
UNDOTBS01.DBF
已复制         4 个文件。

F:oracleoradataBCK>exit

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  101785012 bytes
Fixed Size                   454068 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'F:ORACLEORADATAMYDBSYSTEM01.DBF'


SQL> recover database until cancel;
ORA-00279: 更改 263012 (在 04/02/2008 20:45:36 生成) 对于线程 1 是必需的
ORA-00289: 建议: F:ORACLEORADATAMYDBARCHIVE1_51.DBF
ORA-00280: 更改 263012 对于线程 1 是按序列 # 51 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: 无法打开存档日志 'F:ORACLEORADATAMYDBARCHIVE1_51.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。


ORA-00308: 无法打开存档日志 'F:ORACLEORADATAMYDBARCHIVE1_51.DBF'
ORA-27041: 无法打开文件
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。


2.恢复数据库
由于非归档模式,之前的冷备份只能恢复到备份时的状态,并且因为没有备份的控制文件导致只能通过重建控制文件来从新获得每个数据文件的SCN.
1)将控制文件转储为trace file(文本文件)

SQL> alter database backup controlfile to trace;

数据库已更改。

SQL> host
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

Cocuments and SettingsRequieM>cd F:oracleadminMYDBudump

Cocuments and SettingsRequieM>F:

F:oracleadminMYDBudump>dir /T
驱动器 F 中的卷是 ORACLE
卷的序列号是 E2CF-D535

F:oracleadminMYDBudump 的目录

2008-04-02  21:09    <DIR>          .
2008-04-02  21:09    <DIR>          ..
2008-03-31  23:00             2,128 mydb_ora_1008.trc
2008-04-01  00:08             1,796 mydb_ora_1296.trc
2008-04-01  18:54             1,795 mydb_ora_2084.trc
2008-03-31  23:00             2,128 mydb_ora_320.trc
2008-04-02  21:10             7,792 mydb_ora_3244.trc
               5 个文件         15,639 字节
               2 个目录 49,499,885,568 可用字节

F:oracleadminMYDBudump>more mydb_ora_3244.trc
Dump file f:oracleadminmydbudumpmydb_ora_3244.trc
Wed Apr 02 21:09:33 2008
ORACLE V9.2.0.8.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.8.0 - Production
Windows 2000 Version 5.1 Service Pack 2, CPU type 586
Instance name: mydb

Redo thread mounted by this instance: 1

Oracle process number: 10

Windows thread id: 3244, image: ORACLE.EXE


*** SESSION ID9.3) 2008-04-02 21:09:33.687
Start recovery at thread 1 ckpt scn 263012 logseq 51 block 366
*** 2008-04-02 21:09:35.687
Media Recovery Log F:ORACLEORADATAMYDBARCHIVE1_51.DBF
*** 2008-04-02 21:09:35.734
Media Recovery Log F:ORACLEORADATAMYDBARCHIVE1_51.DBF
*** 2008-04-02 21:10:58.812
# The following are current System-scope REDO Log Archival related
# parameters and can be included in the database initialization file.
#
# LOG_ARCHIVE_DEST=''
# LOG_ARCHIVE_DUPLEX_DEST=''
#
# LOG_ARCHIVE_FORMAT=%t_%s.dbf
# REMOTE_ARCHIVE_ENABLE=TRUE
# LOG_ARCHIVE_START=TRUE
# LOG_ARCHIVE_MAX_PROCESSES=2
# STANDBY_FILE_MANAGEMENT=MANUAL
# STANDBY_ARCHIVE_DEST=%ORACLE_HOME%RDBMS
# FAL_CLIENT=''
# FAL_SERVER=''
#
# LOG_ARCHIVE_DEST_1='LOCATION=F:oracleoradataMYDBarchive'
# LOG_ARCHIVE_DEST_1='OPTIONAL REOPEN=300 NODELAY'
# LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM SYNC'
# LOG_ARCHIVE_DEST_1='REGISTER NOALTERNATE NODEPENDENCY'
# LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED'
# LOG_ARCHIVE_DEST_STATE_1=ENABLE
#
# Below are two sets of SQL statements, each of which creates a new
# control file and uses it to open the database. The first set opens
# the database with the NORESETLOGS option and should be used only if
# the current versions of all online logs are available. The second
# set opens the database with the RESETLOGS option and should be used
# if online logs are unavailable.
# The appropriate set of statements can be copied from the trace into
# a script file, edited as necessary, and executed when there is a
# need to re-create the control file.
#
#     Set #1. NORESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# Data used by the recovery manager will be lost. Additional logs may
# be required for media recovery of offline data files. Use this
# only if the current version of all online logs are available.
# WARNING! The current control file needs to be checked against
# the datafiles to insure it contains the correct files. The
# commands printed here may be missing log and/or data files.
# Another report should be made after the database has been
# successfully opened.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "MYDB" NORESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 (
    'F:ORACLEORADATAMYDBREDO01A.ORA',
    'F:ORACLEORADATAMYDBREDO01B.ORA'
  ) SIZE 10M,
  GROUP 2 (
    'F:ORACLEORADATAMYDBREDO02A.ORA',
    'F:ORACLEORADATAMYDBREDO02B.ORA'
  ) SIZE 10M,
  GROUP 3 (
    'F:ORACLEORADATAMYDBREDO03A.ORA',
    'F:ORACLEORADATAMYDBREDO03B.ORA'
  ) SIZE 10M,
  GROUP 4 (
    'F:ORACLEORADATAMYDBREDO04A.ORA',
    'F:ORACLEORADATAMYDBREDO04B.ORA'
  ) SIZE 10M,
  GROUP 5 (
    'F:ORACLEORADATAMYDBREDO05A.ORA',
    'F:ORACLEORADATAMYDBREDO05B.ORA'
  ) SIZE 10M
-- STANDBY LOGFILE
DATAFILE
  'F:ORACLEORADATAMYDBSYSTEM01.DBF',
  'F:ORACLEORADATAMYDBUNDOTBS01.DBF',
  'F:ORACLEORADATAMYDBTEST.DBF',
  'F:ORACLEORADATAMYDBLOBTEST_1M.ORA'
CHARACTER SET ZHS16GBK
;
# Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON
');
# Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP FORM
AT FOR DEVICE TYPE','DISK TO ''F:oracleorabackupMYDB\%F''');
# Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK PARALLEL
ISM 2');
# Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK
FORMAT   ''F:oracleorabackupMYDB\%d_%s_%p.BAK''');
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE
# Database can now be opened normally.
ALTER DATABASE OPEN;
# Commands to add tempfiles to temporary tablespaces.
# Online tempfiles have complete space information.
# Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'F:ORACLEORADATAMYDBTEMP01.DBF' REUSE;
# End of tempfile additions.
#
#     Set #2. RESETLOGS case
#
# The following commands will create a new control file and use it
# to open the database.
# The contents of online logs will be lost and all backups will
# be invalidated. Use this only if online logs are damaged.
# WARNING! The current control file needs to be checked against
# the datafiles to insure it contains the correct files. The
# commands printed here may be missing log and/or data files.
# Another report should be made after the database has been
# successfully opened.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "MYDB" RESETLOGS  NOARCHIVELOG
--  SET STANDBY TO MAXIMIZE PERFORMANCE
    MAXLOGFILES 5
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 226
LOGFILE
  GROUP 1 (
    'F:ORACLEORADATAMYDBREDO01A.ORA',
    'F:ORACLEORADATAMYDBREDO01B.ORA'
  ) SIZE 10M,
  GROUP 2 (
    'F:ORACLEORADATAMYDBREDO02A.ORA',
    'F:ORACLEORADATAMYDBREDO02B.ORA'
  ) SIZE 10M,
  GROUP 3 (
    'F:ORACLEORADATAMYDBREDO03A.ORA',
    'F:ORACLEORADATAMYDBREDO03B.ORA'
  ) SIZE 10M,
  GROUP 4 (
    'F:ORACLEORADATAMYDBREDO04A.ORA',
    'F:ORACLEORADATAMYDBREDO04B.ORA'
  ) SIZE 10M,
  GROUP 5 (
    'F:ORACLEORADATAMYDBREDO05A.ORA',
    'F:ORACLEORADATAMYDBREDO05B.ORA'
  ) SIZE 10M
-- STANDBY LOGFILE
DATAFILE
  'F:ORACLEORADATAMYDBSYSTEM01.DBF',
  'F:ORACLEORADATAMYDBUNDOTBS01.DBF',
  'F:ORACLEORADATAMYDBTEST.DBF',
  'F:ORACLEORADATAMYDBLOBTEST_1M.ORA'
CHARACTER SET ZHS16GBK
;
# Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON
');
# Configure RMAN configuration record 2
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP FORM
AT FOR DEVICE TYPE','DISK TO ''F:oracleorabackupMYDB\%F''');
# Configure RMAN configuration record 3
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('DEVICE TYPE','DISK PARALLEL
ISM 2');
# Configure RMAN configuration record 4
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CHANNEL','DEVICE TYPE DISK
FORMAT   ''F:oracleorabackupMYDB\%d_%s_%p.BAK''');
# Recovery is required if any of the datafiles are restored backups,
# or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
# Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
# Commands to add tempfiles to temporary tablespaces.
# Online tempfiles have complete space information.
# Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'F:ORACLEORADATAMYDBTEMP01.DBF' REUSE;
# End of tempfile additions.
#
F:oracleadminMYDBudump>exit

2)关闭数据库并启动到nomount状态,因为现在的redo log中的scn过高,只能放弃。所以选用trace file中的resetlogs方式重建controlfile.

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


已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  101785012 bytes
Fixed Size                   454068 bytes
Variable Size              75497472 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
SQL> STARTUP NOMOUNT
ORA-01081: ????????? ORACLE --- ?????
SQL> CREATE CONTROLFILE REUSE DATABASE "MYDB" RESETLOGS  NOARCHIVELOG
  2  --  SET STANDBY TO MAXIMIZE PERFORMANCE
  3      MAXLOGFILES 5
  4      MAXLOGMEMBERS 3
  5      MAXDATAFILES 100
  6      MAXINSTANCES 1
  7      MAXLOGHISTORY 226
  8  LOGFILE
  9    GROUP 1 (
10      'F:ORACLEORADATAMYDBREDO01A.ORA',
11      'F:ORACLEORADATAMYDBREDO01B.ORA'
12    ) SIZE 10M,
13    GROUP 2 (
14      'F:ORACLEORADATAMYDBREDO02A.ORA',
15      'F:ORACLEORADATAMYDBREDO02B.ORA'
16    ) SIZE 10M,
17    GROUP 3 (
18      'F:ORACLEORADATAMYDBREDO03A.ORA',
19      'F:ORACLEORADATAMYDBREDO03B.ORA'
20    ) SIZE 10M,
21    GROUP 4 (
22      'F:ORACLEORADATAMYDBREDO04A.ORA',
23      'F:ORACLEORADATAMYDBREDO04B.ORA'
24    ) SIZE 10M,
25    GROUP 5 (
26      'F:ORACLEORADATAMYDBREDO05A.ORA',
27      'F:ORACLEORADATAMYDBREDO05B.ORA'
28    ) SIZE 10M
29  -- STANDBY LOGFILE
30  DATAFILE
31    'F:ORACLEORADATAMYDBSYSTEM01.DBF',
32    'F:ORACLEORADATAMYDBUNDOTBS01.DBF',
33    'F:ORACLEORADATAMYDBTEST.DBF',
34    'F:ORACLEORADATAMYDBLOBTEST_1M.ORA'
35  CHARACTER SET ZHS16GBK
36  ;

控制文件已创建

3)使用using backup controlfile来告诉数据库不要以controlfile中的scn为基准恢复数据库,并且用until cancel告诉数据库以手动指定archivelog为基准恢复数据库.
cancel后,resetlogs方式就可以打开数据库了,冷备份之后的所有数据将丢失(test123表丢失~)

SQL> recover database using backup controlfile until cancel;
ORA-00279: ?? 263012 (? 04/02/2008 20:45:36 ??) ???? 1 ????
ORA-00289: ??: F:ORACLEORADATAMYDBARCHIVE1_51.DBF
ORA-00280: ?? 263012 ???? 1 ???? # 51 ???


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
介质恢复已取消。
SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from mydb.test123;
select * from mydb.test123
                   *
ERROR 位于第 1 行:
ORA-00942: ???????
...........

[ 本帖最后由 zergduan 于 2008-4-2 21:40 编辑 ]

使用道具 举报

回复
论坛徽章:
2
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
17#
 楼主| 发表于 2008-4-15 12:11 | 只看该作者
这几天一直忙没有上来,突然看到这么多朋友的帮助,真的感动坏了。
尤其是zergduan大哥。真的万分感激你的试验。。
只能用语言谢谢所有的朋友,真心的感谢。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表