您的位置:首页 > 数据库 > Oracle

Oracle异常ORA-01861: literal does not match format string。

2008-08-28 18:06 591 查看
 
〖现象(Symptom)     〗<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

执行下面的脚本,提示日期格式不匹配。

RMAN> run

2> {

3> allocate channel c1 type disk;

4> SET UNTIL TIME '2006-11-2 14:20:00';

5> release channel c1;

6> }

 

allocated channel:c1

channel c1:sid=158 devtype=DISK

executing command:SET until clause

。。。

RMAN-03002:failure of set command at 11/02/2006 14:33:52

ORA-01861:literal does not match format string

 

〖原理(Cause  

   备份脚本中指定的日期格式不匹配。

 

〖方法(Action) 〗

u      方法一:使用TO_DATE()函数。
把上面的脚本改成:
run
{
allocate channel c1 type disk;
SET UNTIL TIME "TO_DATE('2006-11-2 14:20:00', 'YYYY-MM-DD HH24:MI:SS')";

release channel c1;
}
 

u      方法二:设置会话(session)的日期格式。
把上面的脚本改成:
run
{
allocate channel c1 type disk;
[b]sql 'alter session set nls_date_format="yyyy-mm-dd[/b]:hh24:mi:ss"';

SET UNTIL TIME '2006-11-2 14:20:00';
release channel c1;
}
在执行SET UNTIL TIME以前,首先使用alter session set nls_date_format命令设置日期的格式。SET UNTIL TIME指定的日期格式必须与nls_date_format指定的格式相匹配。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