程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 動態視圖與相對應的表之間的關系

Oracle 動態視圖與相對應的表之間的關系

編輯:Oracle數據庫基礎

我們大家都知道在Oracle數據庫運行的過程中,我們經常會使用一些關於V$開頭的Oracle 動態視圖,例如V$session, 在一次偶然的情況下有人用的是V_$session, 一開始以為是別人寫錯了,沒想到desc v_$session以後能看到和v$session一樣的結構,再以後又發現以gv$開頭的視圖等等。

趁這次在一台Linux系統上裝Oracle的機會,終於弄清楚了這些動態視圖與相應表之間的關系。

這些都是由Oracle自己管理的數據結構,得從v$fixed_table入手:

  1. [Oracle@3857 admin]$ sqlplus sys/sys@archdw as sysdba  
  2. SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 14 11:27:20 2009  
  3. Copyright (c) 1982, 2009, Oracle. All rights reserved.  
  4. Connected to:  
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 – Production  
  6. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  7. SQL> desc v$fixed_table;  
  8. Name Null? Type  
  9. —————————————– ——– —————————-  
  10. NAME VARCHAR2(30)  
  11. OBJECT_ID NUMBER  
  12. TYPE VARCHAR2(5)  
  13. TABLE_NUM NUMBER  
  14. SQL> select * from v$fixed_table  
  15. NAME OBJECT_ID TYPE TABLE_NUM  
  16. —————————— ———- —– ———-  
  17. X$KQFTA 4294950912 TABLE 0  
  18. X$KQFVI 4294950913 TABLE 1  
  19. GV$PROCESS 4294951256 VIEW 65537  
  20. V$PROCESS 4294950917 VIEW 65537  
  21. GV$BGPROCESS 4294951257 VIEW 65537  
  22. ………………………………………  

從上面可以看到GV$與V$是視圖,X$是表。那它們之間是什麼關系呢?從另一個視圖v$fixed_vIEw_definition中得到如下信息(以v$fixed_table為例):

  1. SQL> set linesize 100  
  2. SQL> col vIEw_name for a15  
  3. SQL> col vIEw_definition for a80  
  4. SQL> select * from v$fixed_vIEw_definition where vIEw_name=’V$FIXED_TABLE’;  
  5. VIEW_NAME VIEW_DEFINITION   

上述的相關內容就是對Oracle 動態視圖的描述,希望會給你帶來一些幫助在此方面。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved