【Oracle】Oracle系列之二--Oracle数据字典

2023-09-18 21:29:53

往期回顾

前言

1. 什么是Oracle数据字典

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

2. 数据字典的内容

数据字典包括以下内容:

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

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

(1)X$表

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

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

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

表名都用 结尾(如 t a b 结尾(如tab 结尾(如tab、obj 、 t s 、ts 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 表之后, O r a c l e 创建了 G V 表之后,Oracle创建了GV 表之后,Oracle创建了GV和V 视图,在 G V 视图,在GV 视图,在GV和VKaTeX parse error: Expected group after '_' at position 15: 之后,Oracle建立了GV_̲和V_KaTeX parse error: Expected group after '_' at position 48: …og.sql脚本实现的。通过V_̲视图,Oracle把VKaTeX parse error: Expected group after '_' at position 12: 视图和普通用户隔离,V_̲视图的权限可以授予其他用户,而Oracle不允许任何对于V 视图的直接授权。 O r a c l e 提供了一些特殊视图用以记录其他视图创建方式,如 v 视图的直接授权。Oracle提供了一些特殊视图用以记录其他视图创建方式,如v 视图的直接授权。Oracle提供了一些特殊视图用以记录其他视图创建方式,如vfixed_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;
更多推荐

如何将 Transformer 应用于时间序列模型

在机器学习的广阔前景中,transformers就像建筑奇迹一样高高耸立,以其复杂的设计和捕获复杂关系的能力重塑了我们处理和理解大量数据的方式。自2017年创建第一个Transformer以来,Transformer类型呈爆炸式增长,其中包括ChatGPT和DALL-E等强大的生成式AI模型。虽然transformer

Beyong compare 介绍

"BeyondCompare"是一个强大的文件和文件夹比较工具,它允许你比较两个或更多的目录/文件并显示差异。这个工具特别有用,当你需要找出两个不同版本的文件之间的改变时。如果你想要使用BeyondCompare,你需要按照以下步骤操作:1.**下载和安装**:首先,你需要从BeyondCompare的官方网站或其他可

接口文档规范

接口文档规范主要包括以下几个方面:1.接口基本信息应该在文档的开头提供接口的基本信息,包括接口名称、接口URL、请求方法、请求参数、返回值、返回状态码等。这些信息应该清晰明了,并且易于理解。2.请求参数接口文档应该明确列出请求参数,并提供每个参数的名称、类型、是否必填、描述等信息。对于复杂结构的请求参数,例如JSON或

从网约车平台合规问题看企业合规难题如何破解

随着互联网的快速发展,网约车行业逐渐崛起并成为人们出行的重要选择之一。然而,虽然网约车平台带来了便利和效率,但也引发了一系列合规问题。近日,西安市交通运输综合执法支队和西安市出租汽车管理处组织开展了西安市网约车行业“全过程执法、全链条监管、全合规营运百日攻坚行动”。约谈会上,西安市出租汽车管理处相关负责人通报了“百日攻

华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】

目录一、题目描述二、输入描述三、输出描述样例:输出样例:四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明4、再输入5、再说明6、如果走后一次请求的是20,会怎么样呢?华为OD机试2023B卷题库疯狂收录中,刷题点这里一、题目描述请实现一个简易内存池,根据请求命令完成内存分配和释放。内存池支持两种操作

Shiro【散列算法、Shiro会话、退出登录 、权限表设计、注解配置鉴权 】(五)-全面详解(学习总结---从入门到深化)

目录Shiro认证_散列算法Shiro认证_过滤器Shiro认证_获取认证数据Shiro认证_Shiro会话Shiro认证_会话管理器Shiro认证_退出登录Shiro认证_RememberMeShiro授权_权限表设计Shiro授权_数据库查询权限Shiro授权_在Realm进行授权Shiro授权_过滤器配置鉴权Sh

轻量服务器2核与1核的区别

​1.核心数量轻量服务器2核与1核最明显的区别在于核心数量。1核服务器只有一个处理器核心,而2核服务器有两个处理器核心。这使得2核服务器在处理数据时能够同时执行更多的任务。2.并行处理能力由于只有1个核心,1核服务器不具备并行处理任务的能力。而2核服务器在处理数据时可以同时执行多个任务,提高了服务器的处理速度和效率。3

GitLab数据迁移后出现500错误

一、背景去年做GitLab数据迁移时,写过一篇文章《GitLab的备份与还原》。后来发现新创建的项目没问题,但对于迁移过来的项目,修改名称等信息,或者删除该项目时,会出现500错误,以为是系统问题,一直也查到解决办法。二、原因前段时间再次搜索解决办法,终于解决了,在这里记录一下。导致这样的原因,了解到是db_key_b

辅助驾驶功能开发-功能规范篇(21)-3-XP行泊一体方案功能规范

XPilotParking自动泊车系统七、全自动泊车(AutoParking)•自动泊车辅助(AutoParkingAssist)、斜列式车位泊车辅助(DiagonalAutoParkingAssist)-产品定义基于超声波传感器和环视摄像头对空间和车位的识别,通过自动泊车系统实现全自动泊车入库。-功能说明当车辆以不高

前端杂记1

React是基于函数式编程的运行时框架,UI=fn(state),它的状态改变是通过发布订阅模式,单向数据流方式,更新是通过运行时diff,然后将变化的部分渲染,而vue是通过响应式以组件为颗粒进行更新,因此它可以在预编译阶段进行动静态标记来优化更新比较过程reactscheduler会将组件根据优先级划分成更小颗粒的

Vue全局事件总线

1.简介全局事件总线时一种组件间通信的方式,适用于任意组件间通信2.原理分析:如果A组件想要传递数据给B组件,那么就通过全局事件总线在B组件中绑定一个自定义事件,并界定一个参数来接收传递的数据,在A组件中,就需要通过全局事件总线对自定义事件进行触发,并传递参数简单理解:全局事件总线其实就是一个中间介质,组件间的相互通信

热文推荐