这是一篇实际操作过程中的报错汇总及一些解决问题的方法(DG搭建、RAC搭建、RMAN恢复、EX/IMPDP)

本文总结了DG(数据_guard)在搭建过程中遇到的ORACLE错误,如OR-17629、OR-19505,以及RMAN备份恢复中的catalog问题、OR-01511/16等。涵盖了duplicate命令、RMAN操作、数据同步和登录权限的处理。


前言

实际操作过程中会遇到很多问题,在解决问题的过程中会发现有些问题是自己的操作方法有误,有的可能是oracle本身的问题,有些还无法求证是什么原因,在这里把目前出现的问题和解决方法记录一下。


一、DG搭建(主要是duplicate)

1.duplicate报错ORA-17629、ORA-17627、ORA-17629

在这里插入图片描述
问题描述:主库是RAC双节点,我是在节点一上操作的,一切配置都在节点一上。配置完成后主库和备库可以联通rman target auxiliary成功后,执行duplicate报错。

解决方法:如果主库环境是RAC,在配置主库tns的时候两个节点都要做相同tns配置,可以在节点一上配置成功,主备互相tnsping通之后,再把节点一的tns配置复制到节点二,节点二与备库tnsping通即可。

问题原因:未知

2.duplicate报错ORA-19505、ORA-27037

在这里插入图片描述
问题描述:主库是RAC双节点,我是在节点一上操作的,一切配置都在节点一上。配置完成后主库和备库可以联通rman target auxiliary成功后,执行duplicate报错。报错提示$ORACLE_HOME/dbs路径下没有节点二orapehis432密码文件,我是从节点一duplicate的,为什么会要节点二的密码文件。
解决方法:将节点一的orapwhis43一复制一份重命名成orapehis432后,重新开始duplicate即可。
问题原因:未知

3.DG不同步ORA-16191: Primary log shipping client not logged on standby

问题描述:duplicate备库数据复制完成,配置备库与主库同步的时候,主库v$archive_dest报错
解决方法
问题原因
1.主备库log_archive_dest_2参数配置问题。
2.主备库fal_server和fal_client参数配置问题。
2.看一下主备库密码文件的用户和权限。如果rman连不上备库就用orapwd重置一下密码文件

4.配置DG环境,主备库tnsping不通

问题描述
解决方法
问题原因
1.主备库防火墙没关。
2.主要会出问题的一般是主备库的tns和监听,配置的时候一定要仔细,备库配置完记得重启监听。

5.duplicate报RMAN-05001路径冲突错误

问题描述
解决方法:duplicate加上nofilenamecheck参数。
问题原因:主备库的文件目录相同,导致文件名冲突。

6.duplicate成功但是复制到备库的文件名不对

问题描述:例如:复制到备库后正确的文件名应该是/u01/oradata/oracle/KYEECIS.DBF 但实际却变成了/u01/oradata/oracleKYEECIS.DBF
解决方法:db_file_name_convert参数备库数据文件路径oracle后面要加/
问题原因:db_file_name_convert参数文件路径要写完整D:\APP\ADMINISTRATOR\ORADATA\ORACLE, /u01/oradata/oracle/ 不能写成D:\APP\ADMINISTRATOR\ORADATA\ORACLE, /u01/oradata/oracle
提示:不管是windows还是linux,数据文件路径要从v$datafile里面去看,不要想当然。

7.duplicate数据文件复制结束,但是有报错RMAN-06136: ORACLE error from auxiliary database: ORA-03113: end-of-file on communication channel

问题描述:RAC到单节点duplicate复制数据库
解决方法:修改log_file_name_convert参数路径。
问题原因:log_file_name_convert参数配置有误,主库是RAC环境,所以主库的redolog是在asm中,修改log_file_name_convert参数路径。

8.duplicate数据文件复制结束后无法open数据库,提示需要恢复。

在这里插入图片描述
问题描述:这个问题完全就是因为我操作有误造成的,用户只是要一个测试库,不用搭建DG,然而我是用duplicate的时候使用了duplicate target database for standby from active database;命令,把测试库做成了一个备库。所以在上面的图中,我在将主库的归档拷贝过来的情况下,不能直接recover。还是只能用备库的应用日志命令,并且在这之前还要加一个standby redolog。
解决方法:使用duplicate target database to dbcs from active database;命令搭建测试库。
问题原因:我是大**

9.RMAN连接从库报错ORA-01031

在这里插入图片描述
问题描述:从主库连接从库报错,连接之前已经将主库的密码文件复制到从库了,但是还是报错。
解决方法:然后从库用orapwd重写一个密码文件就可以了
问题原因:未知

10.RMAN连接从库报错ORA-01017用户名口令无效登录被拒绝

在这里插入图片描述
在这里插入图片描述
问题描述:主库rman连接从库,提示从库用户名密码错误,各种找原因,主库复制密码文件到从库、orapwd修改从库密码都无效
解决方法:尝试在从库上就行主库和从库的rman连接,虽然rman可以连接主库和从库,但是执行duplicate的时候提示找不到从库的密码文件,这就很奇怪。
问题原因:原来是因为主库是linux备库是windows,密码文件复制到从库改过密码文件名后要加上.ora的文件后缀名。。。。。

