广告
返回顶部
首页 > 资讯 > 数据库 >Oracle数据字典详解
  • 358
分享到

Oracle数据字典详解

Oracle数据字典介绍Oracle数据字典Oracle数据 2023-04-19 05:04:17 358人浏览 八月长安
摘要

目录1. 什么是oracle数据字典2. 数据字典的内容3. 数据字典应用示例1. 什么是Oracle数据字典 数据字典(Data Dictionary)是Oracle元数据(Metadata)的存储地点,汇集了数据库对

1. 什么是Oracle数据字典

数据字典(Data Dictionary)是Oracle元数据(Metadata)的存储地点,汇集了数据库对象及数据库运行时需要的基础信息。Oracle RDBMS使用数据字典记录和管理对象信息和安全信息,用户可以通过数据字典获取数据库相关信息,从而进行数据库管理、优化和维护工作。

2. 数据字典的内容

数据字典包括以下内容:

  • 所有数据库Schema对象的定义(表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等);
  • Oracle用户名称、角色、权限等信息;
  • 完整性约束信息;
  • 数据库的空间分配和使用情况;
  • 字段缺省值;
  • 审计信息;
  • 其他数据库信息。

Oracle字典包括四个层次,分别为内部RDBMS表(X)、基础数据字典表、数据字典视图和动态性能视图( V )、基础数据字典表、数据字典视图和动态性能视图(V)、基础数据字典表、数据字典视图和动态性能视图(V)。

(1)X$表

X$表是Oracle数据库的核心部分,用于跟踪内部数据库信息,维持数据库正常运行,在数据库启动时由Oracle应用程序动态创建,不允许SYSDBA之外的用户直接访问。X$表是加密命名的且不作文档说明。Oracle通过X$建立起其他大量视图,供用户查询管理数据库之用。

(2)数据字典表、数据字典视图

数据字典表(Data Dictionary Table)用以存储表、索引、约束以及其他数据库结构的信息,

表名都用$结尾(如tab$、obj$、ts$等),在创建数据库的时候通过运行sql.bsq($ORACLE_HOME/RDBMS/admin目录下)脚本来创建。

数据字典表的用户都是sys,存在在system这个表空间里,Oracle对这些数据字典都分别建立了数据字典视图,Oracle针对这些对象的范围,分别把视图命名为DBA_XXXX, ALL_XXXX和USER_XXXX,dictionary视图记录了所有的数据字典视图的名称。

  • user_类视图:描述了当前用户schema下的对象;
  • all_类视图:描述了当前用户有权限访问到的所有对象的信息;
  • dba_类视图:包括了所有数据库对象的信息;

通常USER_类视图不包含Owner字段,查询返回当前用户的对象信息。

e.g.

SQL> select username from all_users; //查询所有用户
SQL> select username from dba_users; //查询dba用户
SQL> select table_name from user_tables;  //查询当前用户的表
SQL> select table_name from all_tables;  //查询所有用户的表
SQL> select table_name from dba_tables;  //查询包括系统表
SQL> select owner,constraint_name,constraint_type,table_name from user_constraints; 
SQL> select owner,constraint_name,constraint_type,table_name from all_ constraints; 
SQL> select owner,constraint_name,constraint_type,table_name from dba_ constraints ;

(3)动态性能视图

动态性能(V$)视图(Dynamic PerfORMance View)记录了数据库运行时的信息和统计数据。

创建X$表之后,Oracle创建了GV$和V$视图,在GV$和V$之后,Oracle建立了GV_$和V_$视图,随后为这些视图建立了公共同义词。这些工作都是通过catalog.sql脚本实现的。通过V_$视图,Oracle把V$视图和普通用户隔离,V_$视图的权限可以授予其他用户,而Oracle不允许任何对于V$视图的直接授权。Oracle提供了一些特殊视图用以记录其他视图创建方式,如v$fixed_view_defition,可以查看视图的定义。

SQL> select view_definition from v\$fixed_view_definition where view_name ='V$NLS_PARAMETERS';

3. 数据字典应用示例

(1)查询表的信息

查询DBA_TABLES视图可以获取所有表的信息,包括表名、表空间、拥有者等等。例如,以下查询语句可以获取所有表的表名和表空间:

SQL> SELECT table_name, tablespace_name FROM dba_tables;

(2)查询索引的信息

查询DBA_INDEXES视图可以获取所有索引的信息,包括索引名、所属表、索引类型等等。例如,以下查询语句可以获取所有索引的信息:

SQL> SELECT index_name, table_name, index_type FROM dba_indexes;

(3)查询用户的信息

查询DBA_USERS视图可以获取所有用户的信息,包括用户名、默认表空间、临时表空间等等。例如,以下查询语句可以获取所有用户的用户名和默认表空间:

SQL> SELECT username, default_tablespace FROM dba_users;

(4)查询表空间的信息

查询DBA_TABLESPACES视图可以获取所有表空间的信息,包括表空间名、块大小、状态等等。例如,以下查询语句可以获取所有表空间的表空间名和状态:

SQL> SELECT tablespace_name, status FROM dba_tablespaces;

(5)查询数据文件的信息

查询DBA_DATA_FILES视图可以获取所有数据文件的信息,包括数据文件名、表空间名、文件大小等等。例如,以下查询语句可以获取所有数据文件的数据文件名和文件大小:

SQL> SELECT file_name, bytes FROM dba_data_files;

(6) 查询数据库的性能数据

查询DBA_HIST_SNAPSHOT视图可以获取数据库的历史性能数据,包括CPU利用率、内存利用率、I/O等等。例如,以下查询语句可以获取数据库的CPU利用率和内存利用率:

