朋友搭建的一套DG,折腾了很长时间,一直都是报如下错误:

ORA-12514: TNS:listener does not currentlyknow of service requested in connect descriptor

PING[ARC2]: Heartbeat failed to connect tostandby 'PD'. Error is 12514.

这个错误最常见的原因,静态注册,再就是DG 参数的问题。

但这里参数,我也瞅了半天,并没有问题:

SQL> show parameter dest_2

NAME                                 TYPE        VALUE

----------------------------------------------- ------------------------------

db_create_online_log_dest_2          string

log_archive_dest_2                   string      SERVICE=PD VALID_FOR=(ONLINE_L

OGFILE,PRIMARY_ROLE) DB_UNIQUE

_NAME=PD

期间还让朋友做了很多的测试,包括重建口令文件,把DG 可能出现的问题,都想了一遍,还是有问题。

查看相关的进程:备库没有RFS进程,主库没有LNS进程。

SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;

PROCESS  STATUS          THREAD#  SEQUENCE#    BLOCK#     BLOCKS

--------- ------------ -------------------- ---------- ----------

ARCH     CONNECTED             0          0          0          0

ARCH     CONNECTED             0          0          0          0

ARCH     CONNECTED             0          0          0          0

ARCH     CONNECTED             0          0          0          0

后来让朋友再次tnsping PD看看,其实这个测试,在最开始的时候,我就已经让朋友测试过了。

tnsping 是正常的,也就是说,测试网络是通的,listener是正常的。 这个也是我们的tnsping 能干的工作,但是tnsping 不能检查tnsnames.ora 文件里的service_name或sid是否正确,所以也让朋友贴了这2个文件。

并用sqlplus 连接了这个配置,也正常。

问题看上去变得非常奇葩,因为DG本身就没几个参数,把我能想到的,问题都想了一遍,还有不通,后来看到朋友写的测试结果:

[oracle@DB11g_ST trace]$ tnsping PD

TNS Ping Utility for Linux: Version 11.2.0.1.0 - Production on 31-JUL-2013 16:11:18

Copyright (c) 1997, 2009, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DB11g)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))

OK (10 msec)

对这里的HOST 产生了兴趣,之前怀疑过防火墙的问题,但防火墙是关闭的,所以让朋友把这里改成IP地址,居然OK了。

SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;

PROCESS  STATUS          THREAD#  SEQUENCE#    BLOCK#     BLOCKS

--------- ------------ -------------------- ---------- ----------

ARCH     CONNECTED             0          0          0          0

ARCH     CLOSING               1        156       2049       1600

ARCH     CONNECTED             0          0          0          0

ARCH     CONNECTED             0          0          0          0

RFS      IDLE                  0          0          0          0

RFS      IDLE                  0          0          0          0

RFS      IDLE                  0          0          0          0

RFS      IDLE                  1        157         27          1

这次查询,RFS进程也出现了。

朋友主备库的/etc/hosts 文件是直接复制过去的。 如下:

[root@DB11g_ST ~]# more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               DB11g localhost.localdomain localhost

192.168.0.89            DB11g_ST

192.168.0.88            DB11g

问题就出在这里,DB11g 这里有个回环地址:127.0.0.1。 后来朋友把这个注释掉,使用别名测试,也正常了。

在这个问题里面,饶了很大的一个圈子,之前我们一直围绕在数据库方面的思考,思考数据库方面的哪些配置会导致这个问题。 直到最终发现问题的根源,是/etc/hosts的配置导致的。

昨天另一个朋友,也和我讲了另一个事情,他们有个物化视图,一直无法刷新,表才2G,也不算太大。 但就是刷新不了。 后来也是研究了很长的时间,最后定位出来是防火墙问题,里面有禁止大包的传送,把两边防火墙这个规则去掉就好了。

由这个故障的处理过程,我们要反思的是,在我们处理故障时候,不要总是局限在数据库这个层面,可能其他的配置,也会导致这个问题。在故障处理过程中,要想起拓展我们的思维,不要在自己的小巷思维里饶的太久了。

--------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

QQ:      251097186

Skype:    tianlesoftware

Email:    tianlesoftware@gmail.com

Blog:     http://blog.csdn.net/tianlesoftware

Weibo:    http://weibo.com/tianlesoftware