在这里插入图片描述
问题描述:windows 11.2.0.1主库duplicate到linux 11.2.0.4报错
解决方法:备库只能使用rman备份恢复搭建,不能使用duplicate
问题原因:RMAN Duplicate Database from Active Primary fails with Ora-17627: Ora-12577: Message 12577 Not Found; Product=Rdbms; Facility=Ora (文档 ID 1344615.1)可能是不一致的word size导致的:

问题描述
解决方法
问题原因

问题描述
解决方法
问题原因

问题描述
解决方法
问题原因

二、RMAN

1.catalog备份集报找不到文件

在这里插入图片描述
问题描述:备份集在根目录下的/backup中,备份集我也确实从主库拷贝过来了,backup文件夹和里面的备份文件都给了oracle:oinstall权限,我甚至给了777权限,还是没用。
解决方法:然而我把backup中的文件全都移动到/u01/bak目录下就可以注册了。
问题原因:未知,可能是权限问题吧。

2.rman恢复结束报ORA-01511、ORA-01516

ORA-00392、ORA-00312
在这里插入图片描述
问题描述:源库是windows系统,目标库是linux系统,open resetlogs目标库报错
解决方法:恢复之前提前设置log_file_name_convert参数,或者恢复之后重新rename一下redolog name
问题原因

在这里插入图片描述
问题描述:接上一个报错,rename之后open resetlogs还是打不开
解决方法:alter database clear logfile group 3;载重新尝试open resetlogs
问题原因

注:如果源库是RAC环境,redolog在asm中路径是+data的话,尝试上面的方法都不可行的话,可以尝试一下重建控制文件,在控制文件中重新写redolog。

ORA-00349

在这里插入图片描述
问题描述:这个报错出现在linux rac到linux单机的恢复过程中,在执行过recover database using backup controlfile until cancel;后resetlogs打不开数据库,发现日志组路径不对。
解决方法:重建控制文件
问题原因:可能是recover的时候有问题,具体原因还不知道。

ORA-38856
在这里插入图片描述
问题描述:rac到单节点恢复,重建控制文件后,无法resetlogs
解决方法:alter system set “_no_recovery_through_resetlogs”=true scope=spfile; 重新resetlogs
问题原因

问题描述
解决方法
问题原因

问题描述
解决方法
问题原因

三、DG

1.主库归档无法传输到备库,但是主备库connect又可以连接,主库查归档传输报错ORA-01033

在这里插入图片描述
在这里插入图片描述
问题描述:linux,11.2.0.3,DG备库可以打开,但是主库归档无法传输到备库
解决方法:密码文件,一开始用的是节点一的密码文件报错,然后换了节点二的密码文件就好了,很神奇
问题原因:未知,有时候密码的问题就是很神奇,替换了密码文件不行,orapwd就行,

2.ORA-16057、ORA-12514

先报错:
SQL> select error from v$archive_dest where dest_id=3;

ERROR
-----------------------------------------------------------------
ORA-16057: server not in Data Guard configuration

后报错:
ORA-12514: TNS:listener does not currently know of service
requested in connect descriptor

问题描述:原环境是一个RAC主库带两个单机DG备库,后将RAC主库用DG切到其中一台单节点备库上运行,切换完成后需要将原RAC主库和另外一台单机DG转换成新主库的DG。因为RAC在切换之前就做好配置了所以很顺利的转成了备库数据同步也正常。但是另外一台单机DG转换成新单机主库的第二台备库时出现了以上报错。
解决方法:第一个报错一开始以为是log_archive_config的配置问题但是三个库的配置都是一样的,单机备库实例也重启过也没用,然后重置一下log_archive_dest_state_3='enable’就行了。第二个报错reload 一下dg监听就行了。
问题原因

2.ORA-12528:主库是RAC备库是单机做了主备库切换后,新rac备库无法与新单机主库同步数据

SQL> select error from v$archive_dest where dest_id=2;
error
-----------------------------------------------------------------
ORA-12528: TNS:listener: all appropriate instances are blocking new connections

问题描述:rac切换到单机备库后,新rac备库无法与新单机主库同步数据tnsping互相都通。
解决方法:新rac备库两个节点用oracle加个本地监听,配置静态监听
问题原因

3.ORA-19563: header validation failed for file

在这里插入图片描述
问题描述:用duplicate从linux到windows复制数据库,文件复制结束报错
解决方法:修改主库数据文件名,防止传输到windows后出现同名文件
问题原因:linux到windows数据文件名会从小写转换为大写,导致数据文件传输到windows后出现同名数据文件。

3.ORA-00604、ORA-16000、ORA-06512、ORA-16191


在这里插入图片描述
在这里插入图片描述

问题描述:DG参数配置正确、密码文件也都替换过,但是DG始终不同步,归档文件无法传输到备库。
解决方法:ALTER SYSTEM SET “_system_trig_enabled”=FALSE;
问题原因:数据库里有个系统级别的触发器,该触发器的功能是当数据库有用户登录就往数据库中的登录历史记录表插入用户登录信息,但是备库是只读库,要传输文件主备库就必须产生连接,就有登录行为,就要往数据库里写数据,但是数据库写不进去,就会有这种报错,将触发器禁用就行了,这里是将所有触发器禁用了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值