SQL> SELECT begin_interval_time, end_interval_time, cpu_usage, memory_usage
FROM dba_hist_sysmetric_summary
WHERE metric_name IN ('CPU Usage Per Sec', 'Memory Usage Per Sec')
ORDER BY begin_interval_time;

到此这篇关于Oracle数据字典详解的文章就介绍到这了,更多相关Oracle数据字典内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle数据字典详解

本文链接: https://www.lsjlt.com/news/201638.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle数据字典详解
    目录1. 什么是oracle数据字典2. 数据字典的内容3. 数据字典应用示例1. 什么是Oracle数据字典 数据字典(Data Dictionary)是Oracle元数据(Metadata)的存储地点,汇集了数据库对...
    99+
    2023-04-19
    Oracle数据字典介绍 Oracle数据字典 Oracle数据
  • DB2 数据字典详解
    对于每个数据库,都创建和维护一组系统编目表。这些表包含关于数据库对象(例如表、视图、索引和包 ) 的定义的信息以及关于用户对这些对象的访问类型的安全信息。     对...
    99+
    2022-10-18
  • oracle 数据字典
    表和列DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每...
    99+
    2022-10-18
  • Oracle之数据字典
    数据字典数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者是sys用户用户只能在数据字典上执行查询操作,而其...
    99+
    2022-10-18
  • Oracle 11g R2 数据字典
    数据字典是oracle存储关键信息的表和视图的集合。oracle进程会在sys模式中维护这些表和视图,也就是说数据字典的所有者为sys用户,数据存放在system表空间中,数据字典描述了实际数据是如何组织的...
    99+
    2022-10-18
  • InnoDB数据字典详解-系统表
    1、简介 InnoDB中,实际上看不到系统表。有4个最基本的系统表来存储表的元数据:表、列、索引、索引列等信息。这4个表分别是SYS_TABLES、SYS_COLUMNS、SYS_INDEXES、SYS_F...
    99+
    2022-10-18
  • oracle锁相关数据字典
    --杀掉进程 sid,serial# alter system kill SESSION "64,177"; --查看被锁的表 select b.owner,b.object_name,a.session_id,a.locke...
    99+
    2014-06-05
    oracle锁相关数据字典
  • Python数据类型详解(四)字典:dict
    一.基本数据类型   整数:int   字符串:str(注:t等于一个tab键)   布尔值: bool   列表:list   列表用[]   元祖:tuple   元祖用()   字典:dict 注...
    99+
    2022-06-04
    字典 详解 数据类型
  • 详解PyMySQL插入字典类型的数据
    在我们爬虫或者调API获取数据后,需要将数据存入到数据库中,如果数据是列表嵌套字典格式的话,一般做法是遍历列表,然后用字典生成对应的SQL语句再执行插入到表中。本文将介绍一种更加简便的方法来插入字典类型的数据。 我们有如...
    99+
    2022-07-18
    PyMySQL字典类型数据 PyMySQL插入字典
  • python字典详解
    字典是Python中唯一的內建的映射类型,可以存储任意对象的容器,比如:字符串,列表,元组,自定义对象等;字典由键(key)与值(value)组成,基本语法如下: {key:value, ... ...}字典中每个Key是唯一的,key必...
    99+
    2023-01-31
    字典 详解 python
  • Python 字典详解
    目录什么是字典?创建字典1. 直接赋值2. 使用 dict()函数创建空字典3. 获取字典元素4. 唯一的键,如果字典中有俩个或多个相同的键,默认取最后一个小结:字典的增字典的改&n...
    99+
    2022-11-12
  • Oracle相关数据字典分析
    本篇内容主要讲解“Oracle相关数据字典分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle相关数据字典分析”吧!问题描述:alert日志发现报错主...
    99+
    2022-10-19
  • Oracle的数据字典是什么
    这篇文章主要讲解了“Oracle的数据字典是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle的数据字典是什么”吧!数据字典是oracle存放有...
    99+
    2022-10-19
  • Python 字典 get()函数使用详解,字典获取值
    「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:小白零基础《Python入门到精通》 get函数使用...
    99+
    2023-10-20
    python 网络安全 人工智能 机器学习
  • Oracle常用数据字典有哪些
    这篇文章主要介绍“Oracle常用数据字典有哪些”,在日常操作中,相信很多人在Oracle常用数据字典有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Oracle常用数据...
    99+
    2022-10-19
  • 数据字典
    SYS@newtest>alter pluggable database clonepdb_plug open; 插接式数据库已变更。 SYS@newtest>show pdbs CON_ID ...
    99+
    2022-10-18
  • InnoDB数据字典--字典表加载
    1、介绍 在InnoDB启动时,如果是新建数据库则需初始化库,需要创建字典管理的相关信息。函数innobase_start_or_create_for_mysql调用dict_create完成此功能...
    99+
    2022-10-18
  • 详解Python合并字典
    目录实例 1 : 使用 update() 方法,第二个参数合并第一个参数实例 2 : 使用 **,函数将参数以字典的形式导入总结给定一个字典,然后计算它们所有数字值的和。 实例 1 ...
    99+
    2022-11-12
  • Go字典使用详解
    目录存储/查找原理限制字典声明字典赋值特殊类型修改值字典遍历总结字典特性和许多编程语言一样,在 Go 中,字典是一组键-值对( Go 中称键-元素对)的集合。 存储/查找原理 当我们...
    99+
    2022-11-21
    Go字典 Golang字典
  • Python 中字典dict详解
    一、字典(dict)概念 字典是另一种可变容器模型,且可存储任意类型对象如字符串、数字、元组等其他容器模型,因为字典是无序的所以不支持索引和切片。 二、字典(dict)的定义 一般格式: 字典的每个键...
    99+
    2023-09-01
    python 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作