在X2 Exadata上尝试做增量备份时遇到一个bug。
数据库版本信息:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
在enable block change tracking时hang住了。
SQL> alter database enable block change tracking using file '+RECO_ACWW';
----- hang住 -----
查看等待事件(v$session_wait):
SQL> set pagesize 1000
SQL> set linesize 120
SQL> col event for a30
SQL> col sid for 9999
SQL> col P1 for 9999999999999
SQL> col p2 for 9999999999999
SQL> col p3 for 9999999999999
SQL> select sid,event,p1,p1raw,p2,p3,WAIT_TIME
2 from v$session_wait
3 where event not in ('SQL*Net message from client','rdbms ipc message',
4 'SQL*Net message to client','pmon timer','smon timer','wakeup time manager',
5 'jobq slave wait','gcs remote message','Streams AQ: qmn slave idle wait')
6 order by WAIT_TIME;
SID EVENT P1 P1RAW P2 P3 WAIT_TIME
----- ------------------------------ -------------- ---------------- -------------- -------------- ----------
4349 rdbms ipc reply 52 0000000000000034 2147481569 0 0
760 enq: CT - state change gate 2 1129578502 0000000043540006 3 2 0
1325 Space Manager: slave idle wait 0 00 0 0 0
1513 PING 0 00 0 0 0
1515 EMON slave idle wait 0 00 0 0 0
1893 EMON slave idle wait 0 00 0 0 0
2080 DIAG idle wait 1 0000000000000001 1 30 0
2082 EMON slave idle wait 0 00 0 0 0
2271 EMON slave idle wait 0 00 0 0 0
2458 ges remote message 80 0000000000000050 0 74 0
2460 EMON slave idle wait 0 00 0 0 0
3214 GCR sleep 0 00 0 0 0
3216 DFS lock handle 1128857605 0000000043490005 32 2 0
3217 class slave wait ############## FFFFFFFFCB9D02A8 0 0 0
3404 VKRM Idle 0 00 0 0 0
3782 wait for unread message on bro 26869449840 00000006418B4470 26607489368 0 0
查看v$session
SQL> select SID,program,event,blocking_INSTANCE,BLOCKING_SESSION from v$session where sid=760 or sid=4349 or sid=3216;
SID PROGRAM EVENT BLOCKING_INSTANCE BLOCKING_SESSION
----- ------------------------------------------------ ------------------------------ ----------------- ----------------
760 [email protected] (CTWR) enq: CT - state change gate 2 1 3216
3216 [email protected] (TNS V1-V3) DFS lock handle 1 4349
4349 [email protected] (CKPT) rdbms ipc reply 1 760
有3个session居然成了一个闭环,都hang住了。
其中sid 3216就是执行enable block change tracking的session。另外两个进程都是后台进程,CTWR和CKPT进程,这个时候如果在再开一个会话执行checkpoint操作,同样会被hang住。
这个问题在metalink居然找不到任何信息,应该是一个未公开bug。