前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记录一则DG遭遇ORA-00088的案例

记录一则DG遭遇ORA-00088的案例

作者头像
Alfred Zhao
发布2019-06-21 09:51:14
5840
发布2019-06-21 09:51:14
举报

测试环境:RHEL 5.4 + Oracle 11.2.0.3 DG 现象:起初是在使用DG Broker进行switchover切换测试时,报错ORA-16775,提示有可能有数据丢失,不允许switchover.

代码语言:javascript
复制
DGMGRL> switchover to prod1
Performing switchover NOW, please wait...
Error: ORA-16775: target standby database in broker operation has potential data loss

Failed.
Unable to switchover, primary database is still "sbdb1"

进一步查询归档传输情况,发现最新的几个归档都没有传输成功,此时alert还没有报错,但可以通过查询v$archive_dest确认错误信息:

代码语言:javascript
复制
SQL> select error from v$archive_dest where dest_id = 2;

ERROR
-----------------------------------------------------------------
ORA-00088: command cannot be executed by shared server

错误的提示非常明确了,再看下oerr的帮助:

代码语言:javascript
复制
$ oerr ora 88
00088, 00000, "command cannot be executed by shared server "
// *Cause:  Debug command issued on shared server.
// *Action: Reissue the command using a dedicated server.

问题明确了,处理起来也非常简单,进一步检查发现tnsnames.ora中的配置没有显示指定(SERVER = DEDICATED),而恰好数据库配置了共享连接。所以我们只需要修改显示指定(SERVER = DEDICATED)即可,例如这样:

代码语言:javascript
复制
PROD1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = xxx01.example.com)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)      --这里显示指定
      (SERVICE_NAME = PROD1.us.oracle.com)
    )
  )

注意主备库都需要同步修改,修改完成后,没有再进行任何操作,就可以看到之前没有传输的归档自动传输成功。 此时再次进行switchover切换测试就可以成功了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档