linuxsir首页 LinuxSir.Org | Linux、BSD、Solaris、Unix | 开源传万世,因有我参与欢迎您!
网站首页 | 设为首页 | 加入收藏
您所在的位置:主页 > Linux数据库 >

Oracle DataGuard部署过程中可能遇到的问题及解决方法

时间:2019-06-11  来源:未知  作者:admin666

Oracle DataGuard部署过程中,如果操作不规范,可能遇到很多想不到的问题。有些问题是配置参数不到位,有些是操作不规范遗漏导致。

问题一

主库复制备库到备机时,rman远程登陆主库作为复制的目标库rman无法登陆备机备库,就是下面的命令执行报错:

rman target sys/oracle@dg_orclp auxiliary sys/oracle@dg_orcls

问题原始是从库的TNS配置不规范,缺少(UR=A),示例配置

DG_ORCLS =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.10.101.36)(PORT = 1521))
      (LOAD_BALANCE = off)
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME =DG_ORCLS)
      (UR=A)
    )
  )

问题二

主库复制备库到备机时,rman执行duplicat的时,duplicat过程执行报错ORA-17629 ORA-17627:

RMAN duplicate target database for standby from active database nofilenamecheck;
 Starting Duplicate Db at 2019-03-10 11:38:4
 allocated channel: ORA_AUX_DISK_1
 channel ORA_AUX_DISK_1: SID=1811 instance=orcl1 device type=DISK
 contents of Memory Script:
 {
    backup as copy reuse
    targetfile  '/oracle/app/oracle/product/11.2.0/dbs/orapworcl1' auxiliary format
  '/oracle/app/oracle/product/11.2.0/dbs/orapworcl1'  ;
 }

executing Memory Script
 Starting backup at 2019-03-10 11:38:43
 allocated channel: ORA_DISK_1
 channel ORA_DISK_1: SID=4533 instance=orcl1 device type=DISK
 RMAN-00571: ===========================================================
 RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
 RMAN-00571: ===========================================================
 RMAN-03002: failure of Duplicate Db command at 03/10/2019 11:38:45
 RMAN-05501: aborting duplication of target database
 RMAN-03015: error occurred in stored script Memory Script
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/10/2019 11:38:45
 ORA-17629: Cannot connect to the remote database server
 ORA-17627: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
 ORA-17629: Cannot connect to the remote database server
 RMAN

这个问题比较有趣,配置好TNS后,通过ttnsping和sqlplus sys/oracle@to_orcl as sysdba都正常,就是rman的dumplicat进行从库的复制时报错。该问题的原因是备库的TNS配置中的服务名和主库备库中的log_archive_config='dg_config=()'参数中配置的服务名不一致导致,或者是主库以alter system方式修改了log_archive_config='dg_config',数据库没有重启,因为log_archive_config参数是静态参数,需要重启数据库服务才能生效。   

问题三

在备机通过rman复制主库的时,rman复制过程报错:RMAN-03009 ORA-17628:

Starting backup at 2019-03-10 12:56:20
 using channel ORA_DISK_1
 channel ORA_DISK_1: starting datafile copy
 input datafile file number=00003 name=+DGSYSTEM/orcl/datafile/undotbs1.261.876856357
 output file name=+DGSYSTEM/orcl/datafile/undotbs1.340.1002545783 tag=TAG20190310T124734
 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:02:55
 channel ORA_DISK_1: starting datafile copy
 input datafile file number=00004 name=+DGSYSTEM/orcl/datafile/undotbs2.263.876856383
 RMAN-03009: failure of backup command on ORA_DISK_1 channel at 03/10/2019 12:59:21
 ORA-17628: Oracle error 19505 returned by remote Oracle server
 continuing other job steps, job failed will not be re-run

该问题十分严重,通过job failed will not be re-run可以得知,此次的DG复制完全失败了。此问题的原因是存放数据文件相关的ASM磁盘组空间耗尽导致的,因此,在DG主备库开始配置之前,一定要评估好备库的存储并规划好,避免这种因存储空间问题导致DG复制失败的发生。

问题四

DG备库复制完主库后,备库alert日志告警登陆主库被拒绝,主库告警日志提示登陆备库失败。

--备库告警日志
Thu Mar 14 06:51:40 2019
 RFS[252]: Assigned to RFS process 3408762
 RFS[252]: Opened log for thread 2 sequence 23863 dbid -2091533043 branch 876856333
 Thu Mar 14 06:51:42 2019
 2019-03-14 06:51:42 logon denied from 172.10.101.61 5964584 oracle with oracle@orcl01 (TNS V1-V3) C oracle@orcl01 (TNS V1-V3) ===username=
 Thu Mar 14 06:51:42 2019
 2019-03-14 06:51:42 logon denied from 172.10.101.61 13697046 oracle with oracle@orcl01 (TNS V1-V3) C oracle@orcl01 (TNS V1-V3) ===username=
 Thu Mar 14 06:51:43 2019
 2019-03-14 06:51:43 logon denied from 172.10.101.61 10486550 oracle with oracle@orcl01 (TNS V1-V3) C oracle@orcl01 (TNS V1-V3) ===username=
 Thu Mar 14 06:51:43 2019
 2019-03-14 06:51:43 logon denied from 172.10.101.61 7274758 oracle with oracle@orcl01 (TNS V1-V3) C oracle@orcl01 (TNS V1-V3) ===username=
 Thu Mar 14 06:51:43 2019
 2019-03-14 06:51:43 logon denied from 172.10.101.61 14156172 oracle with oracle@orcl01 (TNS V1-V3) C oracle@orcl01 (TNS V1-V3) ===username=

