Oracle 中常用数据字典大总结
原文出处:小宝马的爸爸 - 梦想的家园
前面呢,也断断续续的介绍了一些诸如 Sql*Plus 等等关于 Oracle 的基本的内容,
对于 Oracle 这样的大型数据库呢,自身的运行和维护也是个不得了的事情,
所以在 Oracle 中存在 n 多的数据字典,数据字典作为一种元数据呢,
在 Oracle 中的作用就是存放整个数据库实例的基本信息,实质上也就是一组表,
这些数据字典呢,很多都是归 SYS 用户所有的。
这一篇博文呢就是针对 Oracle 的数据字典做一个比较全面的介绍,
介绍方法,就是列出一些常用的数据字典了,
下面列出的这些数据字典,本人均在 Oracle 11g R1 上,
通过 Oracle Sql Developer 进行过测试的,全部通过。
其中很多的数据字典都必须以 system 或者是 sysdba 用户登录才能够使用的。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | ---数据库实例的基本信息 desc v$instance; select * from v$instance; --数据文件的基本信息 desc v$datafile; select * from v$datafile; desc dba_data_files; select file_name,file_id,tablespace_name,bytes,blocks, status,online_status from dba_data_files; --临时文件的基本信息 desc dba_temp_files; select file_name,file_id,tablespace_name,status, bytes/1024/1024 大小MB from dba_temp_files; --控制文件的基本信息 desc v$controlfile; select name ,status,is_recovery_dest_file, block_size,file_size_blks from v$controlfile; --日志文件的基本信息 desc v$logfile; select group #,status,type,member,is_recovery_dest_file from v$logfile; --数据库的基本信息 desc v$ database ; select * from v$ database ; select dbid, name ,created,resetlogs_time,log_mode, open_mode,checkpoint_change#,archive_change#, controlfile_created,controlfile_type, controlfile_sequence#,controlfile_change#, controlfile_time,protection_mode,database_role from v$ database ; --日志文件参数信息 show parameter log_archive_dest; --访问参数文件 desc v$parameter; select num, name ,type,value,display_value, isdefault,isses_modifiable, issys_modifiable,isinstance_modifiable from v$parameter; select * from v$parameter; select name ,value,description from v$parameter; --后台进程信息 desc v$bgprocess; select paddr,pserial#, name ,description,error from v$bgprocess; --DBA 用户的所有的表的基本信息 desc dba_tables; desc dba_tab_columns; select owner,table_name,column_name,data_type,data_length, global_stats,data_upgraded,histogram from dba_tab_columns; --DBA 用户的所有的视图的基本信息 desc dba_views; select owner,view_name,read_only from dba_views; --DBA 用户的所有的同义词的基本信息 desc dba_synonyms; select owner,synonym_name,table_owner, table_name,db_link from dba_synonyms; --DBA 用户的所有的序列的信息 desc dba_sequences; select sequence_owner,sequence_name,min_value,max_value, cycle_flag from dba_sequences; --DBA 用户的所有的约束的信息 desc dba_constraints; select owner,constraint_name,constraint_type, table_name,status from dba_constraints; --DBA 用户的所有的索引的基本信息 desc dba_indexes; select owner,index_name,index_type,table_owner,table_name, table_type,uniqueness,compression,logging,status from dba_indexes; --DBA 用户的所有的触发器的基本信息 desc dba_triggers; select owner,trigger_name,trigger_type, table_owner,table_name,column_name from dba_triggers; --DBA 用户的所有的存储过程的基本信息 desc dba_source; select owner, name ,type,line,text from dba_source; --DBA 用户的所有的段的基本信息 desc dba_segments; select owner,segment_name,segment_type, tablespace_name,blocks,extents from dba_segments; --DBA 用户的所有的区的基本信息 desc dba_extents select owner,segment_name,segment_type, tablespace_name,extent_id,file_id,blocks from dba_extents; --DBA 用户的所有的对象的基本信息 desc dba_objects; select owner,object_name,subobject_name, object_id,data_object_id,object_type, created,status,namespace from dba_objects; --当前用户可以访问的所有的基表 desc cat; select table_name from cat; --当前用户可以访问的所有的基表,视图,同义词 desc system.tab; select tname,tabtype,clusterid from system.tab; --构成数据字典的所有的表信息 desc dict; select table_name,comments from dict; -- 查询关于表空间的一些基本的数据字典 desc dba_tablespaces; select tablespace_name,block_size,status, logging,extent_management from dba_tablespaces; desc dba_free_space; select tablespace_name,file_id,block_id, bytes/1024/1024 大小MB,blocks,relative_fno from dba_free_space; --归档状态的一些基本信息 desc v$archived_log; select name ,dest_id,blocks,block_size, archived,status,backup_count from v$archived_log; --关于内存结构的一些信息 desc v$sga; select name ,value/1024/1024 大小MB from v$sga; desc v$sgastat; select pool, name ,bytes from v$sgastat; desc v$db_object_cache; select owner, name ,db_link,type,namespace,locks from v$db_object_cache; desc v$sql; select sql_text,sql_id,cpu_time from v$sql; |
上面的呢就是 Oracle 中较常使用的数据字典了,
需要提一下的是,上面有很多都是以 “dba_”开头的数据字典,
比如有 dba_tables ,其实呢,这个是列出了数据库中所有的数据,
比如使用 dba_tables 就会列出数据库中所有的数据表(n 多),
但是您可以使用 user_tables 或者 all_tables 来代替 dba_tables,当然有一些是没有与之对应的,
这样呢,就只会列出当前登录用户允许查看的数据表了,
对于以“dba_”基本上都是有与之相对应的“user_”和“all_”,
其中“user_”对应的是记录当前登陆用户的对象,
而“all_”则是记录当前登陆用户的对象信息以及被授权访问的对象信息,
而“dba_”是包含数据库实例的所有对象信息!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异