ホームページ  >  記事  >  データベース  >  RMAN恢复数据库ORA-01861错误

RMAN恢复数据库ORA-01861错误

WBOY
WBOYオリジナル
2016-06-07 17:15:401504ブラウズ

在一个新环境中恢复数据库备份。在数据文件还原阶段,就出现了错误。环境说明:Oracle 10.2.0.3 for solaris 10,备份数据库是RA

在一个新环境中恢复数据库备份。在数据文件还原阶段,就出现了错误。

环境说明:Oracle 10.2.0.3 for solaris 10,备份数据库是RAC,恢复则在单实例上进行。

操作出现过程如下:

第一步,将数据库恢复到某个时间点,恢复出错。

RMAN> run
2> {
3> allocate channel ch01 type disk;
4> allocate channel ch02 type disk;
5> set until time "to_date('2012-06-25 23:00:00','yyyy-mm-dd hh24:mi:ss')";
6> set newname for datafile 1 to '/stor2T/app/oracle/oradata/urpdb/system01.dbf';
7> set newname for datafile 2 to '/stor2T/app/oracle/oradata/urpdb/undotbs1.dbf';
8> restore datafile 1;
9> restore datafile 2;
10> switch datafile all;
11> release channel ch01;
12> release channel ch02;
13> }

using target database control file instead of recovery catalog
allocated channel: ch01
channel ch01: sid=155 devtype=DISK

allocated channel: ch02
channel ch02: sid=156 devtype=DISK

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 27-JUN-12

released channel: ch01
released channel: ch02
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 06/27/2012 16:09:51
ORA-01861: literal does not match format string

我想,这可能是时间格式问题,先回避它吧。

第二步,换成成UNTIL SCN去还原数据文件。

RMAN> run
2> {
3> allocate channel ch01 type disk;
4> allocate channel ch02 type disk;
5> set until scn 3054150330;
6> set newname for datafile 1 to '/stor2T/app/oracle/oradata/urpdb/system01.dbf';
7> restore datafile 1;
8> switch datafile all;
9> release channel ch01;
10> release channel ch02;
11> }

allocated channel: ch01
channel ch01: sid=155 devtype=DISK

allocated channel: ch02
channel ch02: sid=156 devtype=DISK

executing command: SET until clause

executing command: SET NEWNAME

Starting restore at 27-JUN-12

released channel: ch01
released channel: ch02
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 06/27/2012 16:12:38
ORA-01861: literal does not match format string

RMAN>

即使使用SCN也是报错。

第三步,检查备份结果集,也报错。

RMAN> list backupset summary;

using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of list command at 06/27/2012 16:29:18
ORA-01861: literal does not match format string

这下麻烦了。难道问题是出在环境变量上吗?

检查环境变量设置,和数据库初始化参数设置。

env|grep NLS_DATE_FORAMT

结果显示的已经是'yyyy-mm-dd hh24:mi:ss'格式了。

再查metalink,,发现有bug

 

linux

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。