service_names配置不正确,导致dg创建失败

伙伴发来消息,创建dg后,主备一直无法进行日志同步。

以下是查看过程

备库的alert日志:

2018-11-13T17:47:36.231294+08:00
Errors in file /d12/app/oracle/diag/rdbms/orcls/test/trace/test_m000_20088.trc:
ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf'
2018-11-13T17:47:36.311896+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcls/test/trace/test_m000_20088.trc:
ORA-01110: data file 3: '/u01/app/oracle/oradata/orcl/sysaux01.dbf'
2018-11-13T17:47:36.394797+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcls/test/trace/test_m000_20088.trc:
ORA-01110: data file 4: '/u01/app/oracle/oradata/orcl/undotbs01.dbf'
2018-11-13T17:47:36.480646+08:00
Errors in file /u01/app/oracle/diag/rdbms/orcls/test/trace/test_m000_20088.trc:
ORA-01110: data file 7: '/u01/app/oracle/oradata/orcl/users01.dbf'
2018-11-13T17:47:40.958801+08:00
Started logmerger process
2018-11-13T17:47:40.979088+08:00
Managed Standby Recovery starting Real Time Apply
2018-11-13T17:47:41.067310+08:00
Parallel Media Recovery started with 4 slaves
2018-11-13T17:47:41.140323+08:00
Media Recovery Waiting for thread 1 sequence 49
Fetching gap sequence in thread 1, gap sequence 49-49
2018-11-13T17:47:41.938608+08:00
Completed: alter database recover managed standby database disconnect from session

可以看到在执行alter database recover managed standby database disconnect from session后,备库就一致hang在那里了。

standby库查看:

SQL>  select client_process, process, thread#, sequence#, status from v$managed_standby where client_process='LGWR' or process='MRP0';

CLIENT_P PROCESS      THREAD#  SEQUENCE# STATUS
-------- --------- ---------- ---------- ------------
N/A MRP0 1 49 WAIT_FOR_GAP SQL>

也可以看出,日志没有进行传输。

然后在primary库查看:

SQL>  select error from v$archive_dest;

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

查看显示tns有问题!
就让其测试tnsping的结果。结果显示都是通的。

继续查看主备的tnsnames.ora文件(二者配置相同):

$ more tnsnames.ora
#primary
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) #standby
ORCLS =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.20.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

可以看到primary库的service_name是orcl,standby库的service_name也是orcl。

这里就有问题了。因为默认service_names=DB_UNIQUE_NAME.DB_DOMAIN。一般在测试的时候是不设置db_domain的值的,service_names值就设置成了DB_UNIQUE_NAME。但是primary和standby是不可以具有相同的DB_UNIQUE_NAME的,因此这里standby的service_name就有问题了。

因此,需要修改primary和standby端的tnsnames.ora文件。

