一次数据库冷备份还原过程

os:windows 2000

元月25日早上数据库数据异常,有23号的冷备份和所有日志备份文件,

一、采用直接把所有备份文件和日志文件copy过去(控制文件没有copy)

SQL*Plus: Release 10.1.0.4.0 - Production on 星期三 1 25 15:30:44 2006

Copyright (c) 1982, 2005, Oracle. All rights reserved.

联机至闲置的执行处理.

SQL>startup mount;

SQL> recover database;

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01122: 数据库文件 1 未通过验证检查

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01206: 档案不属于这个数据库 数据库 ID 不对

SQL> recover database until cancel;

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01122: 数据库文件 1 未通过验证检查

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01206: 档案不属于这个数据库 数据库 ID 不对

SQL> alter database recover database using backup controlfile;

alter database recover database using backup controlfile

*

ERROR 在行 1:

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01122: 数据库文件 1 未通过验证检查

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01206: 档案不属于这个数据库 数据库 ID 不对

SQL> alter database end backup;

alter database end backup

*

ERROR 在行 1:

ORA-01142: 无法结束在线备份制作 并未替任何档案制作备份

SQL> alter database recover datafile 'D:oracleoradatawhoraSYSTEM01.DBF';

alter database recover datafile 'D:oracleoradatawhoraSYSTEM01.DBF'

*

ERROR 在行 1:

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01610: 必须完成使用 BACKUP CONTROLFILE 选项的复原作业

SQL> alter database recover database using backup controlfile;

alter database recover database using backup controlfile

*

ERROR 在行 1:

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01122: 数据库文件 1 未通过验证检查

ORA-01110: 资料文件 1: 'D:ORACLEORADATAWHORASYSTEM01.DBF'

ORA-01206: 档案不属于这个数据库 数据库 ID 不对

SQL> alter database recover datafile 'D:oracleoradatawhoraSYSTEM01.DBF';

alter database recover datafile 'D:oracleoradatawhoraSYSTEM01.DBF'

*

ERROR 在行 1:

ORA-00283: 发生错误, 取消复原阶段作业

ORA-01610: 必须完成使用 BACKUP CONTROLFILE 选项的复原作业

SQL> SHUTDOWN IMMEDIATE;

还原未成功。

二、采用直接把所有备份文件和日志文件copy过去(包括控制文件)

SQL> startup mount;

已启动 ORACLE 执行处理.

Total System Global Area 612368384 bytes

Fixed Size 790432 bytes

Variable Size 174846048 bytes

Database Buffers 436207616 bytes

Redo Buffers 524288 bytes

ORA-01991: ??? 'D:oracleora10gDATABASEPWDwhora.ORA' ??

SQL> recover database ;

ORA-00283: ????, ????????

ORA-00264: ????

SQL> recover database until cancel;

媒体恢复执行完成.

SQL> alter open database;

alter open database

*

ERROR 在行 1:

ORA-00940: ALTER ????

SQL> alter database open;

alter database open

*

ERROR 在行 1:

ORA-01589: ???????????? RESETLOGS ? NORESETLOGS ??

SQL> alter database open resetlogs;

已更改数据库.

还原成功,但是23日以后更新的数据没有,所以是没有还原日志文件的备从

三、采用直接把所有备份文件和日志文件copy过去(包括控制文件),但是还要重新创建控制文件

SQL> shutdown immediate;

ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

SQL> startup nomount;

已启动 ORACLE 执行处理.

Total System Global Area 612368384 bytes

Fixed Size 790432 bytes

Variable Size 174846048 bytes

Database Buffers 436207616 bytes

Redo Buffers 524288 bytes

SQL> @c:create_ta.sql;

已建立控制檔.

SQL> recover database;

ORA-00283: ????, ????????

ORA-00264: ????

SQL> RECOVER DATABASE USING BACKUP CONTROLFILE;

ORA-00279: ???? 122215564 ??? 01/23/2006 01:29:17 ? (???? 1 ??)

ORA-00289: ?? : D:ARCHIVEWHORAARCHIVELOG2006_01_25O1_MF_1_2255_%U_.ARC

ORA-00280: ?? 122215564 (???? 1) ???? #2255

指定日志: {=suggested | filename | AUTO | CANCEL}

auto

已套用日志.

媒体恢复执行完成.

SQL> alter database open resetlogs;

已更改数据库.

SQL> select count(*) from pot_bill where to_char(upddate,'yyyy/mm/dd')='2006/01/24';

COUNT(*)

----------

0

还原成功,但是23日以后更新的数据还是没有,所以是没有还原日志文件的备份

四、采用直接把所有备份文件和日志文件copy过去(包括控制文件),但是也不要重新创建控制文件

SQL> shutdown immediate;

数据库关闭.

数据库已卸载.

已关闭 ORACLE 执行处理.

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'

*

ERROR 在行 1:

ORA-01034: ORACLE not available

SQL> startup mount;

已启动 ORACLE 执行处理.

Total System Global Area 612368384 bytes

Fixed Size 790432 bytes

Variable Size 174846048 bytes

Database Buffers 436207616 bytes

Redo Buffers 524288 bytes

ORA-01991: ??? 'D:oracleora10gDATABASEPWDwhora.ORA' ??

Dos下重新创建密码文件

C:>d:oracleora10gBINorapwd file=D:oracleora10gDATABASEpwdwhora.ora password=abc123 entries=250

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

已更改阶段作业.

SQL> startup mount;

ORA-01081: ?????????? ORACLE ? ??????

SQL> shutdown immediate;

ORA-01109: ?????????

数据库已卸载.

已关闭 ORACLE 执行处理.

SQL> startup mount;

已启动 ORACLE 执行处理.

Total System Global Area 612368384 bytes

Fixed Size 790432 bytes

Variable Size 174846048 bytes

Database Buffers 436207616 bytes

Redo Buffers 524288 bytes

数据库已挂载.

SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

已更改阶段作业.

SQL> RECOVER DATABASE USING BACKUP CONTROLFILE until time '2006-01-24 17:00:00';

ORA-00279: 必须变更 122215564 建立于 01/23/2006 01:29:17 (对于系线 1 而言)

ORA-00289: 建议 : D:ARCHIVEWHORAARCHIVELOG2006_01_25O1_MF_1_2255_%U_.ARC

ORA-00280: 变更 122215564 (属于系线 1) 是在序号 #2255

.

.

.

.

ORA-00278: 此复原不再需要日志文件

'D:ARCHIVEWHORAARCHIVELOG2006_01_24O1_MF_1_2316_1XCSMO9K_.ARC'

已套用日志.

媒体恢复执行完成.

SQL> alter database open resetlogs;

已更改数据库.

SQL> select count(*) from pot_bill where to_char(upddate,'yyyy/mm/dd')='2006/01/24';

COUNT(*)

----------

24

SQL> spool off;

数据还原成功,23日以后更新的数据也还原了。发现一个问题,单独执行第三或者第四种方法还原的数据都没有23

以后更新的数据,而且要先做完第三步,然后shutdown,重新把备份文件copy一次,再来执行第四步,才能成功,这

现在还不明白其原因。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/77580/viewspace-212690/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/77580/viewspace-212690/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值