009.数据库管理-数据字典动态性能视图

news2024/12/25 9:22:37

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线
在这里插入图片描述

数据字典&动态性能视图

      • 数据字典基表和动态性能视图
        • 数据字典
    • 这些信息也可以通过PLSQL工具来查询
        • 动态性能视图(动态性能表/Dynamic Performance Tables)

数据字典基表和动态性能视图

  • 数据字典是帮助用户获取数据库的一些系统级别信息
  • 数据字典基表:是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息(静态信息)
  • 动态性能视图:记载了例程启动后的相关信息(动态信息)
  • 在这里插入图片描述

数据字典
  • 数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户

  • 用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的

  • 数据字典的组成

    • 数据字典包括数据字典基表和数据字典视图
    • 数据字典基表:存储数据库的基本信息,普通用户不能直接访问数据字典的基表
    • 数据字典视图:基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统信息。数据字典视图主要包括:user_xxx,all_xxx,dba_xxx三种类型
      user_tables:用于显示当前用户所拥有的所有表
          select table_name from user_tables
      
      all_tables:用于显示当前用户可以访问的所有表
          select table_name from all_tables
      
      dba_tables:用于显示所有方案拥有的数据库表。查询该数据库字典视图需要有dba角色或者有select any table系统权限
          select table_name from dba_tables
      
  • 用户名、权限、角色

    • 在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或是角色时,oracle会将权限和角色信息存放到数据字典
      • 通过查询dba_users可以获取所有数据库用户的详细信息
      • 通过查询数据字典dba_col_privs可以获取用户具有的列权限
      • 通过查询数据字典视图dba_sys_privs可以获取用户具有的系统权限
      • 通过查询数据字典视图dba_tab_privs可以获取用户具有的对象权限
      • 通过查询数据库字典视图dba_role_privs可以获取用户所具有的角色
    • 问题
      1. 如何查询oracle中所有的系统权限
        select * from system_privilege_map order by name
        
      2. 如何查询oracle中所有的对象权限
        select distinct_privilege from dba_tab_privs 
        
      3. 如何查询oracle有多少种角色
        select * from dba_roles
        
      4. 如何查询某用户包含多少种角色
        select * from dba_role_privs where grantee='用户名';
        
      5. 如何查询数据库的表空间
        select tablespace_name from dba_tablespaces
        
      6. 如何查询一个角色包含的权限
        >> 查询一个角色包含的系统权限
            方法1select * from dba_sys_privs where grantee='角色名称'
            方法2select * from role_sys_privs  where role='角色名称'
            方法3:PLSQL ——> 对象 ——> Roles ——> System privileges
            
        >> 查询一个角色包含的对象权限
            select * from dba_tab_privs where grantee='角色名称'
            PLSQL ——> 对象 ——> Roles ——> Object privileges
        
      7. 如何查询一个用户包含的权限
        >> 查询一个用户的系统权限
            select * from dba_sys_privs where grantee='用户名';
            
        >> 查询一个用户的对象权限
            select * from dba_tab_privs where grantee='用户名';
        
      8. 显示当前用户可以访问的所有数据字典视图
        select * from dict where comments like '%grant%'
        
      9. 显示当前数据库的全称
        select * from global_name
        
  • 权限、角色表

    表名备注
    dba_tablespaces表空间名称
    system_privilege_map所有系统权限
    dba_role_privs所有系统/用户包含的角色
    dba_tab_privs所有/角色对象权限
    dba_sys_privs用户/角色系统权限
  • 在这里插入图片描述

  • 其他说明

    • 数据字典记录有oracle数据库的所有系统信息,通过查询数据字典可以取得一下系统信息
      1. 对象定义情况
      2. 对象占用空间大小
      3. 列信息
      4. 约束信息
    • 这些信息也可以通过PLSQL工具来查询

  • 课外小资料

    • 数据字典视图分为三个层面:DBA视图(所有用户schema内的对象)、ALL视图(用户可访问的对象)、USER视图(用户schema内的对象)。
    • DBA视图:以DBA_开头的视图,包括了整个数据库范围的数据。dba_table表示整个数据库里所有表的信息。用户需要一定的授权才能访问DBA层面的视图。
    • ALL视图:以ALL_开头的视图,包含了当前登录用户有权限看到的数据。all_tables记录了当前登录用户有权限访问的所有表的信息。
    • USER视图:以USER_开头的视图,包含了当前登录用户所拥有的所有表的信息。
    • 三个视图的关系:是DBA包含了ALL包含了USER
  • dictionary视图记录了所有数据字典视图的名称。它的别名是dict。可以通过它来查看数据库中的视图。


