1.故障现象
使用 rman duplicate 来进行standby database的创建:
FQ 1:
C:\Users\Administrator> rman target sys/admin123@primary auxiliary sys/admin123@standby nocatalog
恢复管理器: Release 19.0.0.0.0 - Production on 星期二 5月 28 17:20:48 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.
已连接到目标数据库: ORCL (DBID=1696997271)
使用目标数据库控制文件替代恢复目录
已连接到辅助数据库: ORCL (未装载)
RMAN> duplicate target database for standby from active database nofilenamecheck;
从位于 28-5月 -24 的 Duplicate Db 开始
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=379 设备类型=DISK
内存脚本的内容:
{
backup as copy reuse
passwordfile auxiliary format 'D:\app\Administrator\oracle\product\19.3.0\db_home\DATABASE\PWDorcl.ORA' ;
}
正在执行内存脚本
从位于 28-5月 -24 的 backup 开始
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=267 设备类型=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: 位于 05/28/2024 17:21:45 的 Duplicate Db 命令失败
RMAN-05501: 终止复制目标数据库
RMAN-03015: 在存储的脚本Memory Script中出现错误
RMAN-03009: 位于 05/28/2024 17:21:45 的 ORA_DISK_1 通道上的 backup 命令失败
ORA-17627: ORA-01017: 用户名/口令无效; 登录被拒绝
ORA-17629: 无法连接到远程数据库服务器
RMAN> exit
FQ 2:
RMAN> duplicate target database for standby from active database nofilenamecheck;
从位于 28-5月 -24 的 Duplicate Db 开始
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=135 设备类型=DISK
内存脚本的内容:
{
backup as copy reuse
passwordfile auxiliary format 'D:\app\Administrator\oracle\product\19.3.0\db_home\DATABASE\PWDorcl.ORA' ;
}
正在执行内存脚本
从位于 28-5月 -24 的 backup 开始
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=267 设备类型=DISK
在 28-5月 -24 完成了 backup
RMAN-05159: 正在将 Online logs 复制到 Oracle Managed File (OMF) 位置
内存脚本的内容:
{
restore clone from service 'primary' standby controlfile;
}
正在执行内存脚本
从位于 28-5月 -24 的 restore 开始
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_1: 正在使用来自服务 primary 的网络备份集
通道 ORA_AUX_DISK_1: 正在还原控制文件
通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:03
输出文件名=D:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL
输出文件名=D:\APP\ADMINISTRATOR\FAST_RECOVERY_AREA\ORCL\CONTROL02.CTL
在 28-5月 -24 完成了 restore
内存脚本的内容:
{
sql clone 'alter database mount standby database';
}
正在执行内存脚本
sql 语句: alter database mount standby database
RMAN-05158: 警告:辅助 (datafile) 文件名 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF 与目标数据库使用的文件冲突
RMAN-05158: 警告:辅助 (datafile) 文件名 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF 与目标数据库使用的文件冲突
RMAN-05158: 警告:辅助 (datafile) 文件名 D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF 与目标数据库使用的文件冲突
RMAN-05158: 警告:辅助 (datafile) 文件名 D:\TCT_ORADATA\ATS\ATS.DBF 与目标数据库使用的文件冲突
RMAN-05158: 警告:辅助 (datafile) 文件名 D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF 与目标数据库使用的文件冲突
RMAN-05158: 警告:辅助 (tempfile) 文件名 D:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF 与目标数据库使用的文件冲突
内存脚本的内容:
{
set newname for tempfile 1 to
"D:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF";
switch clone tempfile all;
set newname for datafile 1 to
"D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF";
set newname for datafile 3 to
"D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF";
set newname for datafile 4 to
"D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF";
set newname for datafile 5 to
"D:\TCT_ORADATA\ATS\ATS.DBF";
set newname for datafile 7 to
"D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF";
restore
from nonsparse from service
'primary' clone database
;
sql 'alter system archive log current';
}
正在执行内存脚本
正在执行命令: SET NEWNAME
控制文件中的临时文件 1 已重命名为 D:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBF
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
正在执行命令: SET NEWNAME
从位于 28-5月 -24 的 restore 开始
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_1: 正在使用来自服务 primary 的网络备份集
通道 ORA_AUX_DISK_1: 正在指定从备份集还原的数据文件
通道 ORA_AUX_DISK_1: 将数据文件 00001 还原到 D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: 位于 05/28/2024 17:24:33 的 Duplicate Db 命令失败
RMAN-05501: 终止复制目标数据库
RMAN-03015: 在存储的脚本Memory Script中出现错误
ORA-19845: 与远程数据库服务器通信时 backupDataFile 中出错
ORA-17628: 远程 Oracle 服务器返回了 Oracle 错误 19602
ORA-19602: 无法按 NOARCHIVELOG 模式备份或复制活动文件
ORA-19660: 无法验证备份集中的某些文件
ORA-19661: 无法验证数据文件 1
ORA-19845: 与远程数据库服务器通信时 backupDataFile 中出错
ORA-17628: 远程 Oracle 服务器返回了 Oracle 错误 19602
ORA-19602: 无法按 NOARCHIVELOG 模式备份或复制活动文件
RMAN>
2.问题分析
FQ 1:
sys 用户的用户名密码错误。
FQ 2:
使用非存档模式在RMAN下备份数据文件,遇到ORA-19602错误。
3.解决方法
- mount状态下备份
- 归档模式下备份
4.解决过程
FQ 2 解决方法:
When shutdown the Oracle, it was not shutdown properly,
SQL> shutdown immediate;
Here it hanged, I guess it write someting to the datafile, as it was not shutdown properly, some of the writing to datafile operation was not properly recorded.
Solution: Completedly shutdown the Oracle properly and startup Oracle properly.
Here I was using startup mount, as I was doing backup under non archive mode.
under non archive mode.
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 15
当前日志序列 17
SQL>
Stop the Oracle normally and startup as mount,
SQL> startup mount;
Successful result was as below:
$ rman target /
RMAN> backup database;
5.参考文档
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




