数据字典

数据字典是由Oracle服务器创建和维护的一组只读的系统表,它存放了有关数据库和数据库对象的信息,Oracle服务器依赖这些信息来管理和维护Oracle数据库。

数据字典分为两大类:一种是基表,另一种是数据字典视图。

Oracle服务器在数据库创建时自动生成基表,在任何数据库中,基表都是被最先创建的对象。由于基表中所存的数据过于复杂,因此这些基表很少直接被访问。数据字典视图则是把

数据字典基表中的信息转换为人们较为容易理解的形式,它们包含了用户名、用户的权限、对象名、约束和审计等方面的信息。

数据字典中的信息

数据字典中存储了如下的数据库信息:

  • 数据库的逻辑结构和物理结构。如表空间和数据文件的信息
  • 所有数据库对象定义的信息。这些对象包括表、索引、视图、序列号、同义词、过程、函数、软件包和触发器等。
  • 所有数据库对象的磁盘空间分配信息。如对象所分配的磁盘空间和当前正在使用的磁盘空间。
  • Oracle用户名。
  • 每个用户所授予的权限和角色。
  • 完整性约束的信息。
  • 列的默认值。
  • 审计信息。

数据字典的操作和使用

数据字典主要是由Oracle服务器来使用的,包括从数据字典中获取信息和及时修改相应数据字典信息。

可以修改Oracle服务器数据字典的SQL语句:

  • DDL语句。如增加或减少表空间,增加或减少用户。
  • DCL语句。如授予用户权限、回收用户权限等。
  • 某些DML语句也可能间接地引起Oracle服务器修改数据字典。如引起表的磁盘空间的扩展的插入(INSERT)或修改(UPDATE)语句。

当数据管理员或用户使用DDL或DCL语句时,Oracle服务器都要将相关的信息记录到数据字典中。

但是,任何用户包括数据库管理员(DBA)都不能直接使用DML语句修改数据字典中的内容,只能通过访问数据字典(视图)来得到数据库相关信息。

数据字典视图

数据字典视图主要包括三大类,它们分别用前缀来区别,其前缀分别为USER、ALL和DBA。

  • USER_* :有关用户所拥有的对象的信息。即用户自己创建的对象的信息。
  • ALL_* :有关用户可以访问的对象的信息。即用户自己创建的对象的信息及授权给PUBLIC的帐户用户所拥有的对象的信息。
  • DBA_* :有关整个数据库中对象的信息。

这里的*可以为TABLES、INDEXES、VIEWS、OBJECTS等。

查看这类数据字典视图的结构:

desc user_tables;

desc all_tables;

desc dba_tables;

可以看出,这三类数据字典视图的列几乎是相同的,只是以前缀为ALL和DBA开始的数据字典视图中比USER中多了一列OWNER。

其他的字典视图中主要的是V$视图,之所以这样叫是因为他们都是以V$或GV$开头的。由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典。

V$视图是基于X$虚拟视图的。V$视图是SYS用户所拥有的,在缺省状况下,只有SYS用户和拥有DBA系统权限的用户可以看到所有的视图,没有DBA权限的用户可以看

到USER_*和ALL_*,但不能看到DBA_*。

<Oracle Database>数据字典的更多相关文章

  1. 《Oracle Database 12c DBA指南》第一章 - 基本技能简介

    当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 1 基本技能简介 作为一个数据库管理 ...

  2. oracle 之数据字典屣履造门。

     oracle 之数据字典屣履造门.(更新中)       今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...

  3. Oracle Database 11g : SQL 基础

    简介 1:课程目标 2:课程 目标 3:Oracle Database 11g 以及相关产品概览 1:Oracle Database 11g :重点领域 2:Oracle Fusion Middlew ...

  4. Opatching PSU in Oracle Database 11g Release 2 RAC on RHEL6

    Opatching PSU in Oracle Database 11g Release 2(11.2.0.4) RAC on RHEL6 1) 升级opatch工具 1.1) For GI home ...

  5. oracle数据库数据字典应用

    oracle数据字典 数据字典是由oracle服务器创建和维护的一组只读的系统表.数据字典分为两类:一是基表,二是数据字典视图. 数据字典视图包括用户名.用户权限.对象名.约束和审计等信息,是通过运行 ...

  6. CHAPTER 1 Architectural Overview of Oracle Database 11g

    Which SGA structures are required, and which are optional? The database buffer cache, log buffer, an ...

  7. Oracle Database 12c Data Redaction介绍

    什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...

  8. 使用技术手段限制DBA的危险操作—Oracle Database Vault

    概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...

  9. Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)

    ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...

随机推荐

  1. 后缀数组 & 题目

    后缀数组被称为字符串处理神器,要解决字符串问题,一定要掌握它.(我这里的下标全部都是从1开始) 首先后缀数组要处理出两个数组,一个是sa[],sa[i]表示排名第i为的后缀的起始位置是什么,rank[ ...

  2. Mac OS X的空间去哪儿了

    记得有事儿没事儿看下,/cores/目录的大小. cores目录是存放程序dump的数据,对于绝大部分人时是没有用的.可以删除.如果遇到坑爹的程序,一直生成dump文件,硬盘瞬间就爆满了. 典型:An ...

  3. Java基础知识系列——Exception

    异常在编程中使用频率非常非常的高,在Java中异常的基类是Exception. 下面就介绍一下Java中的异常: 1.结构 try{ //捕获try里的异常 }catch( Exception e){ ...

  4. c++模板使用出错情况error LNK2019: unresolved external symbol "public: float __thiscall Compare<float>::min(void)" (?min@?$Compare@M@@QAEMXZ) referenced in function _main

    将类模板在头文件中定义,类的成员函数在头文件中声明,头文件中只留下接口,函数的实现在另一个.cpp文件中,这样编译出来错误error LNK2019: unresolved external symb ...

  5. centos文件误删除恢复

    Centos 文件误删除 当意识到误删除文件后,切忌千万不要再频繁写入了,否则 你的数据恢复的数量将会很少. 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kil ...

  6. js ShowDialogModal 关闭子页面并刷新父页面,保留查询条件

    不知道大家有没有碰到类似的问题,当时的你是什么思路来处理这个问题呢?是url,session,cookie,还是…… 今天笔者就遇到了这个问题,当时的想法如:url,session,cookie都尝试 ...

  7. spring boot分布式技术,spring cloud,负载均衡,配置管理器

    spring boot分布式的实现,使用spring cloud技术. 下边是我理解的spring cloud的核心技术: 1.配置服务器 2.注册发现服务器eureka(spring boot默认使 ...

  8. Nginx密码验证 ngx_http_auth_basic_module模块

    有时候我们需要限制某些目录只允许指定的用户才可以访问,我们可以给指定的目录添加一个用户限制. nginx给我们提供了ngx_http_auth_basic_module模块来实现这个功能. 模块ngx ...

  9. 关于PHP学习的各种网站

    http://www.shouce.ren/ 各种开发手册 http://yii2.techbrood.com/guide-upgrade-from-v1.html yii2.0和之前版本的区别htt ...

  10. vmware安装linux6.3

    安装信息: 1.vmware9.0下载地址:http://pan.baidu.com/share/link?shareid=1287299796&uk=2585121485 2.oraclel ...