将RMAN最新的备份拷贝的恢复服务器指定目录下(一定要是本机磁盘,不要使用共享盘中的文件),与数据库服务器备份文件路径一致,拷贝到F:\backup\rman目录下。
启动数据库安装程序,安装目录与数据库服务器一致,为:D:\app\Administrator\product\11.2.0\dbhome_1。
启动Net Manager,创建监听
启动监听
将监听服务设置为自动启动
如果是虚拟机的话,建议设置完成后在此处创建快照。
在命令行窗口执行如下命令:
C:\Users\Administrator>oradim -new -sid cme
实例已创建。
(1)将pfile.ora文件拷贝到%ORACLE_HOME%\database目录下,并根据本机实际情况对部分参数进行修改,修改后的内容如下:
cme.__oracle_base='D:\app\administrator'#ORACLE_BASE set from environment
cme.__pga_aggregate_target=369098752
cme.__sga_target=721420288
cme.__shared_io_pool_size=0
cme.__shared_pool_size=419430400
cme.__streams_pool_size=0
*.audit_file_dest='D:\app\administrator\admin\cme\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\NSTC\ORADATA\CME\cme\control01.ctl','E:\N6HUIFU\cme\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='cme'
*.db_recovery_file_dest='E:\N6HUIFU'
*.db_recovery_file_dest_size=4102029312
*.deferred_segment_creation=FALSE
*.diagnostic_dest='D:\app\administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=cmeXDB)'
*.log_archive_dest_1='location=E:\arch'
*.log_archive_dest=''
*.memory_target=1078984704
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.processes=500
*.remote_login_passwordfile='EXCLUSIVE'
*.resource_limit=TRUE
*.sessions=555
*.undo_tablespace='UNDOTBS1'
修改完成后需要根据修改内容创建相应目录,脚本如下:
md D:\app\administrator\admin\cme\adump
md E:\NSTC\ORADATA\CME\cme\
md E:\N6HUIFU\cme\
md E:\arch
(2)修改完成后根据pfile创建spfile,在命令行输入如下命令:
C:\Users\Administrator>set oracle_sid=cme
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 27 13:51:14 2014
Copyright (c) 1982, 2010, Oracle. All rights reserved.
已连接到空闲例程。
SQL> create spfile from pfile='D:\app\Administrator\product\11.2.0\dbhome_1\database\pfile.ora';
文件已创建。
(3)启动数据库
在命令行输入如下命令,启动数据库到nomount状态。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 1085640704 bytes
Fixed Size 2174928 bytes
Variable Size 654311472 bytes
Database Buffers 419430400 bytes
Redo Buffers 9723904 bytes
在新打开的命令行窗口输入如下命令:
C:\Users\Administrator>set oracle_sid=cme
C:\Users\Administrator>rman target /
恢复管理器: Release 11.2.0.1.0 - Production on 星期三 8月 27 14:05:47 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
连接到目标数据库: CME (未装载)
RMAN> set dbid=4032130741
正在执行命令: SET DBID
RMAN> restore controlfile from 'F:\backup\rman\CF_3613_1_860462539';
启动 restore 于 09-10月-14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=20 设备类型=DISK
通道 ORA_DISK_1: 正在还原控制文件
通道 ORA_DISK_1: 还原完成, 用时: 00:00:02
输出文件名=E:\NSTC\ORADATA\CME\CME\CONTROL01.CTL
输出文件名=E:\N6HUIFU\CME\CONTROL02.CTL
完成 restore 于 09-10月-14
RMAN> alter database mount;
数据库已装载
释放的通道: ORA_DISK_1
RMAN> restore database;
启动 restore 于 09-10月-14
启动 implicit crosscheck backup 于 09-10月-14
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=20 设备类型=DISK
已交叉检验的 12 对象
完成 implicit crosscheck backup 于 09-10月-14
启动 implicit crosscheck copy 于 09-10月-14
使用通道 ORA_DISK_1
完成 implicit crosscheck copy 于 09-10月-14
搜索恢复区中的所有文件
正在编制文件目录...
没有为文件编制目录
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00001 还原到 E:\NSTC\ORADATA\CME\CME\SYSTEM01.DBF
通道 ORA_DISK_1: 将数据文件 00004 还原到 E:\NSTC\ORADATA\CME\CME\USERS01.DBF
通道 ORA_DISK_1: 将数据文件 00005 还原到 E:\NSTC\ORADATA\CME\N6_DATA01.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\BACKUP\RMAN\GNPKJ64Q_1_1
通道 ORA_DISK_1: 段句柄 = F:\BACKUP\RMAN\GNPKJ64Q_1_1 标记 = TAG20141009T010010
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:30:28
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00002 还原到 E:\NSTC\ORADATA\CME\CME\SYSAUX01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 E:\NSTC\ORADATA\CME\CME\UNDOTBS01.DBF
通道 ORA_DISK_1: 将数据文件 00006 还原到 E:\NSTC\ORADATA\CME\N6_DATA02.DBF
通道 ORA_DISK_1: 将数据文件 00007 还原到 E:\NSTC\ORADATA\CME\N6_DATA03.DBF
通道 ORA_DISK_1: 正在读取备份片段 F:\BACKUP\RMAN\GOPKJ71G_1_1
通道 ORA_DISK_1: 段句柄 = F:\BACKUP\RMAN\GOPKJ71G_1_1 标记 = TAG20141009T010010
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:05:37
完成 restore 于 09-10月-14
可以通过以下sql语句查询恢复进度:
select inst_id,sid,serial#,opname,COMPLETE,
trunc(((to_char(last_update_time,'dd')-to_char(start_time,'dd'))*60*24+(to_char(last_update_time,'hh24')-to_char(start_time,'hh24'))*60 +(to_char(last_update_time,'mi')-to_char(start_time,'mi')))*(100-complete)/complete) min from
(
SELECT inst_id,
sid,
serial#,
opname,
ROUND(SOFAR / TOTALWORK * 100, 2) COMPLETE,
LAST_UPDATE_TIME,
START_TIME
FROM gV$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
--AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK
) ;
RMAN> recover database;
启动 recover 于 10-10月-14
使用通道 ORA_DISK_1
正在开始介质的恢复
通道 ORA_DISK_1: 正在开始将归档日志还原到默认目标
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=20777
通道 ORA_DISK_1: 正在还原归档日志
归档日志线程=1 序列=20778
通道 ORA_DISK_1: 正在读取备份片段 F:\BACKUP\RMAN\GSPKJ7DE_1_1
通道 ORA_DISK_1: 段句柄 = F:\BACKUP\RMAN\GSPKJ7DE_1_1 标记 = TAG20141009T012121
通道 ORA_DISK_1: 已还原备份片段 1
通道 ORA_DISK_1: 还原完成, 用时: 00:00:25
归档日志文件名=E:\ARCH\ARC0000020777_0815249527.0001 线程=1 序列=20777
归档日志文件名=E:\ARCH\ARC0000020778_0815249527.0001 线程=1 序列=20778
无法找到归档日志
归档日志线程=1 序列=20779
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: recover 命令 (在 10/10/2014 09:46:30 上) 失败
RMAN-06054: 介质恢复正在请求未知的线程 1 序列 20779 的归档日志以及起始 SCN 395136428
RMAN> alter database open resetlogs;
数据库已打开
注意:需要在系统环境变量中增加名称为oracle_sid,值为cme的环境变量,不然每次使用sqlplus连接数据库时需要手动指定oracle_sid变量的值。


















