ORACLE系统表大全
下面全面是對Oracle系統表的一些介紹: 數據字典dict總是屬于Oracle用戶sys的。
1、用戶:
select username from dba_users;
改口令
alter user spgroup identified by spgtest;
2、表空間:
select * from dba_data_files;
select * from dba_tablespaces;//表空間
?
select tablespace_name,sum(bytes), sum(blocks)
from dba_free_space group by tablespace_name;//空閑表空間
?
select * from dba_data_files
where tablespace_name='RBS';//表空間對應的數據文件
?
select * from dba_segments
where tablespace_name='INDEXS';
3、數據庫對象:
select * from dba_objects;
CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、
PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
4、表:
select * from dba_tables;
analyze my_table compute statistics;->dba_tables后6列
select extent_id,bytes from dba_extents
where segment_name='CUSTOMERS' and segment_type='TABLE'
order by extent_id;//表使用的extent的信息。segment_type='ROLLBACK'查看回滾段的空間分配信息
列信息:
select distinct table_name
from user_tab_columns
where column_name='SO_TYPE_ID';
5、索引:
select * from dba_indexes;//索引,包括主鍵索引
select * from dba_ind_columns;//索引列
select i.index_name,i.uniqueness,c.column_name
from user_indexes i,user_ind_columns c
where i.index_name=c.index_name
and i.table_name ='ACC_NBR';//聯接使用
6、序列:
select * from dba_sequences;
7、視圖:
select * from dba_views;
select * from all_views;
text 可用于查詢視圖生成的腳本
8、聚簇:
select * from dba_clusters;
9、快照:
select * from dba_snapshots;
快照、分區應存在相應的表空間。
10、同義詞:
select * from dba_synonyms
where table_owner='SPGROUP';
//if owner is PUBLIC,then the synonyms is a public synonym.
if owner is one of users,then the synonyms is a private synonym.
11、數據庫鏈:
select * from dba_db_links;
在spbase下建數據庫鏈
create database link dbl_spnew
connect to spnew identified by spnew using 'jhhx';
insert into acc_nbr@dbl_spnew
select * from acc_nbr where nxx_nbr='237' and line_nbr='8888';
12、觸發器:
select * from dba_trigers;
存儲過程,函數從dba_objects查找。
其文本:select text from user_source where name='BOOK_SP_EXAMPLE';
建立出錯:select * from user_errors;
oracle總是將存儲過程,函數等軟件放在SYSTEM表空間。
13、約束:
(1)約束是和表關聯的,可在create table或alter table table_name add/drop/modify來建立、修改、刪除約束。
可以臨時禁止約束,如:
alter table book_example
disable constraint book_example_1;
alter table book_example
enable constraint book_example_1;
(2)主鍵和外鍵被稱為表約束,而not null和unique之類的約束被稱為列約束。通常將主鍵和外鍵作為單獨的命名約束放在字段列表下面,而列約束可放在列定義的同一行,這樣更具有可讀性。
(3)列約束可從表定義看出,即describe;表約束即主鍵和外鍵,可從dba_constraints和dba_cons_columns 查。
select * from user_constraints
where table_name='BOOK_EXAMPLE';
select owner,CONSTRAINT_NAME,TABLE_NAME
from user_constraints
where constraint_type='R'
order by table_name;
(4)定義約束可以無名(系統自動生成約束名)和自己定義約束名(特別是主鍵、外鍵)
如:create table book_example
(identifier number not null);
create table book_example
(identifier number constranit book_example_1 not null);
?
?
?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用戶模式的索引信息
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?? 散列簇的信息
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?? 數據庫系統狀態信息
all_開頭
?? all_users? 數據庫所有用戶的信息
?? all_objects? 數據庫所有的對象的信息
?? all_def_audit_opts? 所有默認的審計設置信息
?? all_tables? 所有的表對象信息
?? all_indexes所有的數據庫對象索引的信息
session_開頭
?? session_roles?? 會話的角色信息
?? session_privs?? 會話的權限信息
index_開頭
?? index_stats? 索引的設置和存儲信息
偽表
?? dual? 系統偽列表信息
?
?
1、sysobjects
系統對象表。 保存當前數據庫的對象,如約束、默認值、日志、規則、存儲過程等
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 = 擴展存儲過程
該表中包含該數據庫中的所有對象,如有那些表 存儲過程 視圖 等信息
2、sysColumns 數據庫字段表。 當前數據庫的所有字段都保留在里面。
重要字段解釋:
sysColumns (
name sysname, ——字段名稱
id int, ——該字段所屬的表的ID
xtype tinyInt, ——該字段類型,關聯sysTypes表
length smallint, ——該字段物理存儲長度
……
)
比如要查詢某一個張表的有那些字段和這些字段的長度
3、sysUsers
當前數據庫的系統組,以及用戶。
sysUsers(
uid smallint, ——用戶id
name smallint , ——名稱
uid varbinary(85) , ——屬于一個登陸
……
)
對數據庫的用戶進行管理
4、sysdenpends
當前數據庫的依賴關系。 比如我要修改某一張的結構時,怕修改后會影響到其它的視圖 函數 存儲過程 ,這是在修改之前可以查詢一下。那些視圖 函數 存儲過程調用了這個表的這樣在修改后就可以修改的視圖 函數 存儲過程,
一般程序員用到的系統表,基本也就這幾個, 其他的特殊的系統表(主要都在master 或者 tempdb )里面了 .
一個有用的例子:(查詢表的創建者)
SELECT?? owner?? FROM???? DBA_ALL_TABLES?? WHERE?? table_name=upper('表名');
??
?
Oracle數據庫的系統參數都存儲在數據庫中,可以通過SQLPLUS,以用戶SYSYTEM進行查詢。
1.幾個重要的表或者視圖如下:
v$controlfile:控制文件的信息;
v$datafile:數據文件的信息;
v$log:日志文件的信息;
v$process:處理器的信息;
v$session:會話信息;
v$transaction:事務信息;
v$resource:資源信息;
v$sga:系統全局區的信息。
上面的視圖名中的‘v$’,只是視圖名字中的字符。類似于上面的視圖或表還有很多,位于:
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。
這些視圖或表可以在SQLPLUS中用SELECT語句進行查詢。
2.數據字典視圖
表和列
DBA_TABLES、ALL_TABLES和USER_TABLES顯示了有關數據庫表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS顯示了每個數據庫表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS顯示了模式對象的信息,包括表。
完整性約束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST顯示有關約束的一般信息。
DBA_CONS_COL
轉的多了,自然也就會了. 出處:http://www.cnblogs.com/jin20000/archive/2013/04/22/3035375.html轉載于:https://www.cnblogs.com/mq0036/p/4157267.html
總結
以上是生活随笔為你收集整理的ORACLE系统表大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JPG各种输入框样式
- 下一篇: Windows下配置sphinx+reS