〖环境(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博客 ” ,链接:http://blog.itpub.net/13804621/viewspace-351810/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13804621/viewspace-351810/