szhswl
          宋針還的個人空間
                  ORACLE的數據字典是數據庫的重要組成部分之一,它隨著數據庫的產生而產生, 隨著數據庫的變化而變化,
          體現為sys用戶下的一些表和視圖。數據字典名稱是大寫的英文字符。

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

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

            dictionary   全部數據字典表的名稱和解釋,它有一個同義詞dict
                  dict_column  全部數據字典表里字段名稱和解釋

          如果我們想查詢跟索引有關的數據字典時,可以用下面這條SQL語句:

          SQL>select * from dictionary where instr(comments,index)>0;

          如果我們想知道user_indexes表各字段名稱的詳細含義,可以用下面這條SQL語句:

          SQL>select column_name,comments from dict_columns where table_name=USER_INDEXES;

          依此類推,就可以輕松知道數據字典的詳細名稱和解釋,不用查看ORACLE的其它文檔資料了。

          下面按類別列出一些ORACLE用戶常用數據字典的查詢使用方法。

          一、用戶

          查看當前用戶的缺省表空間
          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;

          查看名稱包含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;

          三、索引

          查看索引個數和類別
          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);

          四、序列號

          查看序列號,last_number是當前值
          SQL>select * from user_sequences;

          五、視圖

          查看視圖的名稱
          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);

          六、同義詞

          查看同義詞的名稱
          SQL>select * from user_synonyms;

          七、約束條件

          查看某表的約束條件
          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;

          八、存儲函數和過程

          查看函數和過程的狀態
          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);


          ---------------------------------------------------------------------------------------------------------------------------------
          說人之短,乃護己之短。夸己之長,乃忌人之長。皆由存心不厚,識量太狹耳。能去此弊,可以進德,可以遠怨。
          http://www.aygfsteel.com/szhswl
          ------------------------------------------------------------------------------------------------------ ----------------- ---------
          posted on 2007-12-04 15:12 宋針還 閱讀(266) 評論(0)  編輯  收藏 所屬分類: SQL
          主站蜘蛛池模板: 繁峙县| 西丰县| 昌邑市| 广元市| 德兴市| 绥德县| 香河县| 克山县| 海城市| 濮阳县| 清远市| 嫩江县| 海阳市| 阜城县| 大名县| 河源市| 博白县| 凌源市| 怀化市| 岗巴县| 岢岚县| 宁远县| 景东| 衡阳市| 同心县| 瑞安市| 盐源县| 大兴区| 天镇县| 淳安县| 渝中区| 甘泉县| 灵台县| 固镇县| 塔河县| 突泉县| 通道| 龙陵县| 平昌县| 资兴市| 合山市|