ORA-01861: literal does not match format string

不知道兄台在用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

你可能感兴趣的:(oracle,rman,恢复失败)