1.rman全库备份:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
run{
allocate channel c1 type disk;
backup database format 'E:\rman2\fulldb_T%T_S%S';
release channel c1;
}
RMAN> run{
2> allocate channel c1 type disk;
3> backup database format 'E:\rman2\fulldb_T%T_S%S';
4> release channel c1;
5> };
释放的通道: ORA_DISK_1
分配的通道: c1
通道 c1: SID=41 设备类型=DISK
启动 backup 于 07-7月 -13
通道 c1: 正在启动全部数据文件备份集
通道 c1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00001 名称=C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSAUX01.DBF
输入数据文件: 文件号=00004 名称=C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USERS01.DBF
输入数据文件: 文件号=00003 名称=C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS01.DB
.......
.......
RMAN> list backup;
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
39 Full 1.18G DISK 00:01:08 07-7月 -13
BP 关键字: 40 状态: AVAILABLE 已压缩: NO 标记: TAG20130707T154658
段名:E:\RMAN2\FULLDB_T20130707_S%S
备份集 39 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSTEM0
1.DBF
2 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSAUX0
1.DBF
3 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS
01.DBF
4 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USERS01
.DBF
5 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\EXAMPLE
01.DBF
6 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS
02.DBF
7 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\TEST.DB
F
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
40 Full 9.45M DISK 00:00:01 07-7月 -13
BP 关键字: 41 状态: AVAILABLE 已压缩: NO 标记: TAG20130707T154814
段名:C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\PRIMARY\AUTOBACKUP\2013_07_07\O1_M
F_S_820165694_8XL79YST_.BKP
包含的 SPFILE: 修改时间: 05-7月 -13
SPFILE db_unique_name: PRIMARY
包括的控制文件: Ckp SCN: 2259476 Ckp 时间: 07-7月 -13
RMAN>
2.rman全库恢复:
(1)恢复前检查一下恢复所需要的所有备份文件。保证所有的备份是可得到的
Restore database preview
RMAN> Restore database preview;
启动 restore 于 07-7月 -13
使用通道 ORA_DISK_1
备份集列表
===================
BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ ----------
39 Full 1.18G DISK 00:01:08 07-7月 -13
BP 关键字: 40 状态: AVAILABLE 已压缩: NO 标记: TAG20130707T154658
段名:E:\RMAN2\FULLDB_T20130707_S%S
备份集 39 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSTEM0
1.DBF
2 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSAUX0
1.DBF
3 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS
01.DBF
4 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USERS01
.DBF
5 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\EXAMPLE
01.DBF
6 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS
02.DBF
7 Full 2259394 07-7月 -13 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\TEST.DB
F
在资料档案库中未找到 SCN 2254809 后生成的归档日志
介质恢复启动 SCN 是 2254809
恢复范围必须超出 SCN 2259394 才能清除数据文件模糊性
完成 restore 于 07-7月 -13
RMAN>
(2)使用如下脚本简化恢复全库的步骤
run
{
shutdown immediate;
startup mount;
restore database;
recover database;
alter database open;
};
不过有时还需要恢复spfile ,控制文件
RMAN> run
2> {
3> shutdown immediate;
4> startup mount;
5> restore database;
6> recover database;
7> alter database open;
8> };
数据库已关闭
数据库已卸装
Oracle 实例已关闭
已连接到目标数据库 (未启动)
Oracle 实例已启动
数据库已装载
系统全局区域总计 535662592 字节
Fixed Size 1375792 字节
Variable Size 381682128 字节
Database Buffers 146800640 字节
Redo Buffers 5804032 字节
启动 restore 于 07-7月 -13
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=18 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYS
TEM01.DBF
通道 ORA_DISK_1: 将数据文件 00002 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYS
AUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UND
OTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USE
RS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\EXA
MPLE01.DBF
通道 ORA_DISK_1: 将数据文件 00006 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UND
OTBS02.DBF
通道 ORA_DISK_1: 将数据文件 00007 还原到 C:\APP\ADMINISTRATOR\ORADATA\ORA11G\TES
T.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\RMAN2\FULLDB_T20130707_S%S
通道 ORA_DISK_1: 段句柄 = E:\RMAN2\FULLDB_T20130707_S%S 标记 = TAG20130707T15465
8
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:01:05
完成 restore 于 07-7月 -13
启动 recover 于 07-7月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 07-7月 -13
数据库已打开
3.用户管理的全库备份
(1)将数据库处于备份状态
Alter database begin backup;
将所有的表空间的数据文件复制到一个备份的位置
SQL> select file_name from dba_data_files ;
FILE_NAME
----------------------------------------------------------------
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USERS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSAUX01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSTEM01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\EXAMPLE01.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS02.DBF
C:\APP\ADMINISTRATOR\ORADATA\ORA11G\TEST.DBF
已选择7行。
(2) 用操作系统复制命令:
SQL> select 'host copy ' || file_name || ' C:\app\Administrator\bak ;' from dba_
data_files ;
'HOSTCOPY'||FILE_NAME||'C:\APP\ADMINISTRATOR\BAK;'
--------------------------------------------------------------------------------
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\USERS01.DBF C:\app\Administrator\b
ak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS01.DBF C:\app\Administrator
\bak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSAUX01.DBF C:\app\Administrator\
bak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\SYSTEM01.DBF C:\app\Administrator\
bak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\EXAMPLE01.DBF C:\app\Administrator
\bak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\UNDOTBS02.DBF C:\app\Administrator
\bak ;
host copy C:\APP\ADMINISTRATOR\ORADATA\ORA11G\TEST.DBF C:\app\Administrator\bak;
已选择7行。
SQL>
结束备份状态
SQL> alter database end backup;
数据库已更改。
SQL>
(3) 备份控制文件:
SQL> Alter database backup controlfile to 'C:\app\Administrator\bak\controlback.
ctl';
数据库已更改。
SQL>
4.用户管理的全库恢复:
(1)关闭数据库
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
(2)把备份的文件复制到原来的位置
(3)启动数据到mount状态
SQL> startup mount
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE 例程已经启动。
Total System Global Area 535662592 bytes
Fixed Size 1375792 bytes
Variable Size 381682128 bytes
Database Buffers 146800640 bytes
Redo Buffers 5804032 bytes
数据库装载完毕。
SQL>
把归档日志放到指定位置(spfile指定的位置)执行recover操作
Recover automatic database;
SQL> Recover automatic database;
完成介质恢复。
如果归档日志在放在其他位置需要使用set语句指定logsource参数
Set logsource /new_direcotry/
Alter database recover from ‘new_direcotry’
打开数据库:
SQL> alter database open;
数据库已更改。