Oracle常用系统表
1.1 基于SQL的常用系統表
1.2.1 系統對象表 sysobjects?
功能說明:保存當前數據庫的對象,如約束、默認值、日志、規則、存儲過程等
重要字段解釋:
sysObjects (
Name sysname, ——object 名稱
id int, ——object id
xtype char(2), —— object 類型
type char(2), —— Object 類型(與xtype 似乎一模一樣? 有點郁悶…)
uid smallint, —— object 所有者的ID
…… ——其他的字段不常用到。
)
注意事項:需要解釋的是 xtype 和type 是一模一樣的,他的數據為:
C = CHECK 約束
D = 默認值或 DEFAULT 約束
F = FOREIGN KEY 約束
FN = 標量函數
IF = 內嵌表函數
K = PRIMARY KEY 或 UNIQUE 約束
L = 日志
P = 存儲過程
R = 規則
RF = 復制篩選存儲過程
S = 系統表
TF = 表函數
TR = 觸發器
U = 用戶表
V = 視圖
X = 擴展存儲過程
該表中包含該數據庫中的所有對象,如有那些表 存儲過程 視圖 等信息
1.2.2 數據庫字段表 sysColumns
功能說明:當前數據庫的所有字段都保留在里面。
重要字段解釋:
sysColumns (
name sysname, ——字段名稱
id int, ——該字段所屬的表的ID
xtype tinyInt, ——該字段類型,關聯sysTypes表
length smallint, ——該字段物理存儲長度
……
)
比如要查詢某一個張表的有那些字段和這些字段的長度
1.2.3 系統用戶表 sysUsers
當前數據庫的系統組,以及用戶。
sysUsers(
uid smallint, ——用戶id
name smallint , ——名稱
uid varbinary(85) , ——屬于一個登陸
……
)
對數據庫的用戶進行管理
1.2.4 sysdenpends ?
當前數據庫的依賴關系。 比如我要修改某一張的結構時,怕修改后會影響到其它的視圖 函數 存儲過程 ,這是在修改之前可以查詢一下。那些視圖 函數 存儲過程調用了這個表的
這樣在修改后就可以修改的視圖 函數 存儲過程,
一般程序員用到的系統表,基本也就這幾個 其他的特殊的系統表(主要都在master 或者 tempdb )里面了
1.2 DBA常用的表
1.2.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 用戶模式的索引信息?
1.2.2 user_開頭?
? user_objects 用戶對象信息?
? user_source 數據庫用戶的所有資源對象信息?
? user_segments 用戶的表段信息?
? user_tables 用戶的表對象信息?
? user_tab_columns 用戶的表列信息?
? 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 散列簇的信息?
1.2.3 v$開頭?
? v$database 數據庫信息?
? v$datafile 數據文件信息?
? v$controlfile 控制文件信息?
? v$logfile 重做日志信息?
? v$instance 數據庫實例信息?
? v$log 日志組信息?
? v$loghist 日志歷史信息?
? v$sga 數據庫SGA信息?
? v$parameter 初始化參數信息?
? v$process 數據庫服務器進程信息?
? v$bgprocess 數據庫后臺進程信息?
? v$controlfile_record_section 控制文件記載的各部分信息?
? v$thread 線程信息?
? v$datafile_header 數據文件頭所記載的信息?
? v$archived_log 歸檔日志信息?
? v$archive_dest 歸檔日志的設置信息?
? v$logmnr_contents 歸檔日志分析的DML DDL結果信息?
? v$logmnr_dictionary 日志分析的字典文件信息?
? v$logmnr_logs 日志分析的日志列表信息?
? v$tablespace 表空間信息?
? v$tempfile 臨時文件信息?
? v$filestat 數據文件的I/O統計信息?
? v$undostat Undo數據信息?
? v$rollname 在線回滾段信息?
? v$session 會話信息?
? v$transaction 事務信息?
? v$rollstat 回滾段統計信息?
? v$pwfile_users 特權用戶信息?
? v$sqlarea 當前查詢過的sql語句訪問過的資源及相關的信息?
? v$sql 與v$sqlarea基本相同的相關信息?
? v$sysstat 數據庫系統狀態信息?
1.2.4 all_開頭?
? all_users 數據庫所有用戶的信息?
? all_objects 數據庫所有的對象的信息?
? all_def_audit_opts 所有默認的審計設置信息?
? all_tables 所有的表對象信息?
? all_indexes 所有的數據庫對象索引的信息?
??
1.2.5 session_開頭?
? session_roles 會話的角色信息?
? session_privs 會話的權限信息?
1.2.6 index_開頭?
? index_stats 索引的設置和存儲信息?
1.2.7 偽表?
? dual 系統偽列表信息
軟件環境:?
1、操作系統:Windows 2000 Server
2、數 據 庫:Oracle 8i R2 (8.1.6) for NT 企業版
3、安裝路徑:C:/ORACLE
含義解釋:?
Dual 是 Oracle中的一個實際存在的表,任何用戶均可讀取,常用在沒有目標表的Select中。
使用方法:?
查看當前連接用戶
SQL> select user from dual;
USER
--
SYSTEM
查看當前日期、時間
SQL> select sysdate from dual;
SYSDATE
--
18-3月 -01
SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
TO_CHAR(SYSDATE,'YY
---
2001-03-18 22:37:56
當作計算器用
SQL> select 1+2 from dual;
?1+2
--
?3
查看序列值
SQL> create sequence aaa increment by 1 start with 1;
SQL> select aaa.nextval from dual;
SQL> select aaa.nextval from dual;
? NEXTVAL
--
?1
SQL> select aaa.currval from dual;
? CURRVAL
總結
以上是生活随笔為你收集整理的Oracle常用系统表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用PowerDesigner比较2个数
- 下一篇: Fire Workflow FAQ