Chinaunix首页 | 论坛 | 博客
  • 博客访问: 688020
  • 博文数量: 191
  • 博客积分: 10987
  • 博客等级: 上将
  • 技术积分: 1925
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 09:52
文章分类

全部博文(191)

文章存档

2014年(10)

2011年(11)

2010年(38)

2009年(132)

分类: Oracle

2010-03-28 04:20:45

备份实验:

1、用catalog

2、用controlfile

3、用catalog

 

目的,第三次的备份能否成功,用第一次catalog备份去恢复能否成功。

 

实验如下:

1.连接到目标数据库和恢复目录:

C:\Documents and Settings\Administrator>rman

恢复管理器: Release 10.2.0.1.0 - Production on 星期六 3 27 20:50:13 2010

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

RMAN> connect target sys/sun123@cisdb

连接到目标数据库: CISDB (DBID=4048038982)

RMAN> connect catalog catalog_rman/catalog_rman@catalog

连接到恢复目录数据库

 

2.备份数据库(第一次catalog备份,tag =CATALOG_FULL_01)

修改rman配置参数自动备份控制文件

CONFIGURE CONTROLFILE AUTOBACKUP ON;

 

RMAN> run {

2> allocate channel d001 device type disk format 'e:\catalog_01\%d_%U';

3> backup database tag='catalog_full_01';

4> }

 

分配的通道: d001

通道 d001: sid=180 devtype=DISK

启动 backup 28-3 -10

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

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

输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSTEM01.DBF

输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSAUX01.DBF

输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\EXAMPLE01.DBF

输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS01.DBF

输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS02.DBF

输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS01.DBF

输入数据文件 fno=00011 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\AUTOALLOCATE_TBS_01.DBF

输入数据文件 fno=00009 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA_1.DBF

输入数据文件 fno=00012 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_01.DBF

输入数据文件 fno=00013 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_02.DBF

输入数据文件 fno=00007 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS02.DBF

输入数据文件 fno=00010 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA1_01.DBF

输入数据文件 fno=00008 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\BLOCK.DBF

通道 d001: 正在启动段 1 28-3 -10

通道 d001: 已完成段 1 28-3 -10

段句柄=E:\CATALOG_01\CISDB_1QL9LPGR_1_1 标记=CATALOG_FULL_01 注释=NONE

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

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

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

输入数据文件 fno=00014 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\4K_TBS01.DBF

通道 d001: 正在启动段 1 28-3 -10

通道 d001: 已完成段 1 28-3 -10

段句柄=E:\CATALOG_01\CISDB_1RL9LPK6_1_1 标记=CATALOG_FULL_01 注释=NONE

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

完成 backup 28-3 -10

 

启动 Control File and SPFILE Autobackup 28-3 -10

handle=D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714794632_5TWL4B2X_.BKP comment=NONE

完成 Control File and SPFILE Autobackup 28-3 -10

释放的通道: d001

