原文出处:小宝马的爸爸 - 梦想的家园

前面呢,也断断续续的介绍了一些诸如 Sql*Plus 等等关于 Oracle 的基本的内容,

对于 Oracle 这样的大型数据库呢,自身的运行和维护也是个不得了的事情,

所以在 Oracle 中存在 n 多的数据字典,数据字典作为一种元数据呢,

在 Oracle 中的作用就是存放整个数据库实例的基本信息,实质上也就是一组表,

这些数据字典呢,很多都是归 SYS 用户所有的。

这一篇博文呢就是针对 Oracle 的数据字典做一个比较全面的介绍,

介绍方法,就是列出一些常用的数据字典了,

下面列出的这些数据字典,本人均在 Oracle 11g R1 上,

通过 Oracle Sql Developer 进行过测试的,全部通过。

其中很多的数据字典都必须以 system 或者是 sysdba 用户登录才能够使用的。

---数据库实例的基本信息
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_”是包含数据库实例的所有对象信息!!!

Oracle 中常用数据字典大总结的更多相关文章

  1. Oracle中的数据字典技术及常用数据字典总结

    一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...

  2. Oracle中常用的系统函数

    本文主要来梳理下Oracle中的常用的系统函数,掌握这些函数的使用,对于我们编写SQL语句或PL/SQL代码时很有帮助,所以这也是必须掌握的知识点. 本文主要包括以下函数介绍:1.字符串函数2. 数值 ...

  3. oracle中常用的两个伪列

    伪列 伪列就行oracle中的一个列表,但世界上它并未存储在表中,伪列可以被查询但是不能被插入或者更改. rowID 该伪列返回该行地址,可以使用rowID值来定位表中的一行.通常rowID值可以标识 ...

  4. oracle中常用函数

    1.oracle中 trunc 是截取的函数,用在日期类型上,就是截取到的日或时间. select trunc(sysdate) from dual   默认是截取系统日期到日,得到 2012-12- ...

  5. oracle中 常用的 join on 相关和 集合运算的总结

    sql常用联合查询的 join on . left join(左连接) . right join (右连接).inner join (等值连接)以及常用的集合运算有:union.unionall.mi ...

  6. 【Oracle】Oracle中常用的系统函数

    Oracle SQL 提供了用于执行特定操作的专用函数.这些函数大大增强了 SQL 语言的功能.函数可以接受零个或者多个输入参数,并返回一个输出结果.在Oracle还可以自定义函数,关于更多信息可以查 ...

  7. Oracle中常用的命令,随着学习进度总结

    原创作品,欢迎转载,转载请在文章显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10016569.html 开始之前先注意:在linux中切换到sqlp ...

  8. Oracle中常用的语句

    1.查询锁表 SELECT a.object_name,b.session_id,c.serial#,c.program,c.username,c.command,c.machine,c.lockwa ...

  9. oracle中常用的时间格式转换

    1:取得当前日期是本月的第几周  select to_char(sysdate,'YYYYMMDD W HH24:MI:SS') from dual; TO_CHAR(SYSDATE,'YY') se ...

随机推荐

  1. Daily Scrum (2015/10/23)

    这天晚上PM和我一起细算下来这周的确做了不少事儿.由于这天是周五,有的组员今晚有外出活动,有的组员忙了一周想休息一下.所以PM与我讨论提出今晚就布置些阅读的任务,给组员们一些自由分配的时间: 成员 今 ...

  2. 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的

    实验一:通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 学号:20135114 姓名:王朝宪 注: 原创作品转载请注明出处   <Linux内核分析>MOOC课程http: ...

  3. Linux课程学习之我思

    陈民禾,原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000,我的博客中有一部分是出自M ...

  4. Spring笔记③--spring的命名空间

    p:命名空间: xmlns:p="http://www.springframework.org/schema/p" 作用:简化在xml配置bean的属性 在<bean> ...

  5. 详解Android微信登录与分享

    Android 使用微信登录.分享功能 具体的文档详情微信官网上介绍(微信官网文档),本人直接按照项目部署步骤进行讲解: 第一步:申请你的AppID: 第二步:依赖 dependencies { co ...

  6. mac下面安装redis

    本文只记录了在homebrew下面安装redis的过程,过程比较简单,作为自己以后翻阅用吧, 首先安装homebrew,打开终端,在终端下面允许下面的命令(不要用root用户): /usr/bin/r ...

  7. shell 指令 摘录

    作者: learner811    本文摘自网络    权限:用户 读写 ugoa rwx * useradd userdel groupadd groupmod usermod su sudo wh ...

  8. Git Github使用错误汇总

    Git使用常见错误 error:failed to push some refs to 'xxx' 本地仓库没有Readme文件,先PULL下远程仓库 git pull --rebase origin ...

  9. 深入理解JAVA虚拟机阅读笔记6——线程安全与锁优化

    线程安全:如果一个对象可以安全的被多个线程同时使用,那它就是线程安全的. 一.Java中的线程安全 1.不可变 不可变的对象一定是线程安全的.String.枚举类型.java.lang.Number的 ...

  10. hdu6447 YJJ's Salesman

    这个题意和数据范围一看就是离散化之后树状数组优化DP.给的"从左下方走上去才能拿到收益"的性质其实可以当成"必须从横纵坐标严格比某个点小的地方转移过来".1A了 ...