ITPub博客

首页 > 数据库 > Oracle > Rman的备份与恢复过程[转]

Rman的备份与恢复过程[转]

原创 Oracle 作者:cosio 时间:2008-08-20 22:36:07 0 删除 编辑
Rman的备份与恢复过程[@more@]

1)首先连接数据库显示数据库的运行模式

C:Documents and SettingsAdministrator>sqlplus sys/sys@colin as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 7月 24 11:03:54 2007

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

连接到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> archive log list;

数据库日志模式 非存档模式

自动存档 禁用

存档终点 USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列 6

当前日志序列 8

SQL> exit

从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options 断开

2)rman连接更改数据库的运行模式

C:Documents and SettingsAdministrator>rman nocatalog target sys/sys@colin

恢复管理器: Release 10.2.0.1.0 - Production on 星期二 7月 24 11:04:39 2007

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

连接到目标数据库: COLIN (DBID=3439110070)

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

RMAN> shutdown immediate;

数据库已关闭

数据库已卸载

Oracle 实例已关闭

RMAN> startup mount;

已连接到目标数据库 (未启动)

Oracle 实例已启动

数据库已装载

系统全局区域总计 167772160 字节

Fixed Size 1247900 字节

Variable Size 79693156 字节

Database Buffers 83886080 字节

Redo Buffers 2945024 字节

RMAN> run {sql 'alter database archivelog';}

sql 语句: alter database archivelog

RMAN> run {sql 'alter database open';}

sql 语句: alter database open

3)紧接着对数据库做一个全备

RMAN> backup database format 'd:dfbak%d_%s_%T.bak';

启动 backup 于 24-7月 -07

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=147 devtype=DISK

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

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

输入数据文件 fno=00001 name=D:ORACLEPRODUCT10.2.0ORADATACOLINSYSTEM01.DBF

输入数据文件 fno=00003 name=D:ORACLEPRODUCT10.2.0ORADATACOLINSYSAUX01.DBF

输入数据文件 fno=00005 name=D:ORACLEPRODUCT10.2.0ORADATACOLINEXAMPLE01.DBF

输入数据文件 fno=00002 name=D:ORACLEPRODUCT10.2.0ORADATACOLINUNDOTBS01.DBF

输入数据文件 fno=00004 name=D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS01.DBF

输入数据文件 fno=00006 name=D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS02.DBF

通道 ORA_DISK_1: 正在启动段 1 于 24-7月 -07

通道 ORA_DISK_1: 已完成段 1 于 24-7月 -07

段句柄=D:DFBAKCOLIN_13_20070724.BAK 标记=TAG20070724T111153 注释=NONE

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

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

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

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

在备份集中包含当前的 SPFILE

通道 ORA_DISK_1: 正在启动段 1 于 24-7月 -07

通道 ORA_DISK_1: 已完成段 1 于 24-7月 -07

段句柄=D:DFBAKCOLIN_14_20070724.BAK 标记=TAG20070724T111153 注释=NONE

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

完成 backup 于 24-7月 -07

4)关闭数据库,删除所有的数据文件,模拟数据库损坏文件丢失现象

RMAN> shutdown immediate

数据库已关闭

数据库已卸载

Oracle 实例已关闭

这里需要用操作系统命令把所有的数据文件干掉

5)对数据库执行完全恢复

RMAN> startup mount

已连接到目标数据库 (未启动)

Oracle 实例已启动

数据库已装载

系统全局区域总计 167772160 字节

Fixed Size 1247900 字节

Variable Size 79693156 字节

Database Buffers 83886080 字节

Redo Buffers 2945024 字节

RMAN> restore database;

启动 restore 于 24-7月 -07

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: sid=156 devtype=DISK

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

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

正将数据文件00001恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINSYSTEM01.DBF

正将数据文件00002恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINUNDOTBS01.DBF

正将数据文件00003恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINSYSAUX01.DBF

正将数据文件00004恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS01.DBF

正将数据文件00005恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINEXAMPLE01.DBF

正将数据文件00006恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS02.DBF

通道 ORA_DISK_1: 正在读取备份段 D:DFBAKCOLIN_13_20070724.BAK

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = D:DFBAKCOLIN_13_20070724.BAK 标记 = TAG20070724T111153

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

完成 restore 于 24-7月 -07

RMAN> recover database;

启动 recover 于 24-7月 -07

使用通道 ORA_DISK_1

正在开始介质的恢复

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

完成 recover 于 24-7月 -07

RMAN> run {sql 'alter database open';}

sql 语句: alter database open

以上完成使用rman对数据库进行全恢复的操作。

接下来是对单个表空间的恢复(包括目标文件的转移的练习)

RMAN> shutdown immediate

数据库已关闭

数据库已卸载

Oracle 实例已关闭

利用操作系统命令删除users表空间对应的所有数据文件

RMAN> startup

已连接到目标数据库 (未启动)

Oracle 实例已启动

数据库已装载

RMAN-03002: startup 命令 (在 07/24/2007 11:29:43 上) 失败

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

ORA-01110: 数据文件 4: 'D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS01.DBF'

RMAN> run{

2> allocate channel d1 type disk;

3> set newname for datafile 'D:oracleproduct10.2.0oradatacolinusers02.dbf'

to 'd:dfbakusers02.dbf'; --这里是目标数据文件的转移

4> restore tablespace users;

5> switch datafile 'd:dfbakusers02.dbf'; --这个语句的作用时通知控制文件更改

6> recover tablespace users;

7> release channel d1;

8> }

分配的通道: d1

通道 d1: sid=156 devtype=DISK

正在执行命令: SET NEWNAME

启动 restore 于 24-7月 -07

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

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

正将数据文件00004恢复到D:ORACLEPRODUCT10.2.0ORADATACOLINUSERS01.DBF

正将数据文件00006恢复到D:DFBAKUSERS02.DBF

通道 d1: 正在读取备份段 D:DFBAKCOLIN_13_20070724.BAK

通道 d1: 已恢复备份段 1

段句柄 = D:DFBAKCOLIN_13_20070724.BAK 标记 = TAG20070724T111153

通道 d1: 恢复完成, 用时: 00:00:08

完成 restore 于 24-7月 -07

数据文件 6 已转换成数据文件副本

输入数据文件副本 recid=13 stamp=628774429 文件名=D:DFBAKUSERS02.DBF

启动 recover 于 24-7月 -07

正在开始介质的恢复

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

完成 recover 于 24-7月 -07

释放的通道: d1

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

请登录后发表评论 登录
全部评论

注册时间:2008-07-13

  • 博文量
    71
  • 访问量
    976098