v$blocking_quiesce 沒有資料
ORACLE:Oracle Database 11g Enterprise Edition Release 11.1.0.6.0
OS:redhat enterprise edition 2.6.18-8.el5 @ X86
根據文件,v$blocking_quiesce 會顯示誰block了"alter system quiesce restricted;"命令,但是自己試一試才發現這個檢視並不那麼好用。
可以測試,讓session 1 block session 2,然後v$blocking_quiesce並沒有資料顯示:
session 1:
SQL> create table test (id number);
Table created.
SQL> insert into test values(1);
1 row created.
session 2:
SQL> alter system quiesce restricted;
----it hung and is stuck by session 1
session 3:
SQL> select * from v$blocking_quiesce;
no rows selected
透過wait event,我們可以看出quiesce命令確實被block了:
SID USERNAME MACHINE EVENT PARAM W WT SQL ST LT LOGON_TIME
------ ---------- ------------------------------ ------------------------------ -------------------- ---- ---- ------------------------ -- ------ ----------
131 SYS wait for possible quiesce fini 0/0/0 0 2 0/0 A 10438 10452
透過查詢v$fixed_view_definition:
SQL> select VIEW_DEFINITION from v$fixed_view_definition where lower(view_name)='gv$blocking_quiesce';
VIEW_DEFINITION
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
select inst_id, sid_kgskvft from x$kgskvft where active_kgskvft = 1 and mapped_cg_name_kgskvft <> 'SYS_GROUP'
SQL> select inst_id, sid_kgskvft ,mapped_cg_name_kgskvft from x$kgskvft
2 where active_kgskvft = 1 ;
INST_ID SID_KGSKVFT MAPPED_CG_NAME_KGSKVFT
---------- ----------- --------------------------------
1 127
1 130 SYS_GROUP
1 135
1 136
1 137
1 140
1 141
1 143
1 145
1 147
1 148
1 149
1 151
1 154
1 155
1 156
1 157
1 158
1 159
1 160
1 161
1 162
1 163
1 164
1 165
1 166
1 167
1 168
1 169
1 170
30 rows selected.
原來,block quiesce的session是sid=135,但是它的MAPPED_CG_NAME_KGSKVFT這一列是null,所以並沒有被顯示出來。
而其他MAPPED_CG_NAME_KGSKVFT為null的sid基本都是background程式。
如何區分開來呢?很簡單,跟v$session join一下就行了,自己建一個view:
create or replace view v$blocking_quiesce2
as
select x.inst_id, v.sid,v.serial#,v.SQL_HASH_VALUE,v.PREV_HASH_VALUE,v.status,v.service_name from x$kgskvft x,v$session v
where active_kgskvft = 1
and (x.mapped_cg_name_kgskvft <> 'SYS_GROUP' or x.mapped_cg_name_kgskvft is null)
and v.sid=x.sid_kgskvft
and v.service_name<>'SYS$BACKGROUND';
SQL> set lines 180 pages 999
SQL> select * from v$blocking_quiesce2;
INST_ID SID SERIAL# SQL_HASH_VALUE PREV_HASH_VALUE STATUS SERVICE_NAME
---------- ---------- ---------- -------------- --------------- -------- ----------------------------------------------------------------
1 135 17 0 4172321976 INACTIVE haols
如上,這就是罪魁禍首。
同時,如果pstack session 2 的pid:
: ~ > pstack 2405
#0 0x00865402 in __kernel_vsyscall ()
#1 0x005d3b54 in semtimedop () from /lib/libc.so.6
#2 0x0e57691f in sskgpwwait ()
#3 0x0e5758ae in skgpwwait ()
#4 0x0e2c3a44 in ksliwat ()
#5 0x0e2c33b1 in kslwaitctx. ()
#6 0x0e2c06f1 in kslwait ()
#7 0x0c5a03e0 in kcqdbqur ()
#8 0x0c48ad94 in kkyasy ()
#9 0x0e45f8e4 in kksExecuteCommand ()
#10 0x0e3c7820 in opiexe ()
#11 0x08b544d0 in kpoal8 ()
#12 0x0e3be5db in opiodr ()
#13 0x0e5361f2 in ttcpip ()
#14 0x089a877b in opitsk ()
#15 0x089aa9d0 in opiino ()
#16 0x0e3be5db in opiodr ()
#17 0x089a4e46 in opidrv ()
#18 0x08c1623f in sou2o ()
#19 0x08539abb in opimai_real ()
#20 0x08c19a12 in ssthrdmain ()
#21 0x08539a38 in main ()
透過查詢metalink doc:175982.1
kco kcq kcra kcrf kcrfr kcrfw kcrp kcrr kcs kct kcv | rcv | various buffer cache operation such as quiesce operation , managing fast start IO target, parallel recovery operation , etc. |
At last ,I've filed SR 7372626.992 for ORACLE.
--------------------------------------
---------------------------------------
最後更新下:
根據SR 7372626.992分析師的回答,已經可以確認這是一個bug。He will file a bug for it。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15415488/viewspace-539871/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你沒有大資料大資料
- Element表格資料沒有重新渲染
- 沒有“好的”資料,AI就沒有未來?聽聽雲測資料怎麼說AI
- 資料治理到底治什麼?有沒有前景
- 有沒有動態建立資料表的輪子?
- 資料庫沒有完美的儲存引擎資料庫儲存引擎
- [20181010]v$rman_configuration沒有輸出.txt
- 訊息推送平臺有沒有保證資料不丟?
- 有沒有完全自主的國產化資料庫技術資料庫
- 幽默:沒有資料庫的架構來了資料庫架構
- 工作286:v-model沒有值會報錯
- 有沒有大佬知道這種資料應該怎麼抓取呀?
- 資料治理始終沒有發揮成效,原因何在?
- Laravel 修改資料與原資料一樣 導致沒有執行sqlLaravelSQL
- 有沒有好用Excel包,可以透過job的方式寫入資料Excel
- 有沒有go描述的資料結構與演算法的書?Go資料結構演算法
- 杉巖:成功沒有捷徑,但雙中心資料讀寫有“捷徑”
- React v16.7 正式版釋出,但沒有 HooksReactHook
- Oracle 之利用BBED修改資料塊SCN----沒有備份資料檔案的資料恢復Oracle資料恢復
- 表中明明沒有這條資料,竟然還能查出來?
- hadoop 存到hdfs的資料沒有同步到其他機器上Hadoop
- 在大資料時代,我們真的沒有隱私嗎?大資料
- 使用nacos做dubbo的註冊中心服務列表沒有資料
- 河洛沒有倒,武俠沒有活
- 快到沒朋友的YOLO v3有了PaddlePaddle 預訓練模型YOLO模型
- Magento2 安裝外掛 upgrade 後資料庫沒有新建表資料庫
- Stack Overflow遭遇黑客攻擊 目前沒有證據表明資料被竊黑客
- 解決MySQL的主從資料庫沒有同步的兩種方法MySql資料庫
- 2020年,有關蘋果App Store,你可能沒關注到的資料蘋果APP
- curl沒有接收到返回資料?curl響應頭EXPECT:100-continue
- 沒有大資料在手,該怎麼為NLP應用深度學習?大資料深度學習
- 沒有程式設計基礎的小白可以學習大資料嗎?程式設計大資料
- 求求有沒有沒睡的大佬幫忙改改
- 沒有足夠多的資料怎麼辦?計算機視覺資料增強方法總結計算機視覺
- ES資料沒了?誰動了我的資料?
- ArcMap的mxd檔案沒有資料、顯示感嘆號怎麼辦?
- 資料清洗太難了?那是你沒有好工具,讓Smartbi來幫你!
- 為什麼資料庫中大量的server process沒有對應的session?資料庫ServerSession
- vue-cli的build的資料夾下沒有dev-server.js檔案,怎麼配置mock資料。---mock資料配置(一)VueUIdevServerJSMock