前言,Oracle数据库开启了归档模式。
1、Rman脚本
RUN {
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'D:\oracle\product\10.2.0\oradata\rmanbak\%F';
ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT 'D:\oracle\product\10.2.0\oradata\rmanbak\%U';
BACKUP DATABASE SKIP INACCESSIBLE FILESPERSET 10
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL CH1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;
其中PLUS ARCHIVELOG这条命令会执行以下几条
(1)、运行ALTER SYSTEM ARCHIVE LOG CURRENT 语句对当前redolog 进行归档;
(2)、执行BACKUP ARCHIVELOG ALL 命令备份所有已归档日志;
(3)、执行BACKUP 命令对指定项进行备份;
(4)、再次运行ALTER SYSTEM ARCHIVE LOG CURRENT 对当前redolog 归档;
(2)、执行BACKUP ARCHIVELOG ALL 命令备份所有已归档日志;
(3)、执行BACKUP 命令对指定项进行备份;
(4)、再次运行ALTER SYSTEM ARCHIVE LOG CURRENT 对当前redolog 归档;
(5)、对新生成的尚未备份的归档文件进行备份。
2、执行备份
set oracle_sid=zjfx
rman target / cmdfile=C:\Users\MY_LittleBerry\Desktop\zjfx.rman
3、备份结束后,手动创建个表gao,插入几条数据
C:\Users\MY_LittleBerry>sqlplus/nolog
SQL> conn ysgl/ysgl
SQL> insert into gao values (0010,'gaohq');
SQL> insert into gao values (0020,'chengxm');
SQL> commit;
4、关闭数据库,删除DBF文件
SQL> conn /as sysdba
SQL> shutdown immediate
SQL> host del D:\oracle\product\10.2.0\oradata\ZJFX\*.dbf
5、启动报错
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1292060 bytes
Variable Size 289409252 bytes
Database Buffers 318767104 bytes
Redo Buffers 2899968 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\SYSTEM01.DBF'
6、查看数据库在什么状态
SQL> select instance_name ,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
zjfx MOUNTED
7、用Rmanre store数据库
C:\Users\MY_LittleBerry>rman target/
RMAN> restore database;
启动 restore 于 12-4月 -12
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\USERS01.DBF
正将数据文件00005恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\EXAMPLE01.DBF
正将数据文件00006恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\YSGL_DATA01.DBF
正将数据文件00007恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\ZJFX\OATEST_DATA01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\ORADATA\RMANBAK\0NN88MT
P_1_1
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\PRODUCT\10.2.0\ORADATA\RMANBAK\0NN88MTP_1_1 标记 = TAG2012041
2T170249
通道 ORA_DISK_1: 恢复完成, 用时: 00:01:07
完成 restore 于 12-4月 -12
8、Recover
RMAN> recover database;
启动 recover 于 12-4月 -12
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:03
完成 recover 于 12-4月 -12
RMAN> alter database open;
数据库已打开
9、验证数据
RMAN> host sqlplus /nolog
SQL> conn ysgl/ysgl
SQL> select * from gao;
ID NAME
---------- --------------------
10 gaohq
20 chengxm
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26869973/viewspace-721026/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26869973/viewspace-721026/