【赵强老师】什么是Oracle的数据字典?[亲测有效]

【赵强老师】什么是Oracle的数据字典?[亲测有效]数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视

【赵强老师】什么是Oracle的数据字典?

【赵强老师】什么是Oracle的数据字典?[亲测有效]

数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操作。

Oracle中,sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字典只能查询,不能手动进行修改。

一、数据字典用途

Oracle通过存取数据字典从而比较方便地获取有关用户某事对象和存储结构等信息。当系统执行了DDL语句后,oracle会及时修改数据字典。任何用户只能以读的形式使用数据字典获取数据库信息。

二、数据字典存储的信息

  • 数据用户的名称
  • 为用户授予的权限和角色
  • 模式对象的名。
  • 完整性约束的具体信息;
  • 每个字段的默认值;
  • 数据库空间的使用情况;
  • 存储审计的信息
  • 对象与用户的严格管理(适用于高度机密管理);
  • 其他一般数据库信息

三、四种前缀的数据字典视图

  • user_ :任何用户都可以读取的视图,每个用户读取的都不一样,它只提供当前用户某事下的对象信息。
如查询当前模式下的所有对象:
select object_name, object_type from user_objects;

代码100分

  • all_ :所有用户都可读取的用户视图,它提供与用户有关的对象信息。
代码100分如查询当前用户可访问的所有对象:
select owner, object_name, object_type from all_objects; 

  • dba_:提供了只有数据库管理员才可读取的视图,包括所有用户视图中的对象信息。
如:
select owner, object_name, object_type from sys.dba_objects; 

  • v$:动态性能视图

动态性能视图用于记录当前例程的活动信息,当启动oracle server时,系统会建立动态性能视图;当停止oracle server时,系统会删除动态性能视图,oracle的所有动态性能视图都是以v_$开始的,并且oracle为每个动态性能视图都提供例了相应的同义词,并且同义词是以v$开始的,例如_$datefile的同义词为v$datefile;动态性能视图的所有者为sys,一般情况下,由DBA或是特权用户来查询动态性能视图。

 

四、查询数据字典示例

  • 查询用户相关的数据字典
代码100分查询用户
select username from dba_users; -- 只有管理员权限的用户才能查询
select username from all_users; -- 当前或任何用户都可使用

-- 查看当前用户的默认表空间
select username, default_tablespace from user_users;

--当前用户角色
select * from user_role_privs;

-- 当前用户的系统权限和表级权限
select * from user_sys_privs;
select * from user_tab_privs; 

  • 查询表空间相关的数据字典(拥有DBA权限的用户才能查询)
select * from dba_data_files;
select * from dba_tablespaces; --表空间
select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; --空闲表空间
select * from dba_data_files where tablespace_name="USERS"; -- 表空间对于的数据文件
select * from dba_segments where tablespace_name="USERS";

--查询用户模式对象所使用过的正在使用空间大小
select name, type, source_size, code_size from user_object_size; 

  • 查询数据库对象(拥有DBA权限的用户才能查询)
select * from dba_objects
select * from dba_objects where object_type = upper("package body");
select * from dba_objects where OBJECT_TYPE="TABLE" and OWNER="SCOTT" 

【赵强老师】什么是Oracle的数据字典?[亲测有效]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/7330.html

(0)
上一篇 2023-03-22
下一篇 2023-03-22

相关推荐

  • 用python批量重命名linux目录

    用python批量重命名linux目录在Linux系统中,经常需要对大量的文件夹进行重命名操作,手动修改文件夹名称效率较低,需要使用自动化工具进行批量重命名。Python是一种灵活的脚本语言,可以方便地进行批量操作。本篇文章将介绍如何使用Python对Linux系统中的文件夹进行批量重命名。

    2024-01-30
    61
  • SQL的基础函数「终于解决」

    SQL的基础函数「终于解决」SQL的基础函数 lower select lower(name) from students #将students表的所有name字段的数据全都转为小写打印出来 upper select upper

    2023-04-20
    115
  • 如何运行Python .py文件

    如何运行Python .py文件Python是一种通用编程语言,具有简单易学、高效快速的特点,因此被广泛应用于机器学习、数据分析、网络编程等领域。若想运行Python .py文件,本文将会给您提供一些有效的方法和实践经验。

    2024-05-07
    12
  • Python实现主函数示例

    Python实现主函数示例Python是一门流行且功能强大的解释型编程语言,被广泛用于开发Web应用、数据分析、人工智能、机器学习等领域。Python是一门高级语言,能够让编程变得简单易懂。主函数是Python程序的一个重要组成部分,本文将对Python实现主函数示例进行详细阐述。

    2023-12-17
    59
  • Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作「终于解决」

    Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作「终于解决」一、MySQL简介 ​ MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 二、安装与下载 1、下载流程 1、访

    2023-06-16
    100
  • Python dict_keys详解

    Python dict_keys详解在Python中,字典(dict)是一个非常重要的数据结构,它可以用于存储各种类型的数据,并且以键值对的形式进行操作。当我们创建一个字典类型的数据后,可以使用keys()方法来获取所有的键,它会返回一个dict_keys类型的对象。在本篇文章中,我们将从多个方面来详细阐述dict_keys对象的相关知识。

    2024-04-21
    15
  • DDL和DML[通俗易懂]

    DDL和DML[通俗易懂]DDL(Data Definition Languages)语句: 数据库定义语句:用来创建数据库中的表、索引、视图、存储过程、触发器等 常用的语句关键字有:create,alter,drop,tru

    2023-06-02
    97
  • 云小课|云小课教您如何选择Redis实例类型[通俗易懂]

    云小课|云小课教您如何选择Redis实例类型[通俗易懂]阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。 摘要:购买Redis实例

    2023-06-18
    102

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注