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

全部博文(191)

文章存档

2014年(10)

2011年(11)

2010年(38)

2009年(132)

分类: Oracle

2010-03-22 02:49:29

备份实验

要求:

使用catalog备份第一次

使用controlfile备份第二次

使用catalog备份第三次

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

环境:

已经完成创建:两个数据库分别是cisdbcatalogcisdb为目标数据库,catalog为恢复目录数据库

已经完成设置网络服务名:cisdbcatalog(同一台设备)

 

备份实验过程:

一、catalog数据库恢复目录创建

1. SQL> conn sys/sun123@catalog as sysdba

已连接。

2. SQL> create tablespace catalog_tbs datafile 'F:\oracle\product\catalog\catalog_tbs_01.dbf' size 100m

表空间已创建。

3. SQL> create user catalog_rman identified by catalog_rman

  2  default tablespace users

  3  temporary tablespace temp

  4  ;

用户已创建。

5. SQL> alter user catalog_rman quota unlimited on catalog_tbs;

用户已更改。

6. SQL> grant recovery_catalog_owner to catalog_rman;

授权成功。

7. SQL> grant connect,resource to catalog_rman;

授权成功

8. C:\>rman

恢复管理器: Release 10.2.0.1.0 - Production on 星期四 3 18 15:42:01 2010

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

9 . RMAN> connect catalog catalog_rman/catalog_rman@catalog

连接到恢复目录数据库

10. RMAN> create catalog tablespace catalog_tbs;

恢复目录已创建

11.RMAN> exit

恢复管理器完成。

12. C:\>rman target sys/sun123@cisdb catalog catalog_rman/catalog_rman@catalog

恢复管理器: Release 10.2.0.1.0 - Production on 星期四 3 18 15:56:45 2010

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

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

连接到恢复目录数据库

13. RMAN> register database;

注册在恢复目录中的数据库

正在启动全部恢复目录的 resync

完成全部 resync

 

 

二、测试两个数据库的联通性

C:\>tnsping catalog

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 18-3 -2010 15:49:34

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

已使用的参数文件:

D:\oracle\product\database\network\admin\sqlnet.ora

已使用 TNSNAMES 适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = catalog)))

OK (20 毫秒)

 

C:\>tnsping cisdb

TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 18-3 -2010 15:49:56

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

已使用的参数文件:

D:\oracle\product\database\network\admin\sqlnet.ora

已使用 TNSNAMES 适配器来解析别名

Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.101)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = cisdb)))

OK (10 毫秒)

 

三、备份过程:

