ITPub博客

首页 > Linux操作系统 > Linux操作系统 > rman在归档模式下的备份与恢复练习

rman在归档模式下的备份与恢复练习

原创 Linux操作系统 作者:Hero--008 时间:2008-03-03 12:25:57 0 删除 编辑

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

C:\Documents and Settings\Administrator>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 Settings\Administrator>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:\ORACLE\PRODUCT\10.2.0\ORADATA\COLIN\SYSTEM01.DBF

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

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

 

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

 

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

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

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

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

段句柄=D:\DFBAK\COLIN_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:\DFBAK\COLIN_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:\ORACLE\PRODUCT\10.2.0\ORADATA\COLIN\SYSTEM01.DBF

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

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

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

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

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

通道 ORA_DISK_1: 正在读取备份段 D:\DFBAK\COLIN_13_20070724.BAK

通道 ORA_DISK_1: 已恢复备份段 1

段句柄 = D:\DFBAK\COLIN_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:\ORACLE\PRODUCT\10.2.0\ORADATA\COLIN\USERS01.DBF'

 

RMAN> run{

2> allocate channel d1 type disk;

3> set newname for datafile 'D:\oracle\product\10.2.0\oradata\colin\users02.dbf'

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

4> restore tablespace users;

5> switch datafile 'd:\dfbak\users02.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:\ORACLE\PRODUCT\10.2.0\ORADATA\COLIN\USERS01.DBF

正将数据文件00006恢复到D:\DFBAK\USERS02.DBF

通道 d1: 正在读取备份段 D:\DFBAK\COLIN_13_20070724.BAK

通道 d1: 已恢复备份段 1

段句柄 = D:\DFBAK\COLIN_13_20070724.BAK 标记 = TAG20070724T111153

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

完成 restore 于 24-7月 -07

 

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

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

 

启动 recover 于 24-7月 -07

 

正在开始介质的恢复

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

 

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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-01-30

  • 博文量
    2
  • 访问量
    5762