动态性能视图(动态性能表/Dynamic Performance Tables)
  • 除了用具体表存放数据字典外,还有一个数据字典,叫做动态性能视图。
  • 用于记录数据库的当前状态,是将内存里的数据或控制文件的数据以表的形式展现出来,是一种虚拟表(virtual table)。
  • 动态性能视图用于记录当前例程的活动信息,当启动oracle server时,系统会建立动态视图,当停止oracle server时,系统会删除动态性能视图。
  • 所有动态性能视图的名称都存放在vKaTeX parse error: Expected group after '_' at position 27: …里。而这些动态性能视图都是以v_̲开头,属主是用户sys。Oracle为每个动态性能视图都创建了同名词,同名词是将中间的“_”去掉了,都是以v$开头。
  • 动态性能表并不是真正的表,大多数用户不应访问其中的信息。但是数据库管理员可以对其进行查询,或在其上创建视图并将访问权限授予其他用户。这些视图有时被称为固定视图(fixed view),因为数据库管理员不能将其修改或移除。

  • a、系统权限部分如下:
    create session          -- 连接数据库
    create tablespace       -- 创建表空间
    alter tablespace        -- 修改表空间
    drop tablespace         -- 删除表空间
    
    create user             -- 创建用户
    drop user               -- 删除用户
    
    create table            -- 创建表
    create any table        -- 在任何用户模式中创建表
    drop any table          -- 删除任何用户模式中的表
    
    alter any table         -- 修改任何用户模式中的表
    select any table        -- 查询任何用户模式中的基本表记录
    insert any table        -- 向任何用户模式中的表插入记录
    update any table        -- 修改任何用户模式中的表
    delete any table        -- 删除任何用户模式中表
    
    create view             -- 创建视图
    create any view         -- 在任何用户模式中创建视图
    drop any view           -- 删除任何用户模式中的视图
    
    create role             -- 创建角色
    alterany role           -- 修改任何角色
    grant any role          -- 将任何角色授予其他用户
    
    alter database          -- 修改数据库结构
    create procedure        -- 创建存储过程
    create any procedure    -- 在任何用户模式中创建存储过程
    alter any procedure     -- 修改任何用户模式中的存储过程
    drop any procedure      -- 删除任何用户模式中的存储过程
    
    create profile          -- 创建配置文件
    alter profile           -- 修改该配置文件
    drop profile            -- 删除配置文件
    
  • b、向用户授予系统权限(使用grant语句)
    grant system_privilege [,...] to {user_name [,...]|role_name [,...]|public} [with admin option];
    
    -- system_privilege     表示系统权限,如create table。中间用逗号分开
    -- user_name            被授予权限的用户,可以是多个用户;
    -- role_name            也可以将系统权限授予某些角色
    -- public               表示Oracle系统所有用户
    -- with admin option    如果指定,则被授予权限的用户可以将该权限再授予其他用户。
    
  • c、查询用户所具有的系统权限
    -- 可以通过视图user_sys_privs来了解。
    -- username         当前用户的用户名
    -- privilege        当前也难怪乎拥有的系统权限
    -- admin_option     当前用户是否有权力将该权限授予其他用户。
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2103317.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

唯众发布职业院校信创实训室解决方案 助力职教数字化高质量发展

在数字化转型的大潮中,教育行业正迎来前所未有的变革机遇。为了积极响应国家关于自主可控、信息技术应用创新(信创)的战略部署,唯众近日发布了专为职业院校量身定制的信创实训室解决方案,旨在通过先进的技术平台和丰富…

摄影竞赛系统小程序的设计

管理员账户功能包括:系统首页,个人中心,教师管理,学生管理,辅导员管理,项目信息管理,作品信息管理,留言板管理,系统管理 微信端账号功能包括:系统首页&#…

代码随想录刷题day21丨669. 修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树,二叉树总结

代码随想录刷题day21丨669. 修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树,二叉树总结 1.题目 1.1修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 - 力扣(LeetCode) 视频…

bootstrap下拉多选框

1、引用(引用资源下载) <!-- Latest compiled and minified CSS --> <link rel"stylesheet" href"static/css/bootstrap-select.min.css"> <!-- Latest compiled and minified JavaScript --> <script src"static/js/bootstrap…

golang-开发工具及package

1. 开发工具 工欲善其事&#xff0c;必先利其器&#xff0c;我选择vscode&#xff0c;其它的工具比如goland也不错 下载地址&#xff1a;Download Visual Studio Code - Mac, Linux, Windows 我的环境是是debian linux&#xff0c;所以我下载deb包&#xff0c;下载完成后&am…

CTFHub技能树-备份文件下载-vim缓存

目录 方法一&#xff1a;直接浏览器访问 方法二&#xff1a;使用kali恢复vim缓存文件 方法三&#xff1a;直接使用curl访问 最后同样备份文件系列的都可用dirsearch扫描 当开发人员在线上环境中使用 vim 编辑器&#xff0c;在使用过程中会留下 vim 编辑器缓存&#xff0c;当…

江科大/江协科技 STM32学习笔记P30

文章目录 一、FlyMcu串口下载1、串口下载的流程2、串口烧录的选项字节区 二、STLINK Utility 一、FlyMcu串口下载 1、串口下载的流程 例如机器人给自己换电池&#xff0c;需要拆掉旧电池再装上新电池&#xff0c;为了实现这个步骤需要再做一个小机器人&#xff0c;需要换电池时…

WinCC Modbus TCP 通信

