【实验内容】
恢复SYSTEM表空间数据文件(SYSTEM表空间的数据文件被误删除)
【实验过程】
边上代码边说明。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ 启动rman
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
C:\>rman target /
恢复管理器: Release 10.2.0.1.0 - Production on 星期五 9月 23 07:12:04 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
连接到目标数据库: CHIC (DBID=2441241770)
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ 因为刚刚重做了一下系统,重装了一个新的Oracle环境,
■ 所以我们在进行下面的实验之前,我先来进行一次全库的冷备
■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
RMAN> shutdown immediate
使用目标数据库控制文件替代恢复目录
数据库已关闭
数据库已卸载
Oracle 实例已关闭
RMAN> startup mount;
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 612368384 字节
Fixed Size 1250428 字节
Variable Size 188746628 字节
Database Buffers 415236096 字节
Redo Buffers 7135232 字节
RMAN> backup database format='D:\oracle\rmanbak\%d_%s_%T_ALL.dbf';
启动 backup 于 23-9月 -11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSAUX01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\EXAMPLE01.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\UNDOTBS01.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 23-9月 -11
通道 ORA_DISK_1: 已完成段 1 于 23-9月 -11
段句柄=D:\ORACLE\RMANBAK\CHIC_1_20110923_ALL.DBF 标记=TAG20110923T071852 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:16
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 23-9月 -11
通道 ORA_DISK_1: 已完成段 1 于 23-9月 -11
段句柄=D:\ORACLE\RMANBAK\CHIC_2_20110923_ALL.DBF 标记=TAG20110923T071852 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:03
完成 backup 于 23-9月 -11
RMAN>
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ 下面我们开始这次实验的第一步,我们来看一下表空间及对应的数据文件
■ 我们看到 SYSTEM 表空间的数据文件编号为1号文件,对应数据文件名称SYSTEM01.DBF
■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
RMAN> host;
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 9月 23 07:42:50 2011
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> set linesize 8000
SQL> set pagesize 8000
SQL> set feedback on
SQL> desc v$datafile;
名称
-------------------------------------------------------------------------------------------------------------------------------
FILE#
CREATION_CHANGE#
CREATION_TIME
TS#
RFILE#
STATUS
ENABLED
CHECKPOINT_CHANGE#
CHECKPOINT_TIME
UNRECOVERABLE_CHANGE#
UNRECOVERABLE_TIME
LAST_CHANGE#
LAST_TIME
OFFLINE_CHANGE#
ONLINE_CHANGE#
ONLINE_TIME
BYTES
BLOCKS
CREATE_BYTES
BLOCK_SIZE
NAME
PLUGGED_IN
BLOCK1_OFFSET
AUX_NAME
FIRST_NONLOGGED_SCN
FIRST_NONLOGGED_TIME
SQL> desc v$tablespace;
名称
-------------------------------------------------------------------------------------------------------------------------------
TS#
NAME
INCLUDED_IN_DATABASE_BACKUP
BIGFILE
FLASHBACK_ON
ENCRYPT_IN_BACKUP
SQL> select t2.NAME,t1.FILE#,t1.NAME from v$datafile t1,v$tablespace t2 where t1.TS#=t2.TS#;
NAME FILE# NAME
------------------------------ ---------- --------------------------------------------------------------------------------------
SYSTEM 1 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSTEM01.DBF
UNDOTBS1 2 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\UNDOTBS01.DBF
SYSAUX 3 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSAUX01.DBF
USERS 4 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\USERS01.DBF
EXAMPLE 5 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\EXAMPLE01.DBF
已选择5行。
SQL> exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
C:\>exit
主机命令完成
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ 删除SYSTEM表空间的数据文件
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
将 D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSTEM01.DBF 文件删除。
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
■ 执行下面的rman脚本 开始恢复
■ ①强制重启数据库到mount状态
■ ②restore 恢复1号数据文件
■ ③recover 对1号数据文件进行介质恢复
■ ④打开数据库到open状态
■
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
RMAN> run {
2> startup force mount;
3> restore datafile 1;
4> recover datafile 1;
5> sql 'alter database open';
6> }
Oracle 实例已启动
数据库已装载
系统全局区域总计 612368384 字节
Fixed Size 1250428 字节
Variable Size 188746628 字节
Database Buffers 415236096 字节
Redo Buffers 7135232 字节
启动 restore 于 23-9月 -11
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\CHIC\SYSTEM01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\RMANBAK\CHIC_1_20110923_ALL.DBF
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\RMANBAK\CHIC_1_20110923_ALL.DBF 标记 = TAG20110923T071852
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:56
完成 restore 于 23-9月 -11
启动 recover 于 23-9月 -11
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 23-9月 -11
sql 语句: alter database open
RMAN>
以上。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/20335819/viewspace-708312/
,如需转载,请注明出处,否则将追究法律责任。