重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 162|回复: 0
打印 上一主题 下一主题

[备份恢复] Rman备份hang住,等待Enq: TC - Contention

[复制链接]
跳转到指定楼层
楼主
发表于 2026-2-8 11:35:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现象:
Rman 备份hang 住。

等待事件enq: TC - contention。

已经应用了bug 21913447的修复,但是问题仍然存在。

Select inst_id, sid, CLIENT_INFO ch, seq#, event, state, wait_time_micro/1000000 seconds
from gv$session where program like '%rman%' and
wait_time = 0 and
not action is null;

INST_ID SID CH SEQ# EVENT STATE SECONDS
---------- ---------- -------------------- ---------- ---------------------------------------- ------------------- ----------
2 1782 rman channel=ch01 6494 SQL*Net message from client WAITING 351.18
1 158 rman channel=ch02 1404 enq: TC - contention WAITING 534.12


Hang Analyze 显示

  Chain 2:
------------------------------------------------------------------------------
-
Oracle session identified by:
{
instance: 1 (abc1)
os id: 227371
process id: 172, <PROCESS>@<DOMAIN>
session id: 1202
session serial #: 49320
}
is waiting for 'enq: TC - contention' with wait info:
{
p1: 'name|mode'=0x54430006
p2: 'checkpoint ID'=0x100ac
p3: '0'=0x0
time in wait: 84 min 42 sec (last interval)
time in wait: 1627 min 7 sec (total)
timeout after: never
wait id: 807478
blocking: 0 sessions
current sql: <none>
short stack:
ksedsts()+244<-ksdxfstk()+58<-ksdxcb()+918<-sspuser()+224<-__sighandler()<-sem
timedop()+10<-skgpwwait()+200<-ksliwat()+2085<-kslwaitctx()+161<-kjuscv_wait()
+2129<-kjuscv()+1668<-ksipcon()+2227<-ksqcmi()+21665<-ksqcnv()+645<-ksqcov()+9
5<-kcvgcf()+876<-krbckf()+1568<-krbbFileCkpt()+983<-krbbpcint()+6736<-krbbpc()
+3122<-krbibpc()+1796<-pevm_icd_call_common()+411<-pfrinstr_ICAL()+135<-pfrrun
_no_tool()+60<-pfrrun()+1155<-plsql_run()+708<-pricar()+1055<-pricbr()+616<-pr
ient2()+1143<-prient()+2690<-kkxrpc()+1064<-kporpc(
wait history:
* time between current wait and wait #1: 0.000000 sec
1. event: 'ges enter server mode'
time waited: 0.000019 sec
wait id: 807602
* time between wait #1 and #2: 0.000000 sec
2. event: 'enq: TC - contention'
time waited: 0.500959 sec (last interval)
time waited: 1542 min 25 sec (total)


原因
这个问题是由于下面的bug 引起:
Bug 26951406 - CKPT STUCK ,BLOCKING RMAN BACKUPS  Closed as Duplicate of Unpublished  BUG 27679641.

如果已经应用了patch 21913447,那么回滚,并应用27679641 来取而代之。


解决方案
检索one-off patch 27679641 是否可用。

作为临时替代方案,可以设置下面的参数:

ALTER SYSTEM SET db_lost_write_protect='TYPICAL' SCOPE=BOTH;

如果是RAC 实例,设置以上参数后,依次重启实例 并尝试rman 备份



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2026-4-17 18:30 , Processed in 0.244627 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表