概述 从版本WinCC V7.0 开始&#xff0c;WinCC支持Modbus TCP通讯&#xff0c;WinCC中的Modbus TCP驱动主要是针对施耐德PLC开发的&#xff0c;支持的PLC类型如下&#xff1a; 图1 本文档以Quantum CPU651和 Premium P57为例&#xff0c;介绍WinCC V7.2 的Modbus TCP通讯的组…

随手记:小程序体积超出2M包大小如何优化

小程序的包体积限制是2M&#xff0c;超出包大小如何优化 先简单列出&#xff0c;最近比较忙&#xff0c;后续优化明细&#xff0c;有着急的先留言踢我 1.分包 留几个主要的页面体积小的&#xff0c;剩下的在page.json中拆到subpackages中&#xff0c;简单举个例子 "page…

总结一下windows电脑字体模糊的优化方案

问题&#xff1a;谷歌浏览器上页面显示的字体非常细&#xff0c;有点费眼睛了&#x1f47e; 解决方案&#xff1a; 方案1&#xff1a;手动调整ClearType文本。方案2&#xff1a;英伟达显卡控制面板->管理3d设置->关闭全局平滑FXAA&#xff08;如果某个软件需要使用平滑处…

《‌黑神话:‌悟空》‌游戏攻略‌

时光荏苒&#xff0c;岁月如梭&#xff0c;不知不觉已经来到了2024年的9月份了。 ‌突然想写一篇关于《‌黑神话&#xff1a;‌悟空》‌的游戏攻略‌。 在《‌黑神话&#xff1a;‌悟空》‌这款以中国古代名著《‌西游记》‌为背景的动作角色扮演游戏中&#xff0c;‌玩家将扮…

J.U.C Review - 阻塞队列原理/源码分析

文章目录 阻塞队列的由来BlockingQueue的操作方法BlockingQueue的实现类ArrayBlockingQueueLinkedBlockingQueueDelayQueuePriorityBlockingQueueSynchronousQueue 阻塞队列原理深入分析1. 构造器和监视器初始化2. put操作的实现3. take操作的实现4. 注意事项小结 线程池中的阻…

泰克THDP0100(Tektronix)thdp0100高压差分探头详情资料

泰克 THDP0100 高压差分探头具有较大的差分动态范围功能&#xff0c;为用户提供了安全的高压测量探头解决方案。每个探头都配有两种尺寸的钩尖&#xff0c;并具有超范围视觉和声音指示器&#xff0c;当用户超出探头的线性范围时会发出警告。泰克 THDP0100 探头配备 TEkVPI 接口…

【vue css】css字体设置渐变色

实现的效果&#xff1a; 添加的代码&#xff1a; h2 {background-image: -webkit-linear-gradient(bottom, #1bffff, #ffffff);background-clip: text;//背景被裁剪成文字的前景色。-webkit-text-fill-color: transparent;//指定了文本字符的填充颜色。若未设置此属性&#xf…

【Linux操作系统】:Linux生产者消费者模型

目录 生产者消费者模型的概念 生产者消费者模型的特点 生产者消费者模型优点 基于BlockingQueue的生产者消费者模型 基于 BlockingQueue 的生产者消费者模型的概念 模拟实现基于阻塞队列的生产消费模型 生产者消费者模型的概念 生产者消费者模式就是通过一个容器来解决生…

MySQL Email验证流程详解:从注册到激活!

MySQL Email通知系统搭建教程&#xff01;如何从MySQL发送邮件&#xff1f; MySQL Email验证是一个至关重要的环节&#xff0c;它确保了用户注册过程的安全性和有效性。AokSend将详细介绍从用户注册到MySQL Email激活的完整流程&#xff0c;帮助开发者更好地理解和实现这一功能…

东风汽车将出席第五届中国新能源汽车热管理创新国际峰会

2024第五届中国新能源汽车热管理创新国际峰会将于11月14-15日在上海召开。峰会将汇聚来自全球的行业专家、学者、企业领袖及技术精英&#xff0c;共同探讨新能源汽车热管理领域的最新技术成果和发展趋势。 本次峰会将涵盖整车热管理系统构建、新能源商用车热管理、智能热管理系…

Python OpenCV 影像处理:傅立叶转换

►前言 上篇介绍基于计算影像的梯度&#xff0c;通过在影像中找到梯度值的变化来识别边缘。 本篇将介绍傅立叶变换的基本原理&#xff0c;了解傅立叶变换是如何将影像从空间域转换到频率域的&#xff0c;以及为什么这种转换在影像处理过程中是有用的。以及傅立叶变换的实际应…

9.3 k8s介绍

⼀、编排分类 单机容器编排: docker-compose 容器集群编排: docker swarm、mesosmarathon、kubernetes 应⽤编排: ansible(模块&#xff0c;剧本&#xff0c;⻆⾊) ⼆、系统管理进化史 1. 传统部署时代 早期&#xff0c;各个组织是在物理服务器上运⾏应⽤程序。 由于⽆法限…

getLocation:fail, the permission value is offline verifying

getLocation:fail, the permission value is offline verifying 后端会根据appid和secret生成 签名&#xff0c;前端wx配置时一定用appid来验证签名的正确 本次错误为配置初始化失败&#xff1a;前端与后端的appId不一致&#xff0c;我的失误也