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

Oracle提供了大量的内部表,它们记录了数据库对象的更改和修正。可以将这些内部表划分为两种主要类型:静态的数据字典表和动态的性能表。这些内部表是由oracle维护的,可以说它们是只读表。用户包括sys都不能修改,只能查看。

10.1 数据字典

10.1.1 数据字典的功能(Data Dictionary)
1) central of database
2)read_only table and views,通过select访问
3)Oracle server 维护,ddl操作会更新
4)记录数据库的物理、逻辑结构(表空间)和模式信息及对象信息(用户、约束、权限、审计等)
5)存放在system tablespace

通过dict记录了所有数据字典表的名称

SQL> select * from dict where table_name='DBA_OBJECTS';

TABLE_NAME COMMENTS
--------------------------------------------- ------------------------------------------------------------
DBA_OBJECTS All objects in the database

SQL> select count(*) from dict;

COUNT(*)
----------
2323

10.1.2 数据字典的组成:

数据字典由四部分组成:

1)内部表(X$): Oracle的核心,官网不做说明, Oracle通过大量X$建立起大量视图,仅供用户select。
2)数据字典表: 用以存储表、索引、约束以及其他数据库结构信息,通常以$结尾,如tab$,obj$,ts$,aud$等。
3)动态性能表(V$): 实时更新反应当前的数据库状态,官网对V$视图有详尽的说明。
4)数据字典视图: 在X$表和数据字典表上创建,通常分为三类dba_, all_, user_.

实际工作中最常用的是数据字典视图和动态性能表:

10.1.3 数据字典视图:静态(static)视图

static :在数据库open状态下访问,可以通过静态视图了解database的架构(记录database的架构,object的数据定义和存储等信息)

dba_ : 存储所有用户对象的信息(默认只能有sys/system 用户访问)
all_ : 存储当前用户能够访问的对象(包括用户所拥有的对象和别的用户授权访问的对象)的信息。
user_:存储当前用户所拥有的对象的相关信息。

考点:实例参数O7_DICTIONARY_ACCESSIBILITY在缺省时为FALSE,这将限制具有select any table权限的非DBA用户访问sys用户下的对象,否则这些非DBA用户也能查看dba_。

SQL> select count(*) from dict;

COUNT(*)
----------
2323

10.2 动态性能表(V$)

是维护当前实例信息的,由于不断的更新,所以也叫动态视图。其底层是一组虚拟的动态表称为X$表,oracle不允许直接访问X$表,而是在这些表上创建视图,然后再创建这些视图的同义词。

基表(x$)-------------视图(v_$)--------------同义词v$-------User access

可以通过v$fixed_table 视图 查到所有的动态视图和基表的名称;用于调优和数据库监控。从Oracle8开始, GV$视图开始被引入,其含义为Global V$,GV$的产生是为了满足OPS环境的需要,除了一些特例以外,每个V$视图都有一个GV$视图存在。

SQL> select count(*) from v$fixed_table;

COUNT(*)
----------
1741

*考点:动态性能视图填充了来自实例和控制文件的信息,前缀为DBA_、ALL_、USER_的视图则填充了来自数据字典的信息,此差异决定了可以在不同启动阶段查询那些视图。mount大部分的动态性能视图可以访问,数据字典不行

=============
seven DAY
=============

第十一章: Oracle的存储架构

DATABASE-->TABLESPACES-->SEGMENTS-->EXENTS-->BLOCKS (PPT-I-36)

11.1 TABLESPACE(表空间)分类

PERMANENT 永久表空间
UNDO 撤销表空间
TEMPORARY 临时表空间

11.1.1 表空间的管理方式:

重点是段的管理方式和区的管理方式是在建立表空间时确定的。

段管理方式有AUTO和MANUAL两种,区管理方式有本地管理和字典管理(已淘汰)两种。

03:32:36 SQL> select tablespace_name,contents ,extent_management,segment_space_management from dba_tablespaces;

TABLESPACE_NAME CONTENTS EXTENT_MAN SEGMEN
------------------------------ --------- ---------- ------
SYSTEM PERMANENT DICTIONARY MANUAL
SYSAUX PERMANENT LOCAL AUTO
TEMP TEMPORARY LOCAL MANUAL
USERS PERMANENT LOCAL AUTO
EXAMPLE PERMANENT LOCAL AUTO
UNDO_TBS01 UNDO LOCAL MANUAL
TMP01 TEMPORARY LOCAL MANUAL
TBS_16K PERMANENT LOCAL AUTO
BIG_TBS PERMANENT LOCAL AUTO
TEST PERMANENT DICTIONARY MANUAL

