<Oracle Database>数据字典
数据字典
数据字典是由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>数据字典的更多相关文章
- 《Oracle Database 12c DBA指南》第一章 - 基本技能简介
当前关于12c的中文资料比较少,本人将关于DBA的一部分官方文档翻译为中文,很多地方为了帮助中国网友看懂文章,没有按照原文句式翻译,翻译不足之处难免,望多多指正. 1 基本技能简介 作为一个数据库管理 ...
- oracle 之数据字典屣履造门。
oracle 之数据字典屣履造门.(更新中) 今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...
- Oracle Database 11g : SQL 基础
简介 1:课程目标 2:课程 目标 3:Oracle Database 11g 以及相关产品概览 1:Oracle Database 11g :重点领域 2:Oracle Fusion Middlew ...
- 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 ...
- oracle数据库数据字典应用
oracle数据字典 数据字典是由oracle服务器创建和维护的一组只读的系统表.数据字典分为两类:一是基表,二是数据字典视图. 数据字典视图包括用户名.用户权限.对象名.约束和审计等信息,是通过运行 ...
- CHAPTER 1 Architectural Overview of Oracle Database 11g
Which SGA structures are required, and which are optional? The database buffer cache, log buffer, an ...
- Oracle Database 12c Data Redaction介绍
什么是Data Redaction Data Redaction是Oracle Database 12c的高级安全选项之中的一个新功能,Oracle中国在介绍这个功能的时候,翻译为“数据编纂”,在EM ...
- 使用技术手段限制DBA的危险操作—Oracle Database Vault
概述 众所周知,在业务高峰期,某些针对Oracle数据库的操作具有很高的风险,比如修改表结构.修改实例参数等等,如果没有充分评估和了解这些操作所带来的影响,这些操作很可能会导致故障,轻则导致应用错误, ...
- Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之ORACLE集群概念和原理(二)
ORACLE集群概念和原理(二) 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习的汇总.然后形成体 ...
随机推荐
- -[UIKeyboardLayoutStar release]: message sent to deallocated instance 0x7fbe49120000
__NSArrayM objectAtIndex: 取消swizzle 只有debug的时候会报错,发布的时候是好的,所以可以不用改
- css学习中的一些英文单词
indent 缩进 through通过 decoration装饰 position定位
- thinkphp 添加 修改删除
在 MainController.class.php 添加 public function zhuCe() { //时间两个逻辑 // 1 显示页面 2向数据库添加 if(empty($_POST)) ...
- nginx 隐藏版本信息
隐藏nginx头部 修改后的src/core/nginx.h ,代码如下: /* * Copyright (C) Igor Sysoev * Copyright (C) Nginx, Inc ...
- Light OJ 1032 - Fast Bit Calculations(数学)
题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1032 题目大意:一个十进制数变化为二进制,那么对于这个数,如果连着两个二进制位 ...
- JavaWeb 学习001-登录页面-Servlet
那什么是Servlet呢? 我理解的Servlet 就是一个中间媒介,jsp页面原本需要一些操作,但是现在让jsp页面只是显示就好,把操作的工程转移给Servlet中. 使用Servlet时候有个固定 ...
- 【转】oracle查询用户表,函数,储存过程,
◆Oracle查询用户表空间:select * from user_all_tables ◆Oracle查询所有函数和储存过程:select * from user_source ◆Oracle查询所 ...
- 《VB语言程序设计(第3版)》总结
我之前因学习昆仑通态的组态软件MCGS,用并学习过VB,还买了一本书<VB语言程序设计(第3版)>.现在在某公司实习,最近接触老的项目,又要用到VB.我就又把那本书大体看了一遍,并对其进行 ...
- Python Decorator分析
decorator本身是一个函数,这个函数的功能是接受被修饰的函数(decorated)作为参数,返回包装函数(wrapper)替换被修饰函数(decorated). @decorator func ...
- 使用afinal下载文件并且在状态栏中显示下载的进度
2013年10月23日,今天是在“我在找你信息服务有限公司”第一天上班,公司给提出了这样一个要求:下载本公司的app,并且在下载的过程中要在状态栏中显示下载的进度,并且,可以暂停和继续下载. 下面是我 ...