一、查询目前表空间和数据文件名称
SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
USERS
TEMP
SQL> select name from v$datafile;
NAME
-------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\USERS01.DBF
二、新建一个表空间
SQL> create tablespace wyl datafile 'D:\oracle\product\10.2.0\oradata\tsing\wyl.
dbf' size 10m ;
表空间已创建。
三、创建t_wyl的表
SQL> create table t_wyl tablespace wyl as select * from v$database;
表已创建。
SQL> select count(*) from t_wyl;
COUNT(*)
----------
1
四、登录rman 设置
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\rman\%F'; # default
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'd:\rman\%U';
五、备份全库
RMAN> backup database;
启动 backup 于 22-3月 -13
分配的通道: 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\TSING\SYSTEM01.DBF
输入数据文件 fno=00003 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\SYSAUX01.DBF
输入数据文件 fno=00002 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\UNDOTBS01.DBF
输入数据文件 fno=00005 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\WYL.DBF
输入数据文件 fno=00004 name=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 22-3月 -13
通道 ORA_DISK_1: 已完成段 1 于 22-3月 -13
段句柄=D:\RMAN\01O56JJO_1_1 标记=TAG20130322T204544 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:45
完成 backup 于 22-3月 -13
启动 Control File and SPFILE Autobackup 于 22-3月 -13
段 handle=D:\RMAN\C-3282574446-20130322-00 comment=NONE
完成 Control File and SPFILE Autobackup 于 22-3月 -13
六、drop wyl 表空间
SQL> drop tablespace wyl including contents and datafiles;
表空间已删除。
七、关闭数据库,移动数据文件到其他位置(模拟数据丢失)
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
八、恢复
1、通过alert 查找出drop 表空间的时间
Completed: drop tablespace wyl including contents and datafiles
Fri Mar 22 20:54:53 2013
2、恢复控制文件到rman全备时段
D:\RMAN\C-3282574446-20130322-00(控制文件)
执行控制文件恢复
startup;
RMAN> restore controlfile from 'D:\RMAN\C-3282574446-20130322-00';
启动 restore 于 22-3月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 正在复原控制文件
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:03
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\CONTROL01.CTL
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\CONTROL02.CTL
输出文件名=D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\CONTROL03.CTL
完成 restore 于 22-3月 -13
3 mount 数据库(此时会启用恢复后的控制文件)
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
4 restore 数据库
RMAN> restore database;
启动 restore 于 22-3月 -13
启动 implicit crosscheck backup 于 22-3月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
已交叉检验的 1 对象
完成 implicit crosscheck backup 于 22-3月 -13
启动 implicit crosscheck copy 于 22-3月 -13
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 22-3月 -13
搜索恢复区域中的所有文件
正在编制文件目录...
没有为文件编制目录
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\USERS01.DBF
正将数据文件00005恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\WYL.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\RMAN\01O56JJO_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\RMAN\01O56JJO_1_1 标记 = TAG20130322T204544
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:05
完成 restore 于 22-3月 -13
5 recover 数据库
RMAN> run {
2> sql 'alter session set nls_date_format ="yyyy-mm-dd hh24:mi:ss"';
3> set until time='2013-03-22 20:52:40';
4> recover database;}
sql 语句: alter session set nls_date_format ="yyyy-mm-dd hh24:mi:ss"
正在执行命令: SET until clause
启动 recover 于 22-3月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
存档日志线程 1 序列 2 已作为文件 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\REDO01.L
OG 存在于磁盘上
存档日志文件名 =D:\ORACLE\PRODUCT\10.2.0\ORADATA\TSING\REDO01.LOG 线程 =1 序列 =
2
介质恢复完成, 用时: 00:00:00
完成 recover 于 22-3月 -13
转载于:https://blog.51cto.com/andy110/1160577