熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

如何有效的利用ORACLE數據字典

2013-11-13 16:11:11  來源: Oracle 
ORACLE的數據字典是數據庫的重要組成部分之一它隨著數據庫的產生而產生 隨著數據庫的變化而變化
體現為sys用戶下的一些表和視圖數據字典名稱是大寫的英文字符

    數據字典裡存有用戶信息用戶的權限信息所有數據對象信息表的約束條件統計分析數據庫的視圖等
我們不能手工修改數據字典裡的信息

  很多時候一般的ORACLE用戶不知道如何有效地利用它

  dictionary   全部數據字典表的名稱和解釋它有一個同義詞dict
    dict_column   全部數據字典表裡字段名稱和解釋
   
    如果我們想查詢跟索引有關的數據字典時可以用下面這條SQL語句:
   
    SQL>;select * from dictionary where instr(commentsindex)>;;
   
    如果我們想知道user_indexes表各字段名稱的詳細含義可以用下面這條SQL語句:
   
    SQL>;select column_namecomments from dict_columns where table_name=USER_INDEXES;
   
    依此類推就可以輕松知道數據字典的詳細名稱和解釋不用查看ORACLE的其它文檔資料了
   
    下面按類別列出一些ORACLE用戶常用數據字典的查詢使用方法
   
    一用戶

     查看當前用戶的缺省表空間
     SQL>;select usernamedefault_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;
         
     查看名稱包含log字符的表
     SQL>;select object_nameobject_id from user_objects
         where instr(object_nameLOG)>;;
     
     查看某表的創建時間
     SQL>;select object_namecreated from user_objects where object_name=upper(&table_name);
     
     查看某表的大小
     SQL>;select sum(bytes)/(*) as size(M) from user_segments
         where segment_name=upper(&table_name);
     
     查看放在ORACLE的內存區裡的表
     SQL>;select table_namecache from user_tables where instr(cacheY)>;;
     
    三索引
   
     查看索引個數和類別
     SQL>;select index_nameindex_typetable_name from user_indexes order by table_name;
     
     查看索引被索引的字段
     SQL>;select * from user_ind_columns where index_name=upper(&index_name);
     
     查看索引的大小
     SQL>;select sum(bytes)/(*) as size(M) from user_segments
         where segment_name=upper(&index_name);
     
    四序列號
   
     查看序列號last_number是當前值
     SQL>;select * from user_sequences;
   
    五視圖
   
     查看視圖的名稱
     SQL>;select view_name from user_views;
     
     查看創建視圖的select語句
     SQL>;set view_nametext_length from user_views;
     SQL>;set long ; 說明可以根據視圖的text_length值設定set long 的大小
     SQL>;select text from user_views where view_name=upper(&view_name);
   
    六同義詞
   
     查看同義詞的名稱
     SQL>;select * from user_synonyms;
   
    七約束條件
   
     查看某表的約束條件
     SQL>;select constraint_name constraint_typesearch_condition r_constraint_name
         from user_constraints where table_name = upper(&table_name);
         
SQL>;select nstraint_namenstraint_typelumn_name  
    from user_constraints cuser_cons_columns cc
    where cowner = upper(&table_owner) and ctable_name = upper(&table_name)
    and cowner = ccowner and nstraint_name = nstraint_name
    order by ccposition;         
   
    八存儲函數和過程
   
     查看函數和過程的狀態
     SQL>;select object_namestatus from user_objects where object_type=FUNCTION;
     SQL>;select object_namestatus from user_objects where object_type=PROCEDURE;
     
     查看函數和過程的源代碼
     SQL>;select text from all_source where owner=user and name=upper(&plsql_name);

From:http://tw.wingwit.com/Article/program/Oracle/201311/17947.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.