Oracle常用視圖總結(jié)

日常使用Oracle的過程中,總是免不了要對各種表進(jìn)行查詢。在Oracle數(shù)據(jù)庫中,通常通過查詢視圖來代替物理表的查詢。視圖是基于數(shù)據(jù)表創(chuàng)建的一種邏輯上的虛擬表結(jié)構(gòu),通過將一些常用的表結(jié)構(gòu)和查詢操作通過聯(lián)合而形成的,在使用過程中使用視圖代替數(shù)據(jù)表的查詢可以使一些常見的查詢操作事倍功半。

這里簡單描述下視圖數(shù)據(jù)表之間的關(guān)系

  • 數(shù)據(jù)表: 是物理上的結(jié)構(gòu),存儲在底層的硬盤上,占用實際硬盤的物理空間;
  • 視圖: 是邏輯上的結(jié)構(gòu),是表與表之間的一種或多種邏輯映射,存儲在數(shù)據(jù)字典里,不占用實際的物理硬盤空間;

進(jìn)入數(shù)據(jù)庫,通過 all_views 視圖查看數(shù)據(jù)庫的所有視圖

> select OWNER,VIEW_NAME from all_views;   /* 視圖中的字段會很多,使用`desc {view_name}`查看視圖的字段名選擇可用的字段名 */

數(shù)據(jù)庫常用視圖

  • USER_TABLES: 當(dāng)前用戶下的所有數(shù)據(jù)表
/* 查詢表名稱及所屬表空間 */
> select TABLE_NAME,TABLESPACE_NAME from USER_TABLES;
  • ALL_TABLES: 所有用戶的數(shù)據(jù)表
/* 查詢表所屬用戶、表名稱及所屬表空間 */
> select OWNER,TABLE_NAME,TABLESPACE_NAME from ALL_TABLES;
  • DBA_TABLES: DBA用戶可以訪問的數(shù)據(jù)表
/* 查詢表所屬用戶、表名稱及所屬表空間 */
> select OWNER,TABLE_NAME,TABLESPACE_NAME from DBA_TABLES;
  • ALL_INDEXES: 存放數(shù)據(jù)表索引的視圖
/* 查詢索引對應(yīng)名稱、類型、及對應(yīng)的表空間*/
> select OWNER,INDEX_NAME,INDEX_TYPE,TABLE_NAME,TABLESPACE_NAME from ALL_INDEXES;
  • USER_EXTENTS: 存放用戶所擁有對象的段的視圖
/* 查詢用戶擁有的段中的段名稱、分區(qū)名、段類型、表空間及所占用的字節(jié)數(shù) */
> select SEGMENT_NAME,PARTITION_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES from USER_EXTENTS;
  • DBA_EXTENTS: 數(shù)據(jù)庫中所有段包含的區(qū)的視圖
/* 查詢所有用戶擁有的段中的段名稱、分區(qū)名、段類型、表空間及所占用的字節(jié)數(shù) */
> select OWNER,SEGMENT_NAME,PARTITION_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES from DBA_EXTENTS;
  • DBA_DATA_FILES: 數(shù)據(jù)庫中所有數(shù)據(jù)文件相關(guān)的視圖
/* 查詢數(shù)據(jù)文件大小、名稱、對應(yīng)表空間及是否自動增長 */
> select FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024/1024,STATUS,AUTOEXTENSIBLE from DBA_DATA_FILES;

FILE_NAME                            TABLESPACE_NAME      BYTES/1024/1024/1024 STATUS    AUT
------------------------------------------------------------ -------------------- -------------------- --------- ---
+DATADG/RAC/system01.dbf                     SYSTEM             1.03515625 AVAILABLE YES
+DATADG/RAC/sysaux01.dbf                     SYSAUX             21.1035156 AVAILABLE YES
  • V_$LOG: Redo日志相關(guān)視圖
/* 查詢REDO日志相關(guān)組及日志大小 */
> select GROUP#,THREAD#,BYTES/1024/1024/1024,MEMBERS,ARCHIVED,STATUS from V_$LOG;

    GROUP#    THREAD# BYTES/1024/1024/1024    MEMBERS ARC STATUS
---------- ---------- -------------------- ---------- --- ----------------
     9      1           10      1 NO  CURRENT
    23      2           10      1 NO  CURRENT
  • V_$LOGFILE: REDO日志文件視圖
/* 查看redo日志組成員 */
> select GROUP#,MEMBER,TYPE from V_$LOGFILE;

    GROUP# MEMBER                                                           TYPE
---------- -------------------------------------------------- -------
     6    +LOGDG/RAC/ONLINELOG/group_6.261.1095247683         ONLINE
     7    +LOGDG/RAC/ONLINELOG/group_7.262.1095247717         ONLINE
  • V_$CONTROLFILE: 控制文件視圖
/* 查詢數(shù)據(jù)庫所使用的控制文件 */
> select STATUS,NAME,BLOCK_SIZE from V_$CONTROLFILE;

STATUS  NAME                   BLOCK_SIZE
------- ------------------------------ ----------
    +DATADG/RAC/control01.ctl       16384
    +DATADG/RAC/control02.ctl       16384
  • GV_$CONTROLFILE: 集群級別的控制文件視圖
> select INST_ID,STATUS,NAME,BLOCK_SIZE from GV_$CONTROLFILE;

   INST_ID STATUS  NAME                           BLOCK_SIZE
---------- ------- -------------------------------------------------- ----------
     1     +NVMEDG/RAC/control01.ctl                   16384
     2     +NVMEDG/RAC/control02.ctl                   16384
  • DBA_DIRECTORIES: 存放數(shù)據(jù)庫所有用戶可以訪問的數(shù)據(jù)字典
> select OWNER,DIRECTORY_NAME,DIRECTORY_PATH from DBA_DIRECTORIES;

OWNER    DIRECTORY_NAME            DIRECTORY_PATH
------- -------------------------- ------------------------ 
SYS      DBMS_OPTIM_LOGDIR         /****/12.2.0/cfgtoollogs
  • DBA_SEGMENTS: 數(shù)據(jù)庫所有的段視圖
/* 查詢表空間索引占用的空間情況 */
> select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,sum(BYTES/1024/1024/1024) from dba_segments where OWNER='SOE' group by OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME;

OWNER    SEGMENT_NAME        SEGMENT_TYPE    TABLESPACE_NAME      SUM(BYTES/1024/1024/1024)
------- -------------------- -------------- -------------------- -------------------------
SOE     PRODUCT_DESCRIPTIONS TABLE            SOE                .000305176

  • DBA_FREE_SPACE: 數(shù)據(jù)庫剩余表空間統(tǒng)計視圖
/* 查詢數(shù)據(jù)庫已使用表空間并根據(jù)表空間名稱分組 */
> select TABLESPACE_NAME,sum(BYTES/1024/1024/1024) from DBA_FREE_SPACE group by TABLESPACE_NAME;

TABLESPACE_NAME      SUM(BYTES/1024/1024/1024)
-------------------- -------------------------
SYSTEM                  4.99133301
UNDOTBS2                136.481812
  • V_$SQL_PLAN: 實例級別的sql執(zhí)行計劃
/* 查詢sql執(zhí)行語句的ID */
> select SQL_ID,PLAN_HASH_VALUE,TIMESTAMP,OBJECT# from V_$SQL_PLAN;

SQL_ID        PLAN_HASH_VALUE TIMESTAMP          OBJECT#
------------- --------------- ------------------- ----------
94qn6y14kw01g      1388734953 2022-03-01 16:25:37
94qn6y14kw01g      1388734953 2022-03-01 16:25:37

ASM常用視圖

  • V$ASM_DISK: ASM磁盤組中關(guān)于磁盤的詳細(xì)信息
/* 查詢磁盤組中磁盤名稱及狀態(tài)大小 */
> select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,STATE,NAME,TOTAL_MB from V$ASM_DISK;

