文章目錄
- 一.Oracle數據庫自帶的內置表和視圖
- 1.dba_開頭表
- 2.user_開頭表
- 3.v$開頭表
- 4.all_開頭表
- 5.session_開頭表
- 6.index_開頭表
- 三.按組分的幾組重要的性能視圖
- 1.System的over view
- 2.某個session的當前情況
- 3.SQL的情況
- 4.Latch/lock/ENQUEUE
- 5.IO方面的
- 分類
- 類別
- 關系群集、表、視圖
- 集合、LOB、對象類型和對象表
- oracle視圖
- 其他數據庫對象
- 分區和子分區
- 索引
- 實現視圖、摘要、快照
- 統計和審計
- 權限和授權
- 屬性
- 常用內部視圖(Data Dictionary Views):**
一.Oracle數據庫自帶的內置表和視圖
1.dba_開頭表
dba_users 數據庫用戶信息
dba_segments 表段信息
dba_extents 數據區信息
dba_objects 數據庫對象信息
dba_tablespaces 數據庫表空間信息
dba_data_files 數據文件設置信息
dba_temp_files 臨時數據文件信息
dba_rollback_segs 回滾段信息
dba_ts_quotas 用戶表空間配額信息
dba_free_space 數據庫空閑空間信息
dba_profiles 數據庫用戶資源限制信息
dba_sys_privs 用戶的系統權限信息
dba_tab_privs 用戶具有的對象權限信息
dba_col_privs 用戶具有的列對象權限信息
dba_role_privs 用戶具有的角色信息
dba_audit_trail 審計跟蹤記錄信息
dba_stmt_audit_opts 審計設置信息
dba_audit_object 對象審計結果信息
dba_audit_session 會話審計結果信息
dba_indexes 用戶模式的索引信息
2.user_開頭表
user_objects 用戶對象信息
user_source 數據庫用戶的所有資源對象信息
user_segments 用戶的表段信息
user_tables 用戶的表對象信息
user_tab_columns 用戶的表列信息
關于這個還涉及到兩個常用的例子如下:
2.1.Oracle中查詢某個字段屬于哪個表
Sql代碼
select table_name,owner from dba_tab_columns t where t.COLUMN_NAME like upper(‘%username%’);
2.2.oracle中查詢某個表的列數
Sql代碼
select count(*) from user_tab_columns where table_name= upper(‘sys_operate’)
注:這兩個例子都用到了upper這個函數,是因為在這里表名得大寫,否則查出的結果不是正確的
user_constraints 用戶的對象約束信息
user_sys_privs 當前用戶的系統權限信息
user_tab_privs 當前用戶的對象權限信息
user_col_privs 當前用戶的表列權限信息
user_role_privs 當前用戶的角色權限信息
user_indexes 用戶的索引信息
user_ind_columns 用戶的索引對應的表列信息
user_cons_columns 用戶的約束對應的表列信息
user_clusters 用戶的所有簇信息
user_clu_columns 用戶的簇所包含的內容信息
user_cluster_hash_expressions 散列簇的信息
3.v$開頭表
v d a t a b a s e 數據庫信息 v database 數據庫信息 v database數據庫信息vdatafile 數據文件信息
v c o n t r o l f i l e 控制文件信息 v controlfile 控制文件信息 v controlfile控制文件信息vlogfile 重做日志信息
v i n s t a n c e 數據庫實例信息 v instance 數據庫實例信息 v instance數據庫實例信息vlog 日志組信息
v l o g h i s t 日志歷史信息 v loghist 日志歷史信息 v loghist日志歷史信息vsga 數據庫SGA信息
v p a r a m e t e r 初始化參數信息 v parameter 初始化參數信息 v parameter初始化參數信息vprocess 數據庫服務器進程信息
v b g p r o c e s s 數據庫后臺進程信息 v bgprocess 數據庫后臺進程信息 v bgprocess數據庫后臺進程信息vcontrolfile_record_section 控制文件記載的各部分信息
v t h r e a d 線程信息 v thread 線程信息 v thread線程信息vdatafile_header 數據文件頭所記載的信息
v a r c h i v e d l o g 歸檔日志信息 v archived_log 歸檔日志信息 v archivedl?og歸檔日志信息varchive_dest 歸檔日志的設置信息
v l o g m n r c o n t e n t s 歸檔日志分析的 D M L D D L 結果信息 v logmnr_contents 歸檔日志分析的DML DDL結果信息 v logmnrc?ontents歸檔日志分析的DMLDDL結果信息vlogmnr_dictionary 日志分析的字典文件信息
v l o g m n r l o g s 日志分析的日志列表信息 v logmnr_logs 日志分析的日志列表信息 v logmnrl?ogs日志分析的日志列表信息vtablespace 表空間信息
v t e m p f i l e 臨時文件信息 v tempfile 臨時文件信息 v tempfile臨時文件信息vfilestat 數據文件的I/O統計信息
v u n d o s t a t U n d o 數據信息 v undostat Undo數據信息 v undostatUndo數據信息vrollname 在線回滾段信息
v s e s s i o n 會話信息 v session 會話信息 v session會話信息vtransaction 事務信息
v r o l l s t a t 回滾段統計信息 v rollstat 回滾段統計信息 v rollstat回滾段統計信息vpwfile_users 特權用戶信息
v s q l a r e a 當前查詢過的 s q l 語句訪問過的資源及相關的信息 v sqlarea 當前查詢過的sql語句訪問過的資源及相關的信息 v sqlarea當前查詢過的sql語句訪問過的資源及相關的信息vsql 與v s q l a r e a 基本相同的相關信息 v sqlarea基本相同的相關信息 v sqlarea基本相同的相關信息vsysstat 數據庫系統狀態信息
4.all_開頭表
all_users 數據庫所有用戶的信息
all_objects 數據庫所有的對象的信息
all_def_audit_opts 所有默認的審計設置信息
all_tables 所有的表對象信息
all_indexes 所有的數據庫對象索引的信息
5.session_開頭表
session_roles 會話的角色信息
session_privs 會話的權限信息
6.index_開頭表
index_stats 索引的設置和存儲信息
二.oracle最重要的9個動態性能視圖
v s e s s i o n + v session + v session+vsession_wait (在10g里功能被整合,湊合算1個吧.)
v p r o c e s s v process v processvsql
v s q l t e x t v sqltext v sqltextvbh (更寧愿是x b h ) v bh) v bh)vlock
v l a t c h c h i l d r e n v latch_children v latchc?hildrenvsysstat
v$system_event
三.按組分的幾組重要的性能視圖
1.System的over view
v s y s s t a t , v sysstat,v sysstat,vsystem_event,v$parameter
2.某個session的當前情況
v p r o c e s s , v process,v process,vsession,v s e s s i o n w a i t , v session_wait,v sessionw?ait,vsession_event,v$sesstat
3.SQL的情況
v s q l , v sql,v sql,vsqlarea,v S Q L P L A N , V SQL_PLAN,V SQLP?LAN,VSQL_PLAN_STATISTICS,v$sqltext_with_newlines
4.Latch/lock/ENQUEUE
v l a t c h , v latch,v latch,vlatch_children,v l a t c h h o l d e r , v latch_holder,v latchh?older,vlock,V E N Q U E U E S T A T , V ENQUEUE_STAT,V ENQUEUES?TAT,VENQUEUE_LOCK
5.IO方面的
分類
視圖有三種實例:user_(當前用戶所擁有對象的有關信息),all_(當前用戶可訪問對象的信息),dba_(數據庫中所有對象的信息)。
查詢數據字典數據時使用大寫字母。可用upper\lower函數轉換。
一下以user_實例舉例(如沒有user_,則依次以all_、dba_*舉例)。
類別
關系群集、表、視圖
群集 user_clusters 群集
user_cluster_hash_expressions 群集使用的群集散列函數
user_clu_columns 表列到群集列的映射(無all_*)
表和視圖 user_tables 關系表
user_all_tables 表(user_all_tables是user_tables與user_object_tables的集合)
user_tab_columns 表列
user_tab_comments 表的注釋
user_col_comments 表和視圖的列的注釋
user_refs 對象類型列的屬性和REF列
user_partial_drop_tabs 被部分放棄的表
user_unused_col_tabs 帶有未使用列的表
user_updatable_columns 聯合視圖中更新的列
user_views 視圖
集合、LOB、對象類型和對象表
集合 user_coll_types 集合類型
user_varrays varray數組類型
user_nested_tables 嵌套表
大型對象 user_lobs LOB
對象表類型user_types 對象類型
user_type_attrs 對象類型的屬性
user_type_methods 對象類型的方法
user_object_tables 對象表
oracle視圖
設備環境 all_conext(all_context) 設備環境
維數 user_dimensions 維數
user_dim_hierarchies 維數分層
user_dim_levels 維數的級別
user_dim_level_key 維數級別的列
user_dim_attributes 維數的相關列和維數級之間的關系
user_dim_child_of 維數級別之間的關系
user_dim_join_key 維數間的聯合
操作符 user_operators 操作符的基本信息
user_opancillary 操作符的輔助信息
user_oparguments 操作符的參數
user_opbindings 操作符的綁定功能
摘要 user_outlines 摘要
user_outline_hints 摘要的提示
策略 user_policies 表和視圖的策略
其他數據庫對象
數據庫任務 user_jobs 數據庫任務
數據庫連接 user_db_links 數據庫連接
目錄 all_directories 目錄
庫 user_libraries 庫(字典)
序列 user_sequences 序列
替代名 user_synonyms 替代名(同義詞)
分區和子分區
user_part_tables 已分區表
user_tab_partitions 表的分區
user_tab_subpartitions 表的子分區
user_part_indexes 已分區索引
user_ind_partitions 索引分區
user_ind_subpartitions 索引子分區
user_part_lobs 表中的LOB數據分區
user_lob_partitions LOB分區
user_lob_subpartitions LOB子分區
user_part_key_columns 已分區對象的分區關鍵字列
user_subpart_key_columns 使用組合范圍/散列法分區的表的子分區關鍵字列
user_part_col_statistics 表分區統計和其他信息
user_subpart_col_statistics 表子分區的列統計
user_part_histograms 表的分區的直方圖
user_subpart_histograms 表的子分區的直方圖
索引
user_indexes 索引
user_ind_columns 索引列
user_ind_expressions 索引的函數索引表達式
user_indextypes 索引類型
user_indextype_operators 索引類型支持的操作符
實現視圖、摘要、快照
實現視圖 user_mviews 物化視圖
user_mview_logs 物化視圖日志
user_mview_comments 物化視圖注釋
user_mview_refresh_times 物化視圖刷新時間
user_mview_analysis 物化視圖的附加信息
user_mview_detail_relations 物化視圖FROM列表的詳細關系
user_mview_keys 物化視圖列(或者 GROUP BY子句中的列)
user_mview_joins 物化視圖WHERE子句中各列間的聯合
user_mview_aggregates 物化視圖選擇列表中的成組功能
快照 user_refresh 快照刷新組
user_refresh_children 快照刷新組的對象
user_snapshots 快照
user_snapshot_logs 快照日志
user_snapshot_refresh_time 快照的刷新次數
user_registered_snapshots 已注冊快照
all_refresh_dependencies 快照的從屬或容器表 (只要all一種)
摘要 user_summaries 摘要
user_summary_detail_tables 摘要FROM列表的詳細關系
user_summary_keys 摘要列(或者 GROUP BY子句中的列)
user_summary_joins 摘要WHERE子句中各列間的聯合
user_summary_aggregates 摘要選擇列表中的成組功能
3.8 子程序、方法、觸發器
子程序 user_procedures 子程序名(包括過程、函數、包)
user_arguments 子程序參數(包括過程、函數、包)
方法 user_method_params 對象類型方法的參數
user_method_results 對象類型方法的返回值
觸發器 user_triggers 觸發器
user_trigger_cols 觸發器的列
統計和審計
統計 user_ustats 對象的統計
user_tab_col_statistics 表列的統計
user_tab_histograms 表和視圖的直方圖
user_associations 數據庫對象的用戶自定義統計
審計 all_def_audit_opts 對象的默認審計選項
audit_actions 審計跟蹤類型碼的說明
權限和授權
系統權限 user_sys_privs 用戶系統權限
表權限 user_tab_privs 授予作為擁有者、授權者、權限受讓者對象的權限
user_tab_privs_made 授予當前用戶對象的權限
all_tab_privs_recd 授予作為權限受讓者的用戶對象的權限
列權限 user_col_privs 授予作為擁有者、授權者、或受讓者的用戶的可授訪問表或視圖列的權限
user_col_privs_made 授予當前用戶表或視圖列的權限
user_col_privs_recd 授予作為權限受讓者用戶表或視圖列權限
屬性
表(視圖)的屬性(列)信息查看sql如下(以視圖user_coll_types舉例):
select lower(column_name) column_name,nullable,decode(data_type,‘VARCHAR2’,data_type||‘(’||char_length||‘)’,data_type) data_type
from dba_tab_columns
where lower(table_name)=‘user_coll_types’ order by column_id;
–》調整類型
select lower(column_name) column_name,nullable,data_type||‘(’||data_length||‘)’ data_type
from dba_tab_columns
where lower(table_name)=‘user_coll_types’ order by column_id;
常用內部視圖(Data Dictionary Views):**
-
用戶權限相關視圖:
DBA_USERS
:所有用戶的詳細信息。USER_USERS
:當前用戶的基本信息。DBA_ROLE_PRIVS
/USER_ROLE_PRIVS
/ALL_ROLE_PRIVS
:角色權限分配情況。DBA_SYS_PRIVS
/USER_SYS_PRIVS
/ALL_SYS_PRIVS
:系統權限分配情況。
-
對象管理相關視圖:
DBA_OBJECTS
/USER_OBJECTS
/ALL_OBJECTS
:關于數據庫所有對象的信息。DBA_TABLES
/USER_TABLES
/ALL_TABLES
:所有/當前用戶擁有的表信息。DBA_TAB_COLUMNS
/USER_TAB_COLUMNS
/ALL_TAB_COLUMNS
:表的列信息。DBA_TAB_PARTITIONS
/USER_TAB_PARTITIONS
/ALL_TAB_PARTITIONS
:分區表的分區信息。
-
性能監控相關視圖:
V$SESSION
:當前數據庫會話信息。V$SQL
/GV$SQL
:執行過的SQL語句及其統計信息。V$SYSTEM_EVENT
:等待事件統計信息。V$SGA
/V$PGA
:共享池和程序全局區的信息。V$DATABASE
/V$INSTANCE
:數據庫和實例基本信息。
-
空間使用及物理存儲相關視圖:
DBA_DATA_FILES
/DBA_TEMP_FILES
:數據文件和臨時文件信息。DBA_FREE_SPACE
:表空間剩余空間信息。DBA_SEGMENTS
/USER_SEGMENTS
/ALL_SEGMENTS
:段級別空間使用情況。
-
其他重要視圖:
DBA_JOBS
/USER_JOBS
:調度任務信息。DBA_TRIGGERS
/USER_TRIGGERS
/ALL_TRIGGERS
:觸發器信息。DBA_SOURCE
/USER_SOURCE
:PL/SQL源代碼信息。DBA_RECYCLEBIN
:回收站中的已刪除對象信息。
內部表(實際數據庫內部使用的表,通常由系統管理,不建議直接操作):
- Oracle內部使用的一些表如
SYS.AUD$
(審計信息)、SYS.USER$
(用戶賬戶元數據)等,它們是數據庫運行的核心組成部分,除非有特殊需求且按照官方文檔指導,否則不應直接查詢或修改這些內部表。