上周五快下班了,开发那边找到我,说一个resize操作做了40分钟还没执行完,让我看看。
因为该开发所属的系统在exadata上,12c的库,我下意识的觉得,又来bug了。
登上数据库查看,该操作是将一个500g的bigfile文件resize为700g,该会话的等待事件是:enq:TT-contention
该等待事件在以前的版本是跟temporary table有关,在8i版本以后,更多的参与表空间事务管理。
以下是对enq:TT-contention等待事件的详细说明:
该enqueue TT队列锁用以在各种类型的表空间操作执行过程中避免出现死锁dead lock。
该enqueue lock的 ID2表明正在执行的操作种类,ID1表明该操作对应的表空间号V$Tablespace.TS#。
ID1/ ID2的含义
id1是tablespace number V$Tablespace.TS#,ID2表明执行中的操作类型。以下是操作类型对应代码;
0- 用以避免在drop tablespace和创建rollback segment之间发生死锁
1- 用以串行化在给定表空间上创建数据文件

本文介绍了在Oracle 12.1.0.2版本中,对大文件表空间(bigfile)进行resize操作时遇到的enq:TT-contention等待事件问题。开发者在尝试将一个500GB的bigfile扩大至700GB,操作耗时过长。内容探讨了该等待事件的背景,包括它与临时表的关系以及在不同版本中的变化,并提供了事件的详细说明。
最低0.47元/天 解锁文章
6784

被折叠的 条评论
为什么被折叠?



