不知道兄台在用oracle rman 工具恢复数据库时会不会遇到ORA-01861: literal does not match format string的提示,笔者我真的在windows 环境下折腾了6天,经过不断的摸索,问题是解决了,先公布解决方法:
第1步:
在windows 命令行下输入C:\Users\andy>set nls_date_format=yyyy-mm-dd hh24:mi:ss
第2步:重新C:\Documents and Settings\Administrator>rman target sys/taixin@test
第3步:RMAN> recover database until time '2013-01-26 22:20:45';
最后大喜!!!!成功,
MAN> restore database;
启动 restore 于 26-1月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在开始恢复数据文件备份集
通道 ORA_DISK_1: 正在指定从备份集恢复的数据文件
正将数据文件00001恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DBF
正将数据文件00002恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.DBF
正将数据文件00003恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DBF
正将数据文件00004恢复到D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF
通道 ORA_DISK_1: 正在读取备份段 D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TES
\BACKUPSET\2013_01_26\O1_MF_NNNDF_TAG20130126T221814_8J7SF6XG_.BKP
通道 ORA_DISK_1: 已恢复备份段 1
段句柄 = D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_01_26\
1_MF_NNNDF_TAG20130126T221814_8J7SF6XG_.BKP 标记 = TAG20130126T221814
通道 ORA_DISK_1: 恢复完成, 用时: 00:00:55
完成 restore 于 26-1月 -13
MAN> recover database until time='2013-01-26 22:20:45';
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:27:42 上) 失败
RA-01861: 文字与格式字符串不匹配
MAN> run{sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';
> sql 'alter session set NLS_LANGUAGE="AMERICAN"';
> }
ql 语句: alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
ql 语句: alter session set NLS_LANGUAGE="AMERICAN"
MAN> recover database until time='2013-01-26 22:20:45';
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
无法恢复介质
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:28:21 上) 失败
MAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed
start until time '1月 26 2013 22:20:45'
RA-01861: literal does not match format string
MAN> recover database until time '2013-01-26 22:20:45';
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
无法恢复介质
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:30:43 上) 失败
MAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed
start until time '1月 26 2013 22:20:45'
RA-01861: literal does not match format string
MAN> recover database until time "to_date('2013-01-26 22:20:45','yyyy-mm-dd hh2
:mi:ss')";
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
无法恢复介质
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:34:42 上) 失败
MAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed
start until time '1月 26 2013 22:20:45'
RA-01861: literal does not match format string
MAN> run{sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';
> }
ql 语句: alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
MAN> recover database until time '2013-01-26 22:20:45';
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
无法恢复介质
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:36:42 上) 失败
MAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed
start until time '1月 26 2013 22:20:45'
RA-01861: literal does not match format string
MAN> recover database until time= '2013-01-26 22:20:45';
启动 recover 于 26-1月 -13
使用通道 ORA_DISK_1
正在开始介质的恢复
无法恢复介质
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:36:52 上) 失败
MAN-11003: 在分析/执行 SQL 语句期间失败: alter database recover if needed
start until time '1月 26 2013 22:20:45'
RA-01861: literal does not match format string
MAN> list backup;
备份集列表
==================
S 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------ ---- -- ---------- ----------- ------------ ----------
Full 556.66M DISK 00:01:01 26-1月 -13
BP 关键字: 9 状态: AVAILABLE 已压缩: NO 标记: TAG20130126T215827
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_01_26\O1_M
_NNNDF_TAG20130126T215827_8J7R884K_.BKP
备份集 9 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 559392 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTE
01.DBF
2 Full 559392 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOT
S01.DBF
3 Full 559392 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAU
01.DBF
4 Full 559392 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS
1.DBF
S 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------ ---- -- ---------- ----------- ------------ ----------
0 Full 6.80M DISK 00:00:02 26-1月 -13
BP 关键字: 10 状态: AVAILABLE 已压缩: NO 标记: TAG20130126T215827
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_01_26\O1_M
_NCSNF_TAG20130126T215827_8J7RB6CD_.BKP
包括的控制文件: Ckp SCN: 559417 Ckp 时间: 26-1月 -13
包含的 SPFILE: 修改时间: 26-1月 -13
S 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------ ---- -- ---------- ----------- ------------ ----------
1 Full 557.09M DISK 00:00:50 26-1月 -13
BP 关键字: 11 状态: AVAILABLE 已压缩: NO 标记: TAG20130126T221814
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_01_26\O1_M
_NNNDF_TAG20130126T221814_8J7SF6XG_.BKP
备份集 11 中的数据文件列表
文件 LV 类型 Ckp SCN Ckp 时间 名称
---- -- ---- ---------- ---------- ----
1 Full 560640 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTE
01.DBF
2 Full 560640 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOT
S01.DBF
3 Full 560640 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAU
01.DBF
4 Full 560640 26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS
1.DBF
S 关键字 类型 LV 大小 设备类型 经过时间 完成时间
------ ---- -- ---------- ----------- ------------ ----------
2 Full 6.80M DISK 00:00:02 26-1月 -13
BP 关键字: 12 状态: AVAILABLE 已压缩: NO 标记: TAG20130126T221814
段名:D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\TEST\BACKUPSET\2013_01_26\O1_M
_NCSNF_TAG20130126T221814_8J7SGZNO_.BKP
包括的控制文件: Ckp SCN: 560663 Ckp 时间: 26-1月 -13
包含的 SPFILE: 修改时间: 26-1月 -13
MAN> list backupset summary;
备份列表
==============
关键字 TY LV S 设备类型 完成时间 段数 副本数 压缩标记
------ -- -- - ----------- ---------- ------- ------- ---------- ---
B F A DISK 26-1月 -13 1 1 NO TAG20130126T21
827
0 B F A DISK 26-1月 -13 1 1 NO TAG20130126T21
827
1 B F A DISK 26-1月 -13 1 1 NO TAG20130126T22
814
2 B F A DISK 26-1月 -13 1 1 NO TAG20130126T22
814
MAN> exit
恢复管理器完成。
:\Documents and Settings\Administrator>set nls_date_format=yyyy-mm-dd hh24:mi:s
:\Documents and Settings\Administrator>rman target sys/taixin@test
恢复管理器: Release 10.2.0.1.0 - Production on 星期六 1月 26 22:50:04 2013
opyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到目标数据库: TEST (DBID=2103739987, 未打开)
MAN> recover database until time '2013-0-26 22:20:45';
启动 recover 于 2013-01-26 22:51:13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
MAN-00571: ===========================================================
MAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
MAN-00571: ===========================================================
MAN-03002: recover 命令 (在 01/26/2013 22:51:14 上) 失败
RA-01843: 无效的月份
MAN> recover database until time '2013-01-26 22:20:45';
启动 recover 于 2013-01-26 22:51:36
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 2013-01-26 22:51:37
转载于:https://blog.51cto.com/andy110/1127102