Oracle 常用數據字典表、視圖的總結,都在這里了


 

一數據字典的分類

 

1. 靜態數據字典表的 

2. 靜態數據字典視圖 

3 動態數據字典表

 4 動態數據字典視圖

 

二 數據字典的使用

 

1. 靜態數據字典表的使用

靜態數據字典表只能由 ORACLE 進行維護。

 

2. 靜態數據字典視圖的使用 *

通常用戶通過對靜態數據字典視圖的查詢可以獲取所需 i 要的所有數據庫信息。

 

Oracle 靜態數據字典分類

 

名稱前綴                                       含義  

user_                          包含了當前數據庫用戶所擁有的所有的模式對象的信息

all_                            包含了當前數據庫用戶可以訪問的所有的模式對象的信息

dba_                           包含了所有數據庫對象信息,只有具有 DBA 角色的用戶才能而過訪

 

問的這些視圖 

例如:

select * from dba_tables

select  * from all_tables

select   * from user_tables;

注: dba_ 開頭的 必須是 sys 用戶所有 ,非 sys 用戶 需要在前面加 sys 前綴

 

下面都是一些常用的視圖家族,都有一個 DBA_ ALL_ USER_ 的視圖 

 

常用的視圖家族

col_privs   包含了表的列權限信息,包含授予者,被授予者和權限名稱等信息,

 

extents     存儲分配信息,包括數據段名 表空間名和分區編號,分區大小

 

indexes    索引信息  包含索引類型, 唯一性, 索引作用等表的信息

 

ind_columns   索引列信息  包括索引上的列的排序方式等信息

 

object      對象信息, 包括對象名稱 類型  創建時間 等信息

 

segments  表和索引的數據段信息,包括表空間,存儲設置等信息

 

sequences   序列信息 包含序列名稱 ,循環性,最大值等信息

 

source    除觸發器之外的所有存儲過程,函數,包的源代碼信息 

 

synonyms 同義詞信息   包括引用的對象等信息

 

sys_privs   系統權限信息 包括系統權限名稱 授予者

 

tab_columns   表和視圖的列信息 ,包括列的數據類型等信息 

 

tab_privs  表權限信息 

 

tables  表信息 包括表所屬的表空間 ,存儲參數 ,數據行數量等信息。

 

triggers   觸發器信息 包括觸發器的類型,事件。觸發器體等信息

 

users 用戶信息 。包括用戶臨時和默認的表空間的類型

 

views   視圖 信息  

 

權限視圖 

role_sys_privs  角色擁有的系統權限視圖

role_tab_privs  角色擁有的對象權限

user_role _ privs  用戶擁有的角色 

user_sys_privs   用戶擁有的權限的角色

user_tab_privs_mads    用戶分配的關於表對象權限

user_tab_privs_recd  用戶擁有的關於表對象權限

user_col_privs_mads  用戶分配的關於列的對象權限

user_col_privs_recd  用戶擁有的關於列的對象權限 

 

3.  動態性能表是數據庫實例啟動后 創建的表。

 

動態性能表都數據 SYS 用戶; 用於存放數據庫在運行的過程中的性能相關的信息。 

通過以下的視圖查看 

 select name from  v_$fixed_table;

 

4. 動態性能視圖的使用;

 

只有 sys 用戶和擁有 DBA 角色的用戶可以訪問 。

在數據庫啟動到 NOMOUNT 的狀態時 可以訪問 v$ parameter v$sga  v$session v$process v$instance v$version v$option 

 

當數據庫啟動到 mount 的狀態時 我們還可以訪問 v$ log v$logfiel v$datafile v$controlfile  v$ database v$thread  v$datafile_header  

當數據庫完全啟動后。可以訪問 v_$fixed_table

 

動態性能視圖的使用

v$access   包含當前被鎖定的數據庫對象及正在訪問他們的會話

v$archive  包含歸檔所需的重做日志文件中的信息

v$ archived_log   包含從控制文件中獲取的歸檔日志信息。

v$archive_processes  包含於一個實例相關的 arch 進程的狀態信息 

v$ backup   包含聯機數據文件的備份狀態信息 

v$backup_async_io   包括從控制文件中獲取的備份集的信息 

v$ backup_corruption   包含從控制文件中獲取的有關數據文件備份中損壞的信息。

v$ backup_datafile   包含從控制文件中獲取的備份的數據文件和備份控制文件的信息

v$ backup_device   包含支持備份設備的信息

v$backup_piece     包含從控制文件中獲取的備份塊的信息

v$backup_redolog    包含從控制文件中獲取的關於備份集的歸檔日志的信息

v$backup_set    包含從控制文件中獲取的備份集的信息

v$bgprocess 包含數據庫后台進程信息

v$ buffer_pool   包含當前實例中所有可用緩沖池的信息

v$ buffer_pool_statistics  包含當前實例所有可用緩沖池的統計信息

v$ cache   包含當前實例的 SGA 中的每一塊的頭部信息

v$context   包含當前對話的屬性信息。

v$controlfile   包含控制文件信息

v$ controlfile_record_section   包含控制文件記錄部分的信息

v$ copy_curruption 包含從控制問價中獲取的數據文件副本損壞的信息 

v$database  包含從控制文件中獲取的數據庫信息 

v$datafile   包含從控制文件中獲取的數據文件信息

v$datafile_copy  包括從控制文件中獲取的數據文件副本的信息

v$datafile_header  包含數據文件頭部信息