3.备份数据库(第二次controlfile  tag= CONTROLFILE_FULL_02

 

C:\Documents and Settings\Administrator>rman

恢复管理器: Release 10.2.0.1.0 - Production on 星期六 3 27 23:04:05 2010

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

RMAN> connect target sys/sun123@cisdb

连接到目标数据库: CISDB (DBID=4048038982)

RMAN> run {

2> allocate channel c001 device type disk format 'e:\controlfile_02\%d_%U';

3> backup database tag='controlfile_full_02';

4> }

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

分配的通道: c001

通道 c001: sid=178 devtype=DISK

 

启动 backup 28-3 -10

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

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

输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSTEM01.DBF

输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSAUX01.DBF

输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\EXAMPLE01.DBF

输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS01.DBF

输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS02.DBF

输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS01.DBF

输入数据文件 fno=00011 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\AUTOALLOCATE_TBS_01.DBF

输入数据文件 fno=00009 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA_1.DBF

输入数据文件 fno=00012 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_01.DBF

输入数据文件 fno=00013 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_02.DBF

输入数据文件 fno=00007 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS02.DBF

输入数据文件 fno=00010 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA1_01.DBF

输入数据文件 fno=00008 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\BLOCK.DBF

通道 c001: 正在启动段 1 28-3 -10

通道 c001: 已完成段 1 28-3 -10

段句柄=E:\CONTROLFILE_02\CISDB_1TL9LQ65_1_1 标记=CONTROLFILE_FULL_02 注释=NONE

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

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

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

输入数据文件 fno=00014 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\4K_TBS01.DBF

通道 c001: 正在启动段 1 28-3 -10

通道 c001: 已完成段 1 28-3 -10

段句柄=E:\CONTROLFILE_02\CISDB_1UL9LQ9F_1_1 标记=CONTROLFILE_FULL_02 注释=NONE

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

完成 backup 28-3 -10

 

启动 Control File and SPFILE Autobackup 28-3 -10

handle=D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714795312_5TWLSL2X_.BKP comment=NONE

完成 Control File and SPFILE Autobackup 28-3 -10

释放的通道: c001

 

4.备份数据库(第三次catalog备份,tag =CATALOG_FULL_03)

 

RMAN> run {

2> allocate channel e001 device type disk format 'e:\catalog_03\%d_%U';

3> backup database tag='catalog_full_03';

4> }

分配的通道: e001

通道 e001: sid=180 devtype=DISK

 

启动 backup 28-3 -10

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

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

输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSTEM01.DBF

输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSAUX01.DBF

输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\EXAMPLE01.DBF

输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS01.DBF

输入数据文件 fno=00006 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS02.DBF

输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS01.DBF

输入数据文件 fno=00011 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\AUTOALLOCATE_TBS_01.DBF

输入数据文件 fno=00009 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA_1.DBF

输入数据文件 fno=00012 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_01.DBF

输入数据文件 fno=00013 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_02.DBF

输入数据文件 fno=00007 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS02.DBF

输入数据文件 fno=00010 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA1_01.DBF

输入数据文件 fno=00008 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\BLOCK.DBF

通道 e001: 正在启动段 1 28-3 -10

通道 e001: 已完成段 1 28-3 -10

段句柄=E:\CATALOG_03\CISDB_20L9LQFR_1_1 标记=CATALOG_FULL_03 注释=NONE

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

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

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

输入数据文件 fno=00014 name=D:\ORACLE\PRODUCT\ORADATA\CISDB\4K_TBS01.DBF

通道 e001: 正在启动段 1 28-3 -10

通道 e001: 已完成段 1 28-3 -10

段句柄=E:\CATALOG_03\CISDB_21L9LQIR_1_1 标记=CATALOG_FULL_03 注释=NONE

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

完成 backup 28-3 -10

 

启动 Control File and SPFILE Autobackup 28-3 -10

handle=D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714795613_5TWM2YVT_.BKP comment=NONE

完成 Control File and SPFILE Autobackup 28-3 -10

释放的通道: e001

 

5.恢复数据库(使用第一次catalog备份数据)

模拟整个数据库数据全部丢失,包括参数文件,控制文件。

SQL> conn sys/sun123@cisdb as sysdba

已连接到空闲例程。

SQL>

SQL> startup nomount;

ORA-01078: failure in processing system parameters

LRM-00109: ???????????????? 'D:\ORACLE\PRODUCT\DATABASE\DATABASE\INITCISDB.ORA'

SQL>

因为参数文件丢失,已经无法进入nomount状态:

 1先恢复参数文件,备份集里面已经包含了参数文件的备份。

 

RMAN> restore spfile to 'D:\oracle\product\database\database\spfilecisdb.ora' from autobackup;

 

启动 restore 28-3 -10

使用通道 ORA_DISK_1

 

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100328

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100327

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100326

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100325

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100324

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100323

通道 ORA_DISK_1: 寻找以下日期的自动备份: 20100322

通道 ORA_DISK_1: 没有找到 7 天之内的自动备份

……………….

RMAN-03002: restore 命令 ( 03/28/2010 02:51:07 ) 失败

RMAN-06172: 没有找到自动备份或指定的句柄不是有效副本或片段

疑问:不能autobackup自动找回备份spfile参数文件?

 

手动指定备份才可以:

RMAN> restore spfile to 'D:\oracle\product\database\database\spfilecisdb.ora'

2>from

'D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714794632_5TWL4B2X_.BKP';

启动 restore 28-3 -10

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 已找到的自动备份: D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714794632_5TWL4B2X_.BKP

通道 ORA_DISK_1: 从自动备份复原 SPFILE 已完成

完成 restore 28-3 -10

参数文件完成恢复。

 

现在进入nomunt状态:

SQL> startup nomount;

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             163580804 bytes

Database Buffers          440401920 bytes

Redo Buffers                7135232 bytes

因为控制文件丢失,无法进入mount状态:

SQL> startup mount;

ORA-32004: ?????/?????

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

SQL>

 

2)恢复controlfile

 

RMAN> restore controlfile to 'D:\oracle\product\oradata\cisdb\control01.ctl' from autobackup;

启动 restore 28-3 -10

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=188 devtype=DISK

恢复区域目标: D:\oracle\product/flash

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

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

通道 ORA_DISK_1: 已找到的自动备份: D:\ORACLE\PRODUCT\FLASH\CISDB\AUTOBACKUP\2010_03_28\O1_MF_S_714795613_5TWM2YVT_.BKP  通道 ORA_DISK_1: 从自动备份复原控制文件已完成

完成 restore 28-3 -10

控制文件完成恢复。

进入mount状态:

SQL> startup mount;

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动。

 

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             163580804 bytes

Database Buffers          440401920 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

SQL> set linesize 100

SQL> set wrap off

SQL> select * from v$controlfile;

行将被截断

行将被截断

行将被截断

STATUS  NAME

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

        D:\ORACLE\PRODUCT\ORADATA\CISDB\CONTROL01.CTL

        D:\ORACLE\PRODUCT\ORADATA\CISDB\CONTROL02.CTL

        D:\ORACLE\PRODUCT\ORADATA\CISDB\CONTROL03.CTL

3)恢复数据文件:

 

C:\Documents and Settings\Administrator>rman target sys/sun123@cisdb

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 3 28 03:44:58 2010

 

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

 

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

指定tag来恢复数据库:

RMAN> restore database from tag 'CATALOG_FULL_01';

 

启动 restore 28-3 -10

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

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=186 devtype=DISK

 

通道 ORA_DISK_1: 正在开始恢复数据文件备份集

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

正将数据文件00001恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSTEM01.DBF

正将数据文件00002恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS01.DBF

正将数据文件00003恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\SYSAUX01.DBF

正将数据文件00004恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS01.DBF

正将数据文件00005恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\EXAMPLE01.DBF

正将数据文件00006恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS02.DBF

正将数据文件00007恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\UNDOTBS02.DBF

正将数据文件00008恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\BLOCK.DBF

正将数据文件00009恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA_1.DBF

正将数据文件00010恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\ORA_DATA1_01.DBF

正将数据文件00011恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\AUTOALLOCATE_TBS_01.DBF

正将数据文件00012恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_01.DBF

正将数据文件00013恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\UNIFORM_TBS_02.DBF

通道 ORA_DISK_1: 正在读取备份段 E:\CATALOG_01\CISDB_1QL9LPGR_1_1

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = E:\CATALOG_01\CISDB_1QL9LPGR_1_1 标记 = CATALOG_FULL_01

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

通道 ORA_DISK_1: 正在开始恢复数据文件备份集

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

正将数据文件00014恢复到D:\ORACLE\PRODUCT\ORADATA\CISDB\4K_TBS01.DBF

通道 ORA_DISK_1: 正在读取备份段 E:\CATALOG_01\CISDB_1RL9LPK6_1_1

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = E:\CATALOG_01\CISDB_1RL9LPK6_1_1 标记 = CATALOG_FULL_01

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

完成 restore 28-3 -10

 

 

RMAN> recover database

2> ;

启动 recover 28-3 -10

使用通道 ORA_DISK_1

 

正在开始介质的恢复

 

存档日志线程 1 序列 629 已作为文件 D:\ORACLE\PRODUCT\ORADATA\CISDB\REDO02.LOG 存在于磁盘上

存档日志文件名 =D:\ORACLE\PRODUCT\ORADATA\CISDB\REDO02.LOG 线程 =1 序列 =629

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

完成 recover 28-3 -10

 

打开数据库:

 SQL>alter database open resetlogs

数据库已更改

                                                                                          

 

                                                                                                     2010-3-28 凌晨4点整完成

                               

 

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