RAC:在子查詢使用gv$檢視,有時查詢不出資料
今天寫一個監控RAC中所有節點的指令碼,發現在子查詢中使用gv$檢視,有時不能查詢出資料.
環境,實驗如下
SQL> conn / as sysdba;
Connected.
SQL> select * from v$version;
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
Connected.
SQL> select * from v$version;
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
PL/SQL Release 10.2.0.4.0 - Production
CORE 10.2.0.4.0 Production
TNS for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Productio
NLSRTL Version 10.2.0.4.0 - Production
5 rows selected.
SQL> select inst_id,instance_name from gv$instance;
INST_ID INSTANCE_NAME
------- ----------------
1 gxdb1
2 gxdb2
INST_ID INSTANCE_NAME
------- ----------------
1 gxdb1
2 gxdb2
2 rows selected.
SQL> select (select saddr
2 from gv$session
3 where inst_id = s.inst_id
4 and sid = s.SID) saddr,
5 s.INST_ID,
6 s.SID
7 from gv$session_wait s
8 where rownum = 1;
SADDR INST_ID SID
---------------- ------- -------
2 2033
1 row selected.
注:SADDR沒有資料
SQL> select (select saddr
2 from gv$session
3 where inst_id = s.inst_id
4 and sid = s.SID) saddr,
5 s.INST_ID,
6 s.SID
7 from gv$session_wait s
8 where s.inst_id = 2
9 and s.sid = 2033;
SADDR INST_ID SID
---------------- ------- -------
0700000CC2CD6D20 2 2033
這次有資料了
1 row selected.
SQL> select distinct (select saddr
2 from gv$session
3 where inst_id = s.inst_id
4 and sid = s.SID) saddr,
5 s.INST_ID,
6 s.SID
7 from gv$session_wait s
8 where s.inst_id = 2
9 and s.sid = 2033;
SADDR INST_ID SID
---------------- ------- -------
2 2033
1 row selected.
使用了distinct 又看不到資料了.
還有一些其他情況也會看不到資料,不一一例舉了.
這算不算是Oracle的bug呢.呵呵...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/195110/viewspace-744411/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用子查詢檢索資料
- 【MySQL】檢視&子查詢MySql
- 【Oracle】如何查詢檢視時使用索引Oracle索引
- Oracle OCP(14):使用子查詢檢索資料Oracle
- 子查詢-表子查詢
- 檢視 Laravel 查詢資料語句Laravel
- 資料庫的查詢與檢視資料庫
- 使用子查詢
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- oracle資料庫sql查詢檢視第二次查詢很慢Oracle資料庫SQL
- 複雜查詢—子查詢
- SQL查詢的:子查詢和多表查詢SQL
- 檢視查詢報錯
- oracle 常用查詢檢視Oracle
- 使用物化檢視查詢重寫 優化對於 UNION ALL檢視的CONNECT BY查詢優化
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- PostgreSQL實時高效搜尋-全文檢索、模糊查詢、正則查詢、相似查詢、ADHOC查詢SQL
- 教你使用SQLite 子查詢SQLite
- [MYSQL -14]使用子查詢MySql
- OCP課程19:SQL之使用子查詢檢索資料SQL
- MySQL - 資料查詢 - 簡單查詢MySql
- B樹查詢,磁碟查詢資料
- MySQL聯結查詢和子查詢MySql
- select查詢之三:子查詢
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 檢視慢查詢進度
- 查詢資料庫使用者角色和許可權檢視資料庫
- 【Flashback】使用檢視快速獲得Flashback Query閃回查詢資料
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 資料庫資料的查詢----連線查詢資料庫
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- 如何使用SQL查詢檢視,Postico使用技巧分享~SQL
- 相關子查詢&非相關子查詢概念
- 資料庫學習(五)子查詢資料庫
- Java ——MongDB 插入資料、 模糊查詢、in查詢Java
- 資料庫高階查詢之子查詢資料庫
- MySQL子查詢MySql
- 子串查詢