Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1265503
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-14 13:58:55

恢复案例五:隐含参数_allow_resetlogs_corruption的使用

  用RMAN做好备份后,删除所有归档日志文件和备份。

  恢复自动备份的控制文件。

SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  167772160 bytes
Fixed Size                  1288340 bytes
Variable Size             104859500 bytes
Database Buffers           54525952 bytes
Redo Buffers                7098368 bytes

RMAN> set dbid 252956976
正在执行命令: SET DBID

RMAN> restore controlfile from autobackup;

启动 restore 于 31-1月 -07
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK

恢复区域目标: d:\oracle\product\10.2.0\flash_recovery_area
用于搜索的数据库名 (或数据库的唯一名称): ROME
通道 ORA_DISK_1: 在恢复区域中找到自动备份
通道 ORA_DISK_1: 已找到的自动备份: D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_
AREA\ROME\AUTOBACKUP\2007_01_30\O1_MF_S_613239538_2VXZVMGN_.BKP 通道 ORA_DISK_1: 从自动备份复原控制文件已完成 输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROME\CONTROL01.CTL 输出文件名=F:\ORACLE\ORADATA\ROME\CONTROL02.CTL 输出文件名=E:\ORACLE\ORADATA\ROME\CONTROL03.CTL 完成 restore 于 31-1月 -07 RMAN> sql 'alter database mount'; sql 语句: alter database mount 释放的通道: ORA_DISK_1 RMAN> restore database; SQL> recover database using backup controlfile; ORA-00279: ?? 1151325 (? 01/30/2007 16:18:22 ??) ???? 1 ???? ORA-00289: ??: D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC ORA-00280: ?? 1151325 (???? 1) ??? #1 ? 指定日志: ...{=suggested | filename | AUTO | CANCEL} auto ORA-00308: ???????? 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC' ORA-27041: ?????? OSD-04002: ???????????? O/S-Error: (OS 2) ?????????????????????? ORA-00308: ???????? 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC' ORA-27041: ?????? OSD-04002: ???????????? O/S-Error: (OS 2) ?????????????????????? SQL> alter database open resetlogs; alter database open resetlogs * 第 1 行出现错误: ORA-01113: 文件 1 需要介质恢复 ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ROME\SYSTEM01.DBF' SQL> recover database using backup controlfile; ORA-00279: 更改 1151325 (在 01/30/2007 16:18:22 生成) 对于线程 1 是必需的 ORA-00289: 建议: D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC ORA-00280: 更改 1151325 (用于线程 1) 在序列 #1 中 指定日志: ...{=suggested | filename | AUTO | CANCEL} auto ORA-00308: 无法打开归档日志 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC' ORA-27041: 无法打开文件 OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 ORA-00308: 无法打开归档日志 'D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\ARCHIVELOG\2007_01_30\
O1_MF_1_1_%U_.ARC' ORA-27041: 无法打开文件 OSD-04002: 无法打开文件 O/S-Error: (OS 2) 系统找不到指定的文件。 SQL> create pfile='d:\rome.ora' from spfile; 文件已创建。 修改rome.ora加入 *._allow_resetlogs_corruption=TRUE SQL> startup pfile='d:\rome.ora' ORACLE 例程已经启动。 Total System Global Area 167772160 bytes Fixed Size 1288340 bytes Variable Size 104859500 bytes Database Buffers 54525952 bytes Redo Buffers 7098368 bytes 数据库装载完毕。 ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项 SQL> alter database open resetlogs; 数据库已更改。 SQL> show parameter _allow_ NAME TYPE VALUE ------------------------------------ ----------- ------------------------- _allow_resetlogs_corruption boolean TRUE

  列举几个恢复命令,这里就不再一并给出示例了。

RMAN> RECOVER DATABASE SKIP TABLESPACE users;
RMAN> RECOVER TABLESPACE users, tools;
RMAN> RECOVER DATAFILE '/newdisk/users01.dbf','/newdisk/tools01.dbf';
RMAN> RECOVER DATAFILE 4;
RMAN> RECOVER TABLESPACE users, tools DELETE ARCHIVELOG;

  恢复表空间和数据文件到新位置:

RUN ...{
    SET NEWNAME FOR DATAFILE 3 to 'new_location';
    RESTORE DATAFILE 3;
    SWITCH DATAFILE 3;
    RECOVER DATAFILE 3;
}

  如果没有指定新位置,将按照OMF命名规则创建新文件:

RUN ...{
    SET NEWNAME FOR DATAFILE 3 to NEW;
    RESTORE DATAFILE 3;
    SWITCH DATAFILE 3;
    RECOVER DATAFILE 3;
}

  归档日志文件恢复这里也不举例子了,比较简单。

阅读(476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~