注意两点:
1)如果system表空间是数据字典管理,其他表空间可以是数据字典管理或local管理(默认)
2)字典管理可以转换成本地管理,但是对于系统表空间,要求执行一些附加步骤,比较麻烦。

execute dbms_space_admin.tablespace_migragte_to_local('tablespacename');

oracle之二数据字典表和动态性能视图的更多相关文章

  1. Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  2. 【转】 Oracle 中的一些重要V$ 动态性能视图,系统视图和表

    v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter ...

  3. 十三、oracle 数据字典和动态性能视图

    一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合 ...

  4. oracle 数据字典和动态性能视图

    一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合 ...

  5. oracle数据字典和动态性能视图

    数据字典和动态性能视图数据字典是oracle数据库中重要的组成部分,提高了数据库的一些系统信息.(静态信息)动态性能视图记载了例程启动后的信息.(动态信息) 数据字典记录了数据的系统信息,是只读表和动 ...

  6. oracle 基础知识(七)----动态性能视图

    一,动态性能视图介绍 动态性能视图属于数据字典,系统管理员用户 SYS 可以访问它们.在数据库打开和使用时不断进行更新,而且它们的内容主要与性能有关.虽然这些视图很像普通的数据库表,但它们不允许用户直 ...

  7. 数据字典和动态性能视图<五>

    数据字典和动态性能视图 介绍:数据字典是什么 数据字典是 oracle 数据库中最重要的组成部分,它提供了数据库的一些系统信息. 动态性能视图记载了例程启动后的相关信息.  数据字典 数据字典记录了 ...

  8. Oracle_高级功能(7) 数据字典视图和动态性能视图

    oracle数据字典 1.概念数据字典是oracle数据库用来存储数据库结构信息的地方.数据字典是用来描述数据库数据的组织方式的,由表和视图组成.数据字典基表是在任何 Oracle 数据库中创建的第一 ...

  9. Oracle【二维表管理:约束】

    1.简单的表创建和字段类型最简单的方式去创建表(没有添加主键之类的约束条件)[Oracle的字段类型]number:数值类型--整数类型:number(a) 总长度a--小数类型:number(a,b ...

随机推荐

  1. webpack打包原理

    什么是 webpack ? 本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依 ...

  2. 贫血模型和DDD模型

    贫血模型和DDD模型 1.贫血模型 1.1 概念 常见的mvc三层架构 简单.没有行为 2.领域驱动设计 2.1 概念(2004年提出的) Domain Driven Design 简称 DDD DD ...

  3. oracle 将数据库的表复制到另一个数据库表内

    将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码: 第一步:建立链接 CREATE database link A //数据库名称CONNECT to text  ...

  4. Go interface 操作示例

    原文链接:Go interface操作示例 特点: 1. interface 是一种类型 interface 是一种具有一组方法的类型,这些方法定义了 interface 的行为.go 允许不带任何方 ...

  5. keepalived的vrrp多播报文被禁,导致VIP同时位于多个机器上

    keepalived的vrrp多播报文被禁,导致VIP同时位于多个机器上 查看man keepalived.conf,VRRP instances中给出了单播的设置方法,添加unicast_peer即 ...

  6. WordCount (Python)

    Github项目地址:https://github.com/w1036933220/WordCount 一.解题思路 把项目需求理清楚,画一个思维导图 考虑各部分功能所需要的大概实现思路 然后完成了计 ...

  7. Federated Optimization for Heterogeneous Networks

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1812.06127v3 [cs.LG] 11 Jul 2019 目录: Abstract 1 Introduction 2  ...

  8. 玩转Spring——Spring IOC/DI

    什么是IOCioc :Inversion of Control,即控制反转. 它不是一种技术,而是一种设计思想,即java程序中获取对象的方式发生反转,由最初的new方式创建,转变成由第三方框架创建. ...

  9. shell 三剑客之 sed

    sed 在shell 编程里也很常用,功能强大! 同grep一样,sed提供两种方式: 方式一:stdout | sed [option] "pattern command" 从文 ...

  10. 单元测试与单元测试框架 Jest

    什么是单元测试? 测试是一种验证我们的代码是否可以按预期工作的手段. 被测试的对象可以是我们程序的任何一个组成部分.大到一个分为多步骤的下单流程,小到代码中的一个函数. 单元测试特指被测试对象为程序中 ...