v$ db_object_cache  包含緩存在庫高速緩沖中的數據庫對象信息

v$db_pipes   包含當前數據庫中的管道信息

v$deleted_object   包含從控制文件中獲取的被刪除的歸檔日志,數據文件副本和備份塊的信息

v$ dispatcher_rate   包含調度進程速率統計量的信息

v$ dispatche   包含調度進程的信息

 v$ DLM_ALL_LOCKS  包含當前所有鎖

v$ DLM_CONVERT_LOCAL   包含本地鎖轉換操作所消耗的時間的信息 

v$ EVENT_NAME   包含等待時間的信息

v$ fixed_table   包含所有可用的動態性能視圖和動態性能表的信息 

v$ sysstat   包含當前實例的性能統計信息

v$ instance  包含當前實例的詳細信息 

v$sga  包含 SGA 區的主要組成部分的信息 

v$ sgainfo   包含 SGA 區的詳細消息 

v$ parameter 包含初始化參數信息 

v$ sversion   包含 Oracle 版本信息 

v$ option  包含已安裝的 Oraclette 組件的選項信息 

v$session   包含當前所有會話信息 

v$process   包含當前系統所有進程信息 

v$ bgprocess  包含數據庫所有后台進程信息 

v$ database  包含當前數據庫信息

v$ controlfile  包含當前數據庫所有控制文件信息

v$ datafile   包含當前數據庫所有的數據文件的信息 

v$ dbfile   包含所有數據文件的編號信息 

v$ logfile   包含當前數據庫所有的重做日志文件信息

v$ log  包含當前數據庫重做日志文件信息 

v$ log_history  包含重做日志文件切換情況的歷史信息

v$ thread  包含當前數據庫線程的信息

v$ lock 包含鎖的信息 

v$ locked_object   包含被加鎖的數據庫對象信息 

v$ rollname 包含當前處於聯機狀態的回退信息 

v$ rollstat    包含當前所有的回退段的統計信息 

v$ tablespace  包含當前數據庫所有表空間信息

v$ tempfile   包含當前數據庫多有的臨時數據文件的信息 ;

 

 

查看

查看當前用戶的缺省表空間

SQL>select username,default_tablespace from user_users;

 

查看當前用戶的角色

SQL>select * from user_role_privs;

 

查看當前用戶的系統權限和表級權限

SQL>select * from user_sys_privs;

SQL>select * from user_tab_privs;

 

查看用戶下所有的表

SQL>select * from user_tables;

 

查看用戶下所有的表的列屬性

SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;

 

顯示用戶信息 (所屬表空間)

select default_tablespace,temporary_tablespace 

from dba_users where username='GAME';

 

 

1、用戶

查看當前用戶的缺省表空間

SQL>select username,default_tablespace from user_users;

 

查看當前用戶的角色

SQL>select * from user_role_privs;

 

查看當前用戶的系統權限和表級權限

SQL>select * from user_sys_privs;

SQL>select * from user_tab_privs;

 

顯示當前會話所具有的權限

SQL>select * from session_privs;

 

顯示指定用戶所具有的系統權限

SQL>select * from dba_sys_privs where grantee='GAME';

 

顯示特權用戶

select * from v$pwfile_users;

 

顯示用戶信息 (所屬表空間)

select default_tablespace,temporary_tablespace 

from dba_users where username='GAME';

 

顯示用戶的 PROFILE

select profile from dba_users where username='GAME';

 

 

2、表

查看用戶下所有的表

SQL>select * from user_tables;

 

查看名稱包含 log 字符的表

SQL>select object_name,object_id from user_objects

where instr(object_name,'LOG')>0;

 

查看某表的創建時間

SQL>select object_name,created from user_objects where object_name=upper('&table_name');

 

查看某表的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

where segment_name=upper('&table_name');

 

查看放在 Oracle 的內存區里的表

SQL>select table_name,cache from user_tables where instr(cache,'Y')>0;

 

 

3、索引

查看索引個數和類別

SQL>select index_name,index_type,table_name from user_indexes order by table_name;

查看索引被索引的字段

SQL>select * from user_ind_columns where index_name=upper('&index_name');

查看索引的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

where segment_name=upper('&index_name');

 

4、序列號

查看序列號,last_number 是當前值

SQL>select * from user_sequences;

 

5、視圖

查看視圖的名稱

SQL>select view_name from user_views;

查看創建視圖的 select 語句

SQL>set view_name,text_length from user_views;

SQL>set long 2000; 說明:可以根據視圖的 text_length 值設定 set long 的大小

SQL>select text from user_views where view_name=upper('&view_name');

 

6、同義詞

查看同義詞的名稱

SQL>select * from user_synonyms;

 

7、約束條件

查看某表的約束條件

SQL>select constraint_name, constraint_type,search_condition, r_constraint_name
from user_constraints where table_name = upper('&table_name');

 

SQL>select c.constraint_name,c.constraint_type,cc.column_name
from user_constraints c,user_cons_columns cc
where c.owner = upper('&table_owner') and c.table_name = upper('&table_name')
and c.owner = cc.owner and c.constraint_name = cc.constraint_name
order by cc.position;

 

 

8、存儲函數和過程

查看函數和過程的狀態

SQL>select object_name,status from user_objects where object_type='FUNCTION';

SQL>select object_name,status from user_objects where object_type='PROCEDURE';

查看函數和過程的源代碼

SQL>select text from all_source where owner=user and name=upper('&plsql_name');


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM