您的位置:首页 > 其它

rman备份丢失控制文件恢复

2015-11-01 14:31 621 查看
1.备份控制文件

RMAN> backup database format 'f:\backup_dir\%U';

启动 backup 于 25-10月-15

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=142 devtype=DISK

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

输入数据文件 fno=00004 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

输入数据文件 fno=00001 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

输入数据文件 fno=00018 name=F:\ORADATA\CLOUD_CMS01.DBF

输入数据文件 fno=00003 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

输入数据文件 fno=00002 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

输入数据文件 fno=00017 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\PERFSTAT01.DBF

输入数据文件 fno=00006 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS_TEST01.DBF

输入数据文件 fno=00012 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TBS_TEST02.DBF

输入数据文件 fno=00014 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EAMCS01.DBF

输入数据文件 fno=00013 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TESTING.DBF

输入数据文件 fno=00007 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST_UNIFORM01.DBF

输入数据文件 fno=00008 name=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF

通道 ORA_DISK_1: 正在启动段 1 于 25-10月-15

通道 ORA_DISK_1: 已完成段 1 于 25-10月-15

段句柄=F:\BACKUP_DIR\33QKK6V9_1_1 标记=TAG20151025T190057 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:45

通道 ORA_DISK_1: 启动全部数据文件备份集

通道 ORA_DISK_1: 正在指定备份集中的数据文件

备份集中包括当前控制文件

在备份集中包含当前的 SPFILE

通道 ORA_DISK_1: 正在启动段 1 于 25-10月-15

通道 ORA_DISK_1: 已完成段 1 于 25-10月-15

段句柄=F:\BACKUP_DIR\34QKK72J_1_1 标记=TAG20151025T190057 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02

完成 backup 于 25-10月-15

RMAN>

SQL> select * from v$log;  --查看当前日志文件

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------

         1          1       3556    5242880          1 YES INACTIVE               5669691 25-10月-15

         2          1       3555    5242880          1 YES INACTIVE               5661163 15-10月-99

         3          1       3557    5242880          1 NO  CURRENT                5670416 25-10月-15

2.创建测试表

SQL> create table t (id  int,name varchar(2)) tablespace users;

表已创建。

SQL> insert into t values(1,'a');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(2,'b');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(3,'b');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(4,'d');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(5,'e');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(6,'f');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(7,'g');

已创建 1 行。

SQL> commit;

提交完成。

SQL> alter system switch logfile;

系统已更改。

SQL> insert into t values(8,'h');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                                       IS_

---------- ------- ------- ------------------------------------------------------------ ---

         1         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG             NO

         2         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG             NO

         3         ONLINE  E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG             NO

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------

         1          1       3562    5242880          1 YES ACTIVE                 5671463 25-10月-15

         2          1       3564    5242880          1 NO  CURRENT                5671480 25-10月-15

         3          1       3563    5242880          1 YES ACTIVE                 5671473 25-10月-15

3.备份归档

RMAN> backup archivelog all;

启动 backup 于 25-10月-15

当前日志已存档

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在启动存档日志备份集

通道 ORA_DISK_1: 正在指定备份集中的存档日志

输入存档日志线程 =1 序列 =809 记录 ID=1064 时间戳=879783737

输入存档日志线程 =1 序列 =810 记录 ID=1065 时间戳=879783745

输入存档日志线程 =1 序列 =811 记录 ID=1066 时间戳=879783770

输入存档日志线程 =1 序列 =812 记录 ID=1067 时间戳=879783894

输入存档日志线程 =1 序列 =3244 记录 ID=1068 时间戳=887482381

输入存档日志线程 =1 序列 =3556 记录 ID=1069 时间戳=894049103

输入存档日志线程 =1 序列 =3557 记录 ID=1070 时间戳=894049726

输入存档日志线程 =1 序列 =3558 记录 ID=1071 时间戳=894049741

输入存档日志线程 =1 序列 =3559 记录 ID=1072 时间戳=894049765

输入存档日志线程 =1 序列 =3560 记录 ID=1073 时间戳=894049784

输入存档日志线程 =1 序列 =3561 记录 ID=1074 时间戳=894049796

输入存档日志线程 =1 序列 =3562 记录 ID=1075 时间戳=894049810

输入存档日志线程 =1 序列 =3563 记录 ID=1076 时间戳=894049828

输入存档日志线程 =1 序列 =3564 记录 ID=1077 时间戳=894050311

通道 ORA_DISK_1: 正在启动段 1 于 25-10月-15

通道 ORA_DISK_1: 已完成段 1 于 25-10月-15

段句柄=E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2015_10_25\O1

_MF_ANNNN_TAG20151025T191831_C2SGN94W_.BKP 标记=TAG20151025T191831 注释=NONE

通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:05

完成 backup 于 25-10月-15

4.删除控制文件

5.启动数据库

SQL> startup

ORACLE 例程已经启动。

Total System Global Area  167772160 bytes

Fixed Size                  1247900 bytes

Variable Size              79693156 bytes

Database Buffers           83886080 bytes

Redo Buffers                2945024 bytes

ORA-00205: ?????????, ??????, ???????

查看日志文件

ALTER DATABASE   MOUNT

Sun Oct 25 19:24:30 2015

ORA-00202: control file: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL'

ORA-27041: unable to open file

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

Sun Oct 25 19:24:33 2015

ORA-205 signalled during: ALTER DATABASE   MOUNT...

找不到控制文件,数据库只能起在nomount状态

SQL> select status from v$instance;

STATUS

------------------------

STARTED

6.恢复

C:\>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 10月 25 19:29:57 2015

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

连接到目标数据库: orcl (未装载)

RMAN> restore controlfile from autobackup;  --之前没有开启自动备份,所以找不到控制文件自动备份

启动 restore 于 25-10月-15

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=156 devtype=DISK

恢复区域目标: E:\oracle\product\10.2.0\flash_recovery_area

用于搜索的数据库名 (或数据库的唯一名称): TEST

通道 ORA_DISK_1: 在恢复区域中未找到自动备份

由于未设置 DBID 而未尝试在恢复区域之外搜索自动备份

之前有备份了一个控制文件,只能指定备份控制文件具体位置来恢复.

RMAN> restore controlfile from 'F:\backup_dir\34QKK72J_1_1';  --不是自动备份恢复不需要设置dbid

启动 restore 于 25-10月-15

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在复原控制文件

通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL

输出文件名=E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL

完成 restore 于 25-10月-15

控件文件还原到参数文件指定的位置

7.启动数据库到mount

SQL> alter database mount;

数据库已更改。

C:\>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 10月 25 19:40:40 2015

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

已连接到目标数据库: ORCL (DBID=1380721776, 未打开)

RMAN> list backup;   

归档文件没有包含在这之中,因为归档是在备份控制文件之后备份。

8.recover

RMAN> recover database;

启动 recover 于 25-10月-15

启动 implicit crosscheck backup 于 25-10月-15

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=158 devtype=DISK

已交叉检验的 2 对象

完成 implicit crosscheck backup 于 25-10月-15

启动 implicit crosscheck copy 于 25-10月-15

使用通道 ORA_DISK_1

完成 implicit crosscheck copy 于 25-10月-15

搜索恢复区域中的所有文件

正在编制文件目录...

目录编制完毕

已列入目录的文件的列表

=======================

文件名: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2015_10_25\O

1_MF_ANNNN_TAG20151025T191831_C2SGN94W_.BKP

使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 3563 已作为文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03

.LOG 存在于磁盘上

存档日志线程 1 序列 3564 已作为文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02

.LOG 存在于磁盘上

存档日志线程 1 序列 3565 已作为文件 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01

.LOG 存在于磁盘上

通道 ORA_DISK_1: 正在启动到默认目标的存档日志恢复

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3557

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3558

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3559

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3560

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3561

通道 ORA_DISK_1: 正在恢复存档日志

存档日志线程 =1 序列=3562

通道 ORA_DISK_1: 正在读取备份段 E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TES

T\BACKUPSET\2015_10_25\O1_MF_ANNNN_TAG20151025T191831_C2SGN94W_.BKP

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2015_10_25\

O1_MF_ANNNN_TAG20151025T191831_C2SGN94W_.BKP 标记 = TAG20151025T191831

通道 ORA_DISK_1: 恢复完成, 用时: 00:00:02

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3557_C2SJ4C3F_.ARC 线程 =1 序列 =3557

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3557_C2SJ4C3F_.ARC 记录 ID=1074 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3558_C2SJ4CC7_.ARC 线程 =1 序列 =3558

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3558_C2SJ4CC7_.ARC 记录 ID=1078 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3559_C2SJ4C5V_.ARC 线程 =1 序列 =3559

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3559_C2SJ4C5V_.ARC 记录 ID=1075 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10
a7b6
.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3560_C2SJ4C7B_.ARC 线程 =1 序列 =3560

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3560_C2SJ4C7B_.ARC 记录 ID=1076 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3561_C2SJ4CB8_.ARC 线程 =1 序列 =3561

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3561_C2SJ4CB8_.ARC 记录 ID=1077 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3562_C2SJ4C4W_.ARC 线程 =1 序列 =3562

通道 default: 正在删除存档日志

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\ARCHIVELOG\201

5_10_25\O1_MF_1_3562_C2SJ4C4W_.ARC 记录 ID=1073 时间戳 =894051851

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG 线程 =1 序列 =3

563

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG 线程 =1 序列 =3

564

存档日志文件名 =E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG 线程 =1 序列 =3

565

介质恢复完成, 用时: 00:00:01

完成 recover 于 25-10月-15

9.打开数据库

RMAN> alter database open resetlogs;

数据库已打开
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: