真实案例:Oracle数据库恢复ORA-01861问题

php中文网
发布: 2016-06-07 17:15:40
原创
1975人浏览过

Oracle 数据库WEBDB 在新的服务器环境进行备份的异地恢复测试,在执行到还原数据文件时出现ldquo;ORA-01861: literal does not

Oracle 数据库WEBDB 在新的服务器环境进行备份的异地恢复测试,在执行到还原数据文件时出现“ORA-01861: literal does not match format string ”的错误。

该错误不是NLS_DATE_FORMAT 参数设置不正确导致的,而是一个Oracle bug 导致的。在该错误的解决过程中,我们没有采用官方推荐的重建控制文件的解决方法,而是使用自己的解决方法,将老备份集完全删除再注册进新备份集。

生产数据库是10.2.0.3  ,RAC 集群,ASM 存储,测试数据库为单实例,文件系统存储。

这个bug 不会影响到生产库的正常的备份和恢复操作。

1.  问题

在还原数据文件时,出现ORA-01861 错误,文件无法还原,导致备份恢复工作停止。

整个还原过程操作如下:

1 、在sqlplus 中启动实例到nomount 状态;

2 、在rman 中还原控制文件;

restore controlfile from ‘/backup/ctl.xxx’;

3 、启动实例到mounted 状态

sql ‘alter database mount’;

4 、注册备份集

catalog start with ‘/backup/’;

因为生产库的备份集所在目录和测试库的备份集所在目录不一样,所以使用catalog 将新位置注册进控制文件中。

5 、还原所有数据文件,并重命名。

这里测试还原第一个数据文件,文件位置从ASM 修改文件系统目录。

run
{
allocate channel ch01 type disk;
set until time "to_date('2012-06-25 23:00:00','yyyy-mm-dd hh24:mi:ss')";

set newname for datafile 1 to '/stor2T/app/oracle/oradata/WEBDB/system01.dbf';
restore datafile 1;
switch datafile all;
release channel ch01;
}


在这一步操作时,出现如下错误:


RMAN-03002: failure of restore command at 06/27/2012 16:09:51

ORA-01861: literal does not match format string

 


备份恢复测试工作因此而中止。

从错误信息看,这个应该是NLS_DATE_FORMAT 的格式设置的不对,set until time 的格式有问题。

于是,我们换成set until scn 进行数据文件的还原,还原操作的脚步如下是这样。

run
{
allocate channel ch01 type disk;
set until scn 3054150330;

set newname for datafile 1 to '/stor2T/app/oracle/oradata/WEBDB/system01.dbf';
restore datafile 1;
switch datafile all;
release channel ch01;
}

 


但是,还是报ORA-01861 错误。

甚至执行列出所有备份集时都出现这个错误。


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

从这个现象看,这个问题已经不是一个参数设置不正确那么简单了。

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号