天天看點

ORA-01861: literal does not match format string

不知道兄台在用oracle rman 工具恢複資料庫時會不會遇到ORA-01861: literal does not match format string的提示,筆者我真的在windows 環境下折騰了6天,經過不斷的摸索,問題是解決了,先公布解決方法:第1步:<b>在windows 指令行下輸入C:\Users\andy&gt;set nls_date_format=yyyy-mm-dd hh24:mi:ss</b> 

第2步:重新C:\Documents and Settings\Administrator&gt;rman target sys/taixin@test

第3步:RMAN&gt;  recover database until time '2013-01-26 22:20:45';

最後大喜!!!!成功,

MAN&gt; 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&gt; 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-03002: recover 指令 (在 01/26/2013 22:27:42 上) 失敗

RA-01861: 文字與格式字元串不比對

MAN&gt; run{sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';

&gt;         sql 'alter session set NLS_LANGUAGE="AMERICAN"';

&gt; }

ql 語句: alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"

ql 語句: alter session set NLS_LANGUAGE="AMERICAN"

正在開始媒體的恢複

無法恢複媒體

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&gt; recover database until time '2013-01-26 22:20:45';

MAN-03002: recover 指令 (在 01/26/2013 22:30:43 上) 失敗

MAN&gt; recover database until time "to_date('2013-01-26 22:20:45','yyyy-mm-dd hh2

:mi:ss')";

MAN-03002: recover 指令 (在 01/26/2013 22:34:42 上) 失敗

MAN&gt;  run{sql 'alter session set NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"';

MAN-03002: recover 指令 (在 01/26/2013 22:36:42 上) 失敗

MAN&gt; recover database until time= '2013-01-26 22:20:45';

MAN-03002: recover 指令 (在 01/26/2013 22:36:52 上) 失敗

MAN&gt; 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

 4       Full 559392     26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS

1.DBF

0      Full    6.80M      DISK        00:00:02     26-1月 -13

       BP 關鍵字: 10   狀态: AVAILABLE  已壓縮: NO  标記: TAG20130126T215827

_NCSNF_TAG20130126T215827_8J7RB6CD_.BKP

 包括的控制檔案: Ckp SCN: 559417       Ckp 時間: 26-1月 -13

 包含的 SPFILE: 修改時間: 26-1月 -13

1      Full    557.09M    DISK        00:00:50     26-1月 -13

       BP 關鍵字: 11   狀态: AVAILABLE  已壓縮: NO  标記: TAG20130126T221814

_NNNDF_TAG20130126T221814_8J7SF6XG_.BKP

 備份集 11 中的資料檔案清單

 1       Full 560640     26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTE

 2       Full 560640     26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOT

 3       Full 560640     26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAU

 4       Full 560640     26-1月 -13 D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS

2      Full    6.80M      DISK        00:00:02     26-1月 -13

       BP 關鍵字: 12   狀态: AVAILABLE  已壓縮: NO  标記: TAG20130126T221814

_NCSNF_TAG20130126T221814_8J7SGZNO_.BKP

 包括的控制檔案: Ckp SCN: 560663       Ckp 時間: 26-1月 -13

MAN&gt; 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

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

MAN&gt; exit

恢複管理器完成。

:\Documents and Settings\Administrator&gt;set nls_date_format=yyyy-mm-dd hh24:mi:s

:\Documents and Settings\Administrator&gt;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&gt;  recover database until time '2013-0-26 22:20:45';

啟動 recover 于 2013-01-26 22:51:13

通道 ORA_DISK_1: sid=157 devtype=DISK

MAN-03002: recover 指令 (在 01/26/2013 22:51:14 上) 失敗

RA-01843: 無效的月份

MAN&gt;  recover database until time '2013-01-26 22:20:45';

啟動 recover 于 2013-01-26 22:51:36

媒體恢複完成, 用時: 00:00:00

完成 recover 于 2013-01-26 22:51:37

繼續閱讀