--主库告警日志
Thu Mar 14 09:13:45 2019
 Error 1017 received logging on to the standby
 ------------------------------------------------------------
 Check that the primary and standby are using a password file
 and remote_login_passwordfile is set to SHARED or EXCLUSIVE,
 and that the SYS password is same in the password files.
 returning error ORA-16191
 Error 16191 for archive log file 3 to 'TO_standby'
 Thu Mar 14 15:49:10 2019
 Archived Log entry 203881 added for thread 2 sequence 59940 ID 0x53e28673 dest 1:
 Errors in file /oracle/app/oracle/diag/rdbms/orcl/orcl2/trace/orcl2_nsa2_2753334.trc:
 ORA-16191: Primary log shipping client not logged on standby
 Thu Mar 14 15:49:10 2019
 ARCb: Archival destination is a Primary RAC instance: 'TO_standby'

该问题十分严重,会导致备库同步进程抓取归档日志失败。但是,导致该问题的原因是主备库的sys密码文件不一致导致,可能是搭建过程中有人修改了sys密码,处理该问题的方法比较简单,从集群主库任意节点同步sys密码文件即可。

问题五

另外,在DG搭建过程中,可能遇到grid或者oracle通过lsnrctl查看监听状态的时候看到很多服务名,其中有很多l类似:

SYS$SYS.KUPC$C_1_20170318000713.ORCL,sys登陆sqlplus,show parameter service可以发现:
NAME                                TYPE        VALUE
 ------------------------------------ ----------- ------------------------------
 service_names                        string      SYS$SYS.KUPC$C_1_20170318000713.orcl.US.ORACLE.COM,   
                                                SYS$SYS.KUPC$C_1_20170405000711.orcl.US.ORACLE.COM,
                                                  SYS$SYS.KUPC$S_1_20170314000710.ORCL,
                                                  SYS$SYS.KUPC$S_1_20170318000713.ORCL,                                                 
                                                  SYS$SYS.KUPC$S_1_20170323000707.ORCL,
                                                  SYS$SYS.KUPC$S_1_20170331000709.ORCL,
                                                  SYS$SYS.KUPC$S_1_20170403000701.ORCL,
                                                  SYS$SYS.KUPC$S_1_20170405000711.ORCL,
                                                  SYS$SYS.KUPC$C_1_20170314000710.ORCL......

导致该问题的原因是expdp或者impdp被异常终端导致,可以重置service_names或者重启数据库服务加以解决。

更多Oracle相关信息见Oracle 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=12

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

友情链接
  • 适用于Windows 10的Microsoft Edge Dev 76.0.172.0已发布
  • 程序员人脸识别成人视频中的女性引发争议
  • 安装Oracle 11g RAC时报Failed to run “oifcfg” 和 找不到集群
  • Unity Tech正式宣布推出适用于Linux的新Unity编辑器
  • Oracle插入数据时出现 ORA
  • Phoronix Test Suite 8.8.1 发布
  • MySQL中使用group
  • X.Org Server 1.20.5 发布,一些XWayland和GLAMOR修复
  • MySQL中group by 与 order by 一起使用排序问题
  • Fedora 31考虑使用Zstd压缩其RPM包而不是XZ
  • PostgreSQL数据库安装部署
  • Google Chrome 成为互联网的看门人
  • Redis中Scan命令的使用
  • 华为Mate 20 Pro重回Android Q Beta支持名单中
  • TypeScript 3.5 发布,新增Omit 辅助类型
  • Redis集群模式下的redis
  • PyPI宣布2FA用于提高Python包下载安全性
  • MuseScore 3.1 发布,音乐制谱软件
  • openSUSE Leap 42.3 Linux操作系统将于2019年6月30日停止支持
  • Linux新闻 第974页
  • 美国司法部正计划对谷歌进行反垄断调查
  • 超六成Windows 10用户运行着一年前的版本
  • Linux里如何配置本地yum源和外网源
  • MySQL中group by 与 order by 一起使用排序问题
  • yum更换国内源及yum下载rpm包
  • MySQL中使用group_concat遇到的问题及解决
  • Linux 定时任务 Crontab
  • Oracle插入数据时出现 ORA-00001: unique constraint
  • Yii2 的安装及简单使用
  • SpringBoot配置加载顺序
  • git merge的使用
  • 编写shell脚本自动生成开头注释简介
  • JDK动态代理在RPC框架中的应用
  • 将Fedora 29升级到Fedora 30
  • Linux touch命令详述
  • Java实现对图片透明化处理
  • 如何在Ubuntu 18.04,19.04中安装uGet 2.2.2
  • ACL权限设置命令setfacl和getfacl命令
  • Nginx+Tomcat8+Memcached实现负载均衡及session共享
  • Redis集群模式下的redis-py-cluster方式读写测试
  • Linux命令 - facl文件系统的访问控制列表详解
  • 在Linux系统中创建SSH服务器别名
  • Redis中Scan命令的使用
  • Apache Camel XML外部实体注入漏洞(CVE-2019-0188)
  • shell脚本里使用echo输出颜色
  • PostgreSQL数据库安装部署
  • Apache Hadoop远程权限提升漏洞(CVE-2018-8029)
  • Google Chrome成为互联网的看门人
  • 欧洲杯直播频道
  • 彩票平台
  • 澳门银河国际网站
  • 28评测网
  • 新利棋牌
  • 中国娱乐场