暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 重定位数据库服务时出错

ASKTOM 2019-12-06
272

问题描述

你好,问一下汤姆团队。

My environment:

我有一个在2节点RAC上运行的数据库。我用TAF和事务保护创建了一个数据库服务

srvctl添加服务-数据库数据库产品-服务数据库产品1 _ xa-首选数据库产品1-可用数据库产品2-故障转移 _ 恢复级别1-故障转移重试30-故障转移延迟10-提交 _ 结果真-故障转移类型选择-保留86400-通知真-排水超时300-停止选项立即-角色主角色

SQL> 将dbms_app_cont上的execute授予appuser;

Test case:
我运行了一个查询select * 从schema.table,其中rownum<= 30000 (它运行约30秒)。

Then I try to relocate my service with:
srvctl重新定位服务-数据库dbprod -s dbprod1_xa -oldinst dbprod1-排水 _ 超时10-停止选项立即-强制


Result:

查询继续运行,然后查询停止几秒钟,然后它继续运行良好。

My problem:

我现在用-dtp option(以允许分布式事务)。

srvctl添加服务-db dbprod-服务dbprod1_xa-首选dbprod1-可用dbprod2-dtp TRUE-故障覆盖 _ 恢复级别1-故障覆盖重试30-故障覆盖延迟10-提交 _ 结果TRUE-故障覆盖类型选择-保留86400-通知TRUE-排水 _ 超时300-停止选项立即-角色主

Test case:
我运行了一个查询select * 从schema.table,其中rownum<= 30000 (它运行约30秒)。

Then I try to relocate my service with:
srvctl重新定位服务-数据库dbprod -s dbprod1_xa -oldinst dbprod1-排水 _ 超时10-停止选项立即-强制


Result:

我立即得到错误:

错误:
ORA-30006: 资源繁忙; 等待超时获取已过期

1.为什么会出现这种行为?我期待与上面相同的结果: 有点停顿,因为重新定位命令,但我希望查询继续运行。

提前感谢。

专家解答

参见MOS注释:

当sql会话执行长时间运行的DML (Doc ID 1263014.1) 时,DTP服务故障转移会ORA-30006失败

错误9220961已关闭为 “不是错误”,但您可能希望在支持下再次提出。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论