Twitter:  http://twitter.com/tianlesoftware

Facebook: http://www.facebook.com/tianlesoftware

Linkedin: http://cn.linkedin.com/in/tianlesoftware

Oracle Data Guard PING[ARC2]: Heartbeat failed to connect to standby ''. Error is 12514 故障分析的更多相关文章

  1. PING[ARC2]: Heartbeat failed to connect to standby 'gqtzdb_dg'. Error is 16047

    Data Guard搭建完毕之后,执行开启归档路径2,结果发现不同步, SQL> alter system set log_archive_dest_state_2=enable; 查看错误日志 ...

  2. windows,oracle,dg报错:ORA-12528,ORA-12154,ORA-10456 ,PING[ARC1]: Heartbeat failed to connect to standby 'orclbk'. Error is 12154

    windows,oracle,dg报错:ORA-12528,ORA-12154,ORA-10456 最近有需求在windows的2台oracle服务器上搭建dg,在过程中遇到了一些错误,跟在linux ...

  3. Oracle data guard 10g 搭建

    Oracle data guard 10g 搭建 1系统常规参数检查 硬盘 [root@localhost ~]# df -h 内核 [root@localhost ~]# uname -a [roo ...

  4. 【原】Configuring Oracle Data Guard In Physical Standby Database

    作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...

  5. Oracle Data Guard的配置

    概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...

  6. Oracle Data Guard

    DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...

  7. (转)Oracle Data Guard学习

    一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...

  8. Oracle Data Guard配置

    Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1   测试环境 主数据库:windo ...

  9. Oracle Data Guard 重要配置参数

    Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务.对于Oracle DG的配 ...

随机推荐

  1. SRM 585 DIV1 L2

    记录dp(i, j)表示前i种卡片的排列,使得LISNumber为j的方法数. #include <iostream> #include <vector> #include & ...

  2. Python之模块篇

    简介 你已经学习了如何在你的程序中定义一次函数而重用代码.如果你想要在其他程序中重用很多函数,那么你该如何编写程序呢?你可能已经猜到了,答案是使用模块.模块基本上就是一个包含了所有你定义的函数和变量的 ...

  3. C# 模拟POST提交文件

    http://blog.csdn.net/hellowjwang/article/details/19975635 public class HttpPost { /// <summary> ...

  4. php 23种设计模式的趣味解释

    http://wenku.baidu.com/link?url=GwvuvSOdJneZQc-DSKoGmPcxTtzn3cdtIp3fRaCNbkg1zJDZZZTx2NwEK5IsqU996fG3 ...

  5. C#中this在构造函数时的使用

    今天编程的时候,想要用this来处理构造函数,想了半天没有想起来 后来找了自己以前记录的 http://www.cnblogs.com/chucklu/p/4842766.html public Cu ...

  6. 从Excel表格导入数据到数据库

    数据库:SQL 1.小数据直接粘贴 2.用导入向导 3.用SSIS包 4.用SQL语句 现在详细说一下第4种方法,以.xlsx文件为例 .xlsx文件需要用provider“Microsoft.ACE ...

  7. LeetCode Lowest Common Ancestor of a Binary Search Tree (LCA最近公共祖先)

    题意: 给一棵二叉排序树,找p和q的LCA. 思路: 给的是BST(无相同节点),那么每个节点肯定大于左子树中的最大,小于右子树种的最小.根据这个特性,找LCA就简单多了. 分三种情况: (1)p和q ...

  8. 【聚类算法】谱聚类(Spectral Clustering)

    目录: 1.问题描述 2.问题转化 3.划分准则 4.总结 1.问题描述 谱聚类(Spectral Clustering, SC)是一种基于图论的聚类方法——将带权无向图划分为两个或两个以上的最优子图 ...

  9. 【转】iOS 宏(define)与常量(const)的正确使用-- 不错

    原文网址:http://www.jianshu.com/p/f83335e036b5 在iOS开发中,经常用到宏定义,或用const修饰一些数据类型,经常有开发者不知怎么正确使用,导致项目中乱用宏与c ...

  10. 数组中所有重复次数大于等于minTimes的数字

    class Program { static void Main(string[] args) { int[] input = { 1, 1, 1, 2, 2, 5, 2, 4, 9, 9, 20 } ...