GROUP_NUMBER DISK_NUMBER MOUNT_STATUS   HEADER_STATUS        STATE        NAME                 TOTAL_MB
------------ ----------- -------------- ------------------------ ---------------- ------------------------------ ----------
       1           2 CACHED     MEMBER           NORMAL       LOGDG_0002                 204800
       3           1 CACHED     MEMBER           NORMAL       OCRVOTE_0001                 6144
  • V$ASM_DISKGROUP: ASM磁盤組視圖
/* 查詢asm中所有磁盤組的信息 */
> select GROUP_NUMBER,NAME,ALLOCATION_UNIT_SIZE,STATE,TYPE,TOTAL_MB/1024 from V$ASM_DISKGROUP;

GROUP_NUMBER NAME               ALLOCATION_UNIT_SIZE STATE          TYPE             TOTAL_MB/1024
------------ ------------------------------ -------------------- ---------------------- -------------------- -------------
       1 LOGDG                   1048576 MOUNTED        NORMAL                 600
       3 OCRVOTE                     4194304 MOUNTED        NORMAL              18
  • V$ASM_OPERATION: ASM磁盤組磁盤重平衡視圖
/* 查詢磁盤組重平衡進(jìn)度 */
> select GROUP_NUMBER,OPERATION,STATE,POWER,ACTUAL,EST_WORK,EST_RATE,EST_MINUTES from V$ASM_OPERATION;

GROUP_NUMBER OPERATION  STATE         POWER ACTUAL   EST_WORK   EST_RATE EST_MINUTES
------------ ---------- -------- ---------- ---------- ---------- ---------- -----------
       2 REBAL  WAIT         11     11      0      0           0
       2 REBAL  WAIT         11     11      0      0           0
       2 REBAL  RUN      11     11    2025371      72715          12
       2 REBAL  DONE         11     11      0      0           0
  • V$ASM_FILE: 存放ASM磁盤組中的文件信息
/* 查詢ASM數(shù)據(jù)文件大小及類型*/
> select GROUP_NUMBER,FILE_NUMBER,SPACE/1024/1024/1024,TYPE,REDUNDANCY from V$ASM_FILE;

GROUP_NUMBER FILE_NUMBER SPACE/1024/1024/1024 TYPE         REDUNDANCY
------------ ----------- -------------------- -------------------- ------------
       1         256       .395507813 ONLINELOG        MIRROR
       1         257       .395507813 ONLINELOG        MIRROR
  • V$ASM_CLIENT: ASM實例及數(shù)據(jù)庫實例信息相關(guān)的視圖
/* 查詢ASM實例及數(shù)據(jù)庫實例名稱及版本信息 */
> select GROUP_NUMBER,INSTANCE_NAME,DB_NAME,CLUSTER_NAME,STATUS,SOFTWARE_VERSION from V$ASM_CLIENT;

GROUP_NUMBER INSTANCE_NAME    DB_NAME      CLUSTER_NAME     STATUS           SOFTWARE_VERSION
------------ -------------------- ---------------- -------------------- ------------------------ --------------------
       1 rac1         rac          oracle       CONNECTED        19.0.0.0.0
       2 rac1         rac          oracle       CONNECTED        19.0.0.0.0
       3 +ASM1        +ASM         oracle       CONNECTED        19.0.0.0.0
       3 node1        _OCR         oracle       CONNECTED        -
  • V$ASM_ALIAS: ASM磁盤組別名
> select * from V$ASM_ALIAS;

NAME                   GROUP_NUMBER FILE_NUMBER FILE_INCARNATION ALIAS_INDEX ALIAS_INCARNATION PARENT_INDEX REFERENCE_INDEX AL SY     CON_ID
------------------------------ ------------ ----------- ---------------- ----------- ----------------- ------------ --------------- -- -- ----------
RAC                   1  4294967295       4294967295       0             1     16777216    16777269 Y  N       0
redo01.log                1     256       1095246583      53             1     16777269    33554431 N  N       0
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容