1. 使用Catalog的方式备份(第一次备份

以备份表空间的方式来实验,备份users表空间。

  1C:\>rman target sys/sun123@cisdb

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 3 21 20:40:18 2010

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

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

 2RMAN> connect catalog  catalog_rman/catalog_rman@catalog;

连接到恢复目录数据库

RMAN>

RMAN> run{

2> allocate channel c001 device type disk format 'f:\backup_U%';

3> backup tablespace users tag='usrs_backup';

4> }

分配的通道: c001

通道 c001: sid=168 devtype=DISK

 

启动 backup 21-3 -10

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

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

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

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

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

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

段句柄=F:\BACKUP_U% 标记=USRS_BACKUP 注释=NONE

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

完成 backup 21-3 -10

释放的通道: c001

 

2. 使用controlfile方式备份(第二次备份

C:\>rman target sys/sun123@cisdb

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 3 21 22:36:58 2010

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

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

RMAN>

RMAN> run{

2> allocate channel c001 device type disk format 'd:\backup_U%';

3> backup tablespace users tag='usrs_backup_nocatalog';

4> }

 

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

分配的通道: c001

通道 c001: sid=186 devtype=DISK

 

启动 backup 21-3 -10

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

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

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

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

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

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

段句柄=D:\BACKUP_U% 标记=USRS_BACKUP_NOCATALOG 注释=NONE

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

完成 backup 21-3 -10

释放的通道: c001

 

3.使用catalog方式备份(第三次备份

C:\>rman target sys/sun123@cisdb

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 3 21 22:44:42 2010

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

 

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

RMAN> connect catalog catalog_rman/catalog_rman@catalog;

连接到恢复目录数据库

RMAN> run{

2> allocate channel c001 device type disk format 'f:\backup_03_U%';

3> backup tablespace users tag='usrs_backup_catalog_03';

4> }

 

分配的通道: c001

通道 c001: sid=168 devtype=DISK

 

启动 backup 21-3 -10

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

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

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

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

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

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

段句柄=F:\BACKUP_03_U% 标记=USRS_BACKUP_CATALOG_03 注释=NONE

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

完成 backup 21-3 -10

释放的通道: c001

 

四、恢复过程:

4.使用第一次catalog备份进行恢复(恢复users表空间)

假设users表空间损坏或遗失

1SQL> shutdown immediate

  删除users表空间数据库文件users01.dbf ,users02.dbf

USERS表空间下有表HIRE_DATES

TABLE_NAME                     TABLESPACE_NAME                CLUSTER_NAME                   IOT_NAM

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

EMPLOYEES                      EXAMPLE

JOB_HISTORY                    EXAMPLE

HIRE_DATES                     USERS

AUTOEXTENTS                    AUTOALLOCATE_TBS

UNIFORMEXTENTS                 UNIFORM_TBS

UN_DATA                        UNIFORM_TBS

AUTO_DATA                      AUTOALLOCATE_TBS

SYS_TEMP_FBT

COUNTRIES

DEPARTMENTS                    EXAMPLE

EMP01                          USERS

 

TABLE_NAME                     TABLESPACE_NAME                CLUSTER_NAME                   IOT_NAM

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

JOBS                           EXAMPLE

LOCATIONS                      EXAMPLE

REGIONS                        EXAMPLE

 

SQL> select * from HIRE_DATES;

 

        ID HIRE_DATE

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

         1 14-1-10

         2 14-1-10

         3 16-1-10

 

2) 数据库无法open

SQL> conn sys/sun123@cisdb as sysdba

已连接到空闲例程。

SQL>

SQL> startup

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

数据库装载完毕。

ORA-01157: 无法标识/锁定数据文件 4 - 请参阅 DBWR 跟踪文件

ORA-01110: 数据文件 4: 'D:\ORACLE\PRODUCT\ORADATA\CISDB\USERS01.DBF'

 

3)使用第一次catalog备份的数据来恢复users表空间

  首先:在mount下离线users表空间数据文件

 

SQL> select status from v$instance;

STATUS

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

MOUNTED

 

SQL> alter database datafile 4 offline;

数据库已更改。

SQL> alter database datafile 6 offline;

数据库已更改。

 

  其次:打开数据库到open状态

SQL> alter database open;

数据库已更改。

 

  再次:离线users表空间

SQL> select status from v$instance;

STATUS

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

OPEN

SQL> alter tablespace users offline immeidate;

alter tablespace users offline immeidate

SQL> alter tablespace users offline immediate;

表空间已更改

 

  最后:进入catalog恢复目录数据库执行数据恢复

C:\>rman target sys/sun123@cisdb

恢复管理器: Release 10.2.0.1.0 - Production on 星期日 3 21 23:28:25 2010

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

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

RMAN> connect catalog catalog_rman/catalog_rman@catalog;

连接到恢复目录数据库

RMAN>

RMAN> run{

2> restore tablespace users;

3> recover tablespace users;

4> }

 

启动 restore 21-3 -10

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=174 devtype=DISK

 

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

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

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

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

通道 ORA_DISK_1: 正在读取备份段 F:\BACKUP_03_U%

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = F:\BACKUP_03_U% 标记 = USRS_BACKUP_CATALOG_03

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

完成 restore 21-3 -10

 

启动 recover 21-3 -10

使用通道 ORA_DISK_1

 

正在开始介质的恢复

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

 

完成 recover 21-3 -10

 

使users表空间online

SQL>alter tablespace users online;

 

4). Users表空间完成恢复,其下数据文件users01.dbfusers02.dbf已经恢复过来。

可以正常访问。

   SQL> CONN HR/HR@CISDB

已连接。

SQL> SELECT * FROM HIRE_DATES;

 

        ID HIRE_DATE

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

         1 14-1 -10

         2 14-1 -10

         3 16-1 -10

 

结论:

1.第三次catalog备份成功

2.自动使用第三次catalog备份恢复了数据,没有使用第一次catalog备份来恢复数据。

 

五:恢复过程(2

 使用第一次catalog备份来恢复表空间,把第三次catalog备份删除掉。

 

C:\>rman target sys/sun123@cisdb

 

恢复管理器: Release 10.2.0.1.0 - Production on 星期一 3 22 00:30:26 2010

 

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

 

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

 

RMAN>  connect catalog catalog_rman/catalog_rman@catalog;

 

连接到恢复目录数据库

RMAN> run{

2> restore tablespace users;

3> recover tablespace users;

4> }

 

启动 restore 22-3 -10

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=173 devtype=DISK

 

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

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

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

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

通道 ORA_DISK_1: 正在读取备份段 F:\BACKUP_03_U%

故障转移到上一个备份

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

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

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

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

通道 ORA_DISK_1: 正在读取备份段 F:\BACKUP_01_U%

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = F:\BACKUP_01_U% 标记 = USRS_BACKUP_CATALOG_01

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

完成 restore 22-3 -10

 

启动 recover 22-3 -10

使用通道 ORA_DISK_1

 

正在开始介质的恢复

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

 

完成 recover 22-3 -10

 

RMAN> sql 'alter tablespace users online';

 

sql 语句: alter tablespace users online

 

结论:使用第一次catalog备份也能恢复数据

 

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

第三次catalog备份成功

第一次catalog备份不能用于恢复数据。

当删除第三次的catalog备份,就可以使用第一次的catalog备份恢复成功。

 

 

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