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 OCP(14):使用子查詢檢索資料Oracle
- 檢視 Laravel 查詢資料語句Laravel
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- oracle資料庫sql查詢檢視第二次查詢很慢Oracle資料庫SQL
- SQL查詢的:子查詢和多表查詢SQL
- 複雜查詢—子查詢
- 檢視查詢報錯
- mysql-分組查詢-子查詢-連線查詢-組合查詢MySql
- 教你使用SQLite 子查詢SQLite
- MySQL - 資料查詢 - 簡單查詢MySql
- 【SQL】Oracle查詢轉換之物化檢視查詢重寫SQLOracle
- 如何使用SQL查詢檢視,Postico使用技巧分享~SQL
- MYSQL學習筆記25: 多表查詢(子查詢)[標量子查詢,列子查詢]MySql筆記
- Java ——MongDB 插入資料、 模糊查詢、in查詢Java
- 資料庫高階查詢之子查詢資料庫
- 資料庫學習(五)子查詢資料庫
- MySQL之連線查詢和子查詢MySql
- MYsql 子查詢MySql
- MySQL子查詢MySql
- 子串查詢
- Oracle OCP(08):使用子查詢Oracle
- SSH:hiberate實現資料的查詢(單查詢和全查詢)
- OushuDB 檢視查詢執行情況
- 【PDB】Oracle跨PDB檢視查詢Oracle
- MySQL 查詢的成本的檢視MySql
- 資料庫基礎查詢--單表查詢資料庫
- elasticsearch查詢之大資料集分頁查詢Elasticsearch大資料
- 區分關聯子查詢和非關聯子查詢
- RESTFul資料查詢REST
- MYSQL查詢資料MySql
- indexedDB 查詢資料Index
- AMS 資料查詢
- 20240719資料庫關聯查詢、條件查詢資料庫
- 在MongoDB資料庫中查詢資料(上)MongoDB資料庫
- Javaweb-子查詢JavaWeb
- 巢狀子查詢巢狀
- GORM subquery 子查詢GoORM
- Laravel Query Builder 複雜查詢案例:子查詢實現分割槽查詢 partition byLaravelUI