• 博客访问: 2859459
  • 博文数量: 335
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-30 13:07
个人简介

暂无介绍

文章分类

全部博文(335)

文章存档

2016年(1)

2012年(5)

2011年(38)

2010年(48)

2009年(70)

2008年(173)

分类: Linux操作系统

2008-06-05 08:34:10

/* 2008/06/05
*环境:Windows XP +Oracle10.2.0.1
*循序渐进oracle——数据库管理、优化与备份恢复
*循序渐进oracle第7章:备份与恢复之利用控制文件快照恢复控制文件
*/
7.7.3 RMAN的备份与恢复
1、将控制文件的创建语句备份到跟踪文件中
SQL> alter database backup controlfile to trace;

数据库已更改。

生成的.trc文件在$oracle_HOME\admin\sid\udump


2、执行一次数据库控制文件的转储
SQL> alter session set events 'immediate trace name controlf level 8';

会话已更改。

3、查看controlfile的快照
RMAN> show snapshot controlfile name;

RMAN 配置参数为:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'G:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\S
NCFRISENET.ORA'; # default

4、备份当前的控制文件
RMAN> backup current controlfile format 'g:\control.ctl';

启动 backup 于 05-6月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=138 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
通道 ORA_DISK_1: 正在启动段 1 于 05-6月 -08
通道 ORA_DISK_1: 已完成段 1 于 05-6月 -08
段句柄=G:\CONTROL.CTL 标记=TAG20080605T075004 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:02
完成 backup 于 05-6月 -08

启动 Control File Autobackup 于 05-6月 -08
段 handle=G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\AUTOBACKUP\2008_0
6_05\O1_MF_N_656581806_44GBKHDP_.BKP comment=NONE
完成 Control File Autobackup 于 05-6月 -08

 

还可以拷贝当前控制文件:

RMAN> backup as copy current controlfile format 'e:\backup\controlcopy.ctl';

启动 backup 于 05-6月 -08
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制当前控制文件
输出文件名 = E:\BACKUP\CONTROLCOPY.CTL 标记 = TAG20080605T093351 recid = 24 时间
戳 = 656588032
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 05-6月 -08

启动 Control File and SPFILE Autobackup 于 05-6月 -08
段 handle=G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\AUTOBACKUP\2008_0
6_05\O1_MF_S_656588032_44GJN1FO_.BKP comment=NONE
完成 Control File and SPFILE Autobackup 于 05-6月 -08

注意:拷贝的控制文件是当前控制文件的一个原样副本,可以直接用于启动数据库,而RMAN的控制文件备份则需要通过RMAN进行恢复使用。

5、备份数据库到其他位置
RMAN> backup database format 'e:\backup\risenetfull_%d_%t_%s';

6、当前时间、当前scn
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

会话已更改。

SQL> select sysdate,dbms_flashback.get_system_change_number from dual;

SYSDATE             GET_SYSTEM_CHANGE_NUMBER
------------------- ------------------------
2008-06-05 08:05:06                   895058

 


7、利用控制文件快照恢复控制文件


C:\>rman target/

恢复管理器: Release 10.2.0.1.0 - Production on 星期四 6月 5 08:23:15 2008

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

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

RMAN> startup nomount

Oracle 实例已启动

系统全局区域总计     272629760 字节

Fixed Size                     1248476 字节
Variable Size                100664100 字节
Database Buffers             163577856 字节
Redo Buffers                   7139328 字节

RMAN> restore controlfile
2> from 'G:\oracle\product\10.2.0\db_1\database\SNCFRISENET.ORA';

启动 restore 于 05-6月 -08
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK

通道 ORA_DISK_1: 已复制控制文件副本
输出文件名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\CONTROL01.CTL
输出文件名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\CONTROL02.CTL
输出文件名=G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\CONTROL03.CTL
完成 restore 于 05-6月 -08


RMAN> alter database mount;

数据库已装载
释放的通道: ORA_DISK_1

RMAN> run
2> {set until scn 895420;
3> restore database database;
4> recover database;
5> }

正在执行命令: SET until clause

启动 restore 于 05-6月 -08
启动 implicit crosscheck backup 于 05-6月 -08
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 15 对象
完成 implicit crosscheck backup 于 05-6月 -08

启动 implicit crosscheck copy 于 05-6月 -08
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 05-6月 -08

搜索恢复区域中的所有文件
正在编制文件目录...
目录编制完毕

已列入目录的文件的列表
=======================
文件名: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\2008_06_
05\O1_MF_1_6_44GCZYSW_.ARC
文件名: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\2008_06_
05\O1_MF_1_7_44GD0FXS_.ARC
文件名: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\2008_06_
05\O1_MF_1_8_44GD124W_.ARC
文件名: G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\2008_06_
05\O1_MF_1_9_44GD1K5V_.ARC

使用通道 ORA_DISK_1

通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSTEM01.DBF
正将数据文件00002恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\UNDOTBS01.DBF
正将数据文件00003恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\SYSAUX01.DBF
正将数据文件00004恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\USERS01.DBF
正将数据文件00005恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\RISE.DBF
正将数据文件00006恢复到G:\ORACLE\PRODUCT\10.2.0\ORADATA\RISENET\MZL.DBF
通道 ORA_DISK_1: 正在读取备份段 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RIS
ENET\BACKUPSET\2008_06_05\O1_MF_NNNDF_20080605_44GC7W5C_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\BACKUPSET\2008_06_
05\O1_MF_NNNDF_20080605_44GC7W5C_.BKP 标记 = 20080605
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:16
完成 restore 于 05-6月 -08

启动 recover 于 05-6月 -08
使用通道 ORA_DISK_1

正在开始介质的恢复

存档日志线程 1 序列 5 已作为文件 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
SENET\ARCHIVELOG\2008_06_05\O1_MF_1_5_44GC9BX9_.ARC 存在于磁盘上
存档日志线程 1 序列 6 已作为文件 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
SENET\ARCHIVELOG\2008_06_05\O1_MF_1_6_44GCZYSW_.ARC 存在于磁盘上
存档日志线程 1 序列 7 已作为文件 G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RI
SENET\ARCHIVELOG\2008_06_05\O1_MF_1_7_44GD0FXS_.ARC 存在于磁盘上
存档日志文件名 =G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\
2008_06_05\O1_MF_1_5_44GC9BX9_.ARC 线程 =1 序列 =5
存档日志文件名 =G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\
2008_06_05\O1_MF_1_6_44GCZYSW_.ARC 线程 =1 序列 =6
存档日志文件名 =G:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\RISENET\ARCHIVELOG\
2008_06_05\O1_MF_1_7_44GD0FXS_.ARC 线程 =1 序列 =7
介质恢复完成, 用时: 00:00:04
完成 recover 于 05-6月 -08

RMAN> alter database open resetlogs;

数据库已打开

阅读(1895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册