ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-01861: literal does not match format string。

ORA-01861: literal does not match format string。

原创 Linux操作系统 作者:zerocool8888888 时间:2008-06-19 01:25:37 0 删除 编辑

〖环境(Environment)〗

    OS:solaris 9

    DB:oracle 10G

 

〖现象(Symptom)      〗

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

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;

sql 'alter session set nls_date_format="yyyy-mm-dd :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指定的格式相匹配。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13804621/viewspace-351810/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-04-10

  • 博文量
    73
  • 访问量
    932592