service_names配置不正确,导致dg创建失败的更多相关文章

  1. 易语言报错:无法定位链接器!请检查 tools\link.ini 中的配置是否正确。 静态连接失败

    今天下午搞易语言,在编写动态链接库以后,静态编译的时候出现以下提示: 无法定位链接器!请检查 tools\link.ini 中的配置是否正确. 静态连接失败 于是网上百度了下,找到相关的解决方法: 编 ...

  2. 主库增加表空间导致DG同步失败

    由于主库表空间不足,同事给表空间增加数据文件,第二天收到反馈说备库未同步. 1.主.备查看归档序列号,发现主.备归档正常同步. SQL>archive log list 2.在主库端查询v$ar ...

  3. Jenkins权限配置失误后导致登录失败的解决办法

    为了便于管理,Jenkins一般需要设置用户,而且这些用户是需要配置相应的权限的,如果一不小心配置的时候出了问题,那么,你就斯巴达了. 这里,用我的切身经历,为大家说一下Jenkins因为权限配置失误 ...

  4. 【亲测有效】无法定位链接器!请检查 tools\link.ini 中的配置是否正确的解决方案

    在进行易语言静态编译的时候,出现了如下错误: 正在进行名称连接...正在统计需要编译的子程序正在编译...正在生成主程序入口代码程序代码编译成功等待用户输入欲编译到的文件名正在进行名称连接...开始静 ...

  5. 虚拟创建失败之Dbus调试

    DBus调试命令 查询连接名 ### 查询所有连接名 # dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.free ...

  6. loadlibrary(xxx.dll) 失败 返回14001 由于应用程序配置不正确 应用程序未能启动.重新安装应用程序可能会纠正这个问 .

    欢迎大家拍砖! 一.应用背景 有一个在win7中用VS2008编译成功,运行正常的程序:Exe+DLL; 放到XP虚拟镜像上运行却提示:LoadLibrary返回14001. (1) 后来采用了下面方 ...

  7. hadoop 使用ip配置导致hdfs启动失败

    dataNode 有守护进行,但hdfs web页面上显示没有live node. 错误日志: 2017-06-21 17:44:59,513 ERROR org.apache.hadoop.hdfs ...

  8. 在java下面配置xml导致idea编译失败

    1.今天遇到一个问题在java配置dao.xml的时候导致,idea编译失败 然后把pom.xml上面的 <build> <resources> <resource> ...

  9. idea创建springboot工程,总出现响应超时问题,或者无法连接http://start.spring.io导致创建失败

    问题描述如下: idea创建springboot工程,总出现响应超时问题,或者无法连接http://start.spring.io导致创建失败 从我出现此类问题几次的解决方案 依照解决效率分为一下三种 ...

随机推荐

  1. JAVA首次课堂测试总结

    暑期生活已经结束,新的学期也已经开始,而暑期放假之前约定的JAVA首次课堂测试也如期的到来,本次测试真的可以学到和多东西,也有很多感想. 首先体会最深的就是系主任所说的软件工程不是那么好学的,真的需要 ...

  2. prev_permutation(a+1,a+n+1)

    prev_permutation(a+1,a+n+1)产生上一个排列

  3. python开发之虚拟环境管理:virtualenv、virtualenvwrapper、pycharm

    1 引言 进行Python开发时,多个项目可能使用到不同的依赖,例如A项目需要1.8版本的Django,而B项目需要2.0版本的Django,这时候如果没有使用虚拟环境,就需要来回卸载和安装Djang ...

  4. ORA-01000: maximum open cursors exceeded

    网上搜索了一下,找到了原因根源: 使用Oracle数据库的时候,经常会碰到有ORA-01000: maximum open cursors exceeded的错误.实际上,这个错误的原因,主要还是代码 ...

  5. C# 简单学习正则表达式

    第一步先要引入有关正则式的命名空间: using System.Text.RegularExpressions;            第二步用指定的正则式构建一个正则表达式对象,下面的正则式是用来搜 ...

  6. 自己总结的C#编码规范--5.如何写好注释篇

    本文是读完前言中提到的几本书后,结合自身的想法总结出来的如何写好注释的一些比较实用的方法. 另外本文是上一篇 注释篇 的一个补充 如何写好注释 避免使用不明确的代词 有些情况下,"it&qu ...

  7. C# 的Chart

    Axis Label 横纵坐标的文字 (比如 0 20 40 ....) Axis Title 横纵坐标的代表什么(比如 Y Axis Title) Chart Area 图标所在位置 Chart P ...

  8. C++多态实现原理详解

    C++的多态性用一句话概括就是:在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的实际类型来调用相应的函数.如果对象类型是派生类,就调用派生类的函数:如果对象类型是基类 ...

  9. 潭州课堂25班:Ph201805201 django框架 第十二课 自定义中间件,上下文处理,admin后台 (课堂笔记)

    中间件 在项目主目录下的配置文件 在项目主目录下创建文件 写个自定义异常处理 方法1 要让其生效,要在主目录下,的中间件中进行注册 主目录下.该文件名.类名 在进入视图函数之前进行判断,  给 req ...

  10. SpringMVC处理器映射器和方法名称解析器

    所谓配置式开发是指,“处理器类是程序员手工定义的,实现了特定接口的类,然后再在SpringMVC配置文件中对该类进行显式的,明确的注册”的开发方式” 1.处理器映射器HandlerMapping Ha ...