长时间未用rman,犯了个不该犯的错,更严重的是,半天没想起来为什么,在此标记下。
执行的过程以及报错如下 :
run{
set until time "to_date('2015-03-06 14','yyyy-mm-dd hh24')";
restore database;
recover database;
}
正在执行命令: SET until clause
启动 restore 于 17-3月 -15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=197 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00002 还原到 E:\APP\ADMINISTRATOR\ORADATA\PERA\SYSAU
X01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 E:\APP\ADMINISTRATOR\ORADATA\PERA\UNDOT
BS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\DBBACKUP\RMANBACK\FULL_20150304_10_1.DBF
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 03/17/2015 09:58:12 上) 失败
ORA-19870: 还原备份片段 E:\DBBACKUP\RMANBACK\FULL_20150304_10_1.DBF 时出错
ORA-19573: 无法获得 exclusive 入队 (数据文件 2 的)
RMAN>
原因是愿望将数据库启动到mount了。数据库目前是Open状态。
需要startup mount;
后面执行再没有报错:
run{
set until time "to_date('2015-03-06 14','yyyy-mm-dd hh24')";
restore database;
recover database;
}
SQL> alter database open resetlogs;
执行的过程以及报错如下 :
run{
set until time "to_date('2015-03-06 14','yyyy-mm-dd hh24')";
restore database;
recover database;
}
正在执行命令: SET until clause
启动 restore 于 17-3月 -15
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=197 设备类型=DISK
通道 ORA_DISK_1: 正在开始还原数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_DISK_1: 将数据文件 00002 还原到 E:\APP\ADMINISTRATOR\ORADATA\PERA\SYSAU
X01.DBF
通道 ORA_DISK_1: 将数据文件 00003 还原到 E:\APP\ADMINISTRATOR\ORADATA\PERA\UNDOT
BS01.DBF
通道 ORA_DISK_1: 正在读取备份片段 E:\DBBACKUP\RMANBACK\FULL_20150304_10_1.DBF
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: restore 命令 (在 03/17/2015 09:58:12 上) 失败
ORA-19870: 还原备份片段 E:\DBBACKUP\RMANBACK\FULL_20150304_10_1.DBF 时出错
ORA-19573: 无法获得 exclusive 入队 (数据文件 2 的)
RMAN>
原因是愿望将数据库启动到mount了。数据库目前是Open状态。
需要startup mount;
后面执行再没有报错:
run{
set until time "to_date('2015-03-06 14','yyyy-mm-dd hh24')";
restore database;
recover database;
}
SQL> alter database open resetlogs;