`

oracle数据字典和动态性能表

阅读更多

 重要性:
    因为数据字典中有用户的信息,我们登录的时候要查询数据字典,有权限信息,我们做操作的时候也要查询数据字典,有约束信息
    我们操作数据的时候也要查询数据字典,所以数据字典对于oracle数据库非常重要。
    主要了解数据库的一些内建的对象,数据字典的了解和使用,数据字典的view是如何创建,学会查询这些表。
    
    数据字典主要描述数据库和它的对象,包含只读表和视图,这些只读表和视图存储在system表空间中,有oracle server自动
    进行维护,普通用户没有权限查看,oralce DBA也只能查看而已。 这些表的是属于sys用户的。只能select访问。
    
    主要学习oralce 的数据字典 和 动态性能表部分
    数据字典在oracle中有很重要的作用,是一个提供oralce信息的只读的表,数据字典包含:
    一:数据字典包含什么信息
    1:数据库中所有schema 对象的定义包括(tables, views, indexes, clusters, synonyms, sequences, procedures, functions, packages, triggers, and so on)
    2:schema object对象已经分配了多少空间,当前使用了多少空间
    3:存储了数据库结构的物理和逻辑结构
    4:数据的完整性约束信息
    5:用户的信息,角色信息,权限信息 以及审计 和 对象空间的分配情况。
    数据字典由 表和视图构成,所有数据字典表的表和视图在存储空间由system表空间提供。
    数据字典不仅对于数据库很重要,对于用户,dba 等都很重要,只能使用SQL语句访问数据字典,因为数据字典是只读的,只能通过SELECT语句访问这些表和view
    
    二:数据字典的构成:
    数据字典主要包含如下两个部分:
     1: Base tables 基表
      存储数据库的描述,当执行 create database的时候就确定了。创建基表的脚本:sql.bsq 当创建数据库的时候,这个脚本会自动调用创建基表。
    这个脚本在 ORACLE_HOME/rdbms/admin下面,有兴趣的可以去看看,我的oracle这个的地址为:
    D:\app\topwqp\product\11.1.0\db_1\RDBMS\ADMIN
    这些基表的信息比较神秘,一般不要动,即使是DBA一般也不要操作表。
    2: data dictionary  views(用户可访问的views)
    这些视图总结和显示数据字典的base table的信息,这些视图把base table中的信息转化为更直观更需要的信息,
    大部分用户是需要访问 views 而不是base table
    主要这个views的视图的创建是通过在创建视图后执行catalog.sql脚本生成的数据字典视图,
    这个脚本的位置也在:D:\app\topwqp\product\11.1.0\db_1\RDBMS\ADMIN
    data dictionary  view 是一个静态view 因为改动小,不是不改动,而是改动很少。
    下图说明了两个分类:
     
     
     
    什么时间数据字典会改动呢?
    当使用DDL(DATA DEFINE LANGUAGE)语言的时候,ORACLE SERVER会修改数据字典的信息,比如 创建表 ,删除表,添加约束和 索引等。数据字典的owner(所有者)是SYS 用户,其他用户不能修改这个用户的信息,所以安全性很高。
    注意:修改和操作数据字典表也许会长期影响数据的操作。所以需慎重。

 

 三:数据字典的使用
    如何使用数据字典呢?
    数据字典有三个主要的用处:
    1:oracle 在找用户的信息,schema对象,和存储结构的时候需要数据字典
    2:每次操作DDL(Data definition language)的时候,oracle server会修改数据字典的信息
    3:一些授权的oralce用户能够通过select语句查看数据字典的信息。
    PS 数据字典多使用同义的别名,使用Cache 加快访问
    如何使用数据字典:
    所有的数据库用户能够访问数据字典view,通过SQL语句进行访问,一些视图能够被所有的 的用户访问,但是也有些视图只能被DBA访问。
    当数据库是open状态的时候,数据字典就可以访问了,数据字典中包含很多views,在这些视图中大概分为3中类型的视图,不同类型的views信息有不同 的前缀。
    下面是很好的说明:
    Prefix Scope
    USER
    User's view (what is in the user's schema)
    ALL
    Expanded user's view (what the user can access)
    DBA
    Database administrator's view (what is in all users' schemas)
    
    不同视图的区别:
    含有USER前缀的视图通常不包含 OWNER这一列,这一列用户通常不能看到。
    一些DBA前缀的视图包含更多列的信息。
    三个主要的区别就是部分列的信息不同。
    
    USER_XXX
    这个视图主要描述user关心的信息:
    1:有用户自己在数据库中的私有环境,包括被用户创建的schema对象信息 和用户的权限信息。
    2:显示用户和用户相关的列
    3:和 ALL_XXX 的view相比没有OWNER列,其他都一致。
    4:根据第三条返回的结果当然是 ALL_VIEW的子集了 subset 简直是废话;
    例如:SELECT object_name, object_type FROM USER_OBJECTS;
    
    ALL_XXX
    SELECT owner, object_name, object_type FROM ALL_OBJECTS;
    DBA_XXX
    SELECT owner, object_name, object_type FROM SYS.DBA_OBJECTS;
    数据字典一览表: select table_name from dictionary;  
    
    动态性能视图(dynamic performance V$ views)
    11g联机文档参考
    重要参考
    动态性能视图:
    1:virtural tables 数据库信息以表的形式展示出来
    2:记录了数据库当前的活动情况
    3:当操作的时候会时不时的更新
    4:动态性能表的信息来自 内存 和 控制文件中
    5:主要作用: 监控和调优数据库
    6:owner 所有者 : sys用户
    7: 表名开始于V$
    8:动态性能表的一览表在 V$FIXED_TABLE;
    
    DESC v$FIXED_TABLE
    
    一些常用的动态性能表:
    V$contrllfile 系统中的控制文件
    v$parameter 数据库参数信息
    v$spparameter
    v$SGA
    V$TABLESPACE
    V$THREAD
    等表信息
    在oracle online document中
    
    动态视图对于实时的监控数据库的性能非常有用:
    下面讲讨论三点:
    1:动态视图的目的(为什么要有动态视图)
    2:动态视图的体系
    3:动态视图的使用
    
    1:The purpose of the Dynamic Performance Views
    动态视图能够实时监控oracle的内脏,就相当人的各部部分的健康等,监控oracle各个部分的性能。
    数据字典和动态视图有什么不同呢?
    这样想像一下:数据字典像一对零件,它列出了一个汽车的所有的部分,显示了这些汽车零件的在汽车中的位置这
    很容易理解,如果你想替换其中的一些零件,如果你想调整汽车的速度,换零件是一个不可取的选择。
    
    V$动态视图就像汽车的车速计和转速计,它将告诉我们当前汽车的速度多快,通过通过调速灯帮助我们调节速度,数据库也一样,动态视图提供了数据库各个部分状况的反馈。
    
    2:动态性能视图的体系结构
    动态性能视图是一种很低级的oracle视图,我们很少需要去访问它,这些视图叫做X$ ,这个视图反应了oracle内部的结构。
    X$视图位于oracle的底层,一般不是高手不要访问了。V$是创建在X$之上的视图,我觉得V$视图是X$的同义,最好利用V$去查询。
    
    V$视图的使用:
    下面是一些使用V$视图的例子:
    如果ORACLE DBA想知道 who 连接这个系统,下列查询能够满足这个要求:
    [sql]
    SQL> select sid, serial#, username, osuser, machine from v$session 
      2 where username is not NULL; 
    注意 这个sid ,serial#列是一个连接到oracle数据库的用户一个标示。username是连接到数据库的用户名,OSUSER列显示连接到数据库的用户的操作系统名称,
    在oracle中有很多动态性能视图,提供了很多有价值的信息。

 

原文来源:http://oracle.chinaitlab.com/optimize/930869_2.html

分享到:
评论

相关推荐

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

    本人自己总结的Oracle 10g数据库中与数据字典和动态性能视图有关的命令。

    数据字典和动态性能视图

    本文用通俗易懂的话总结了oracle的数据字典和动态性能试图,主要是对数据字典的总结

    Oracle中的数据字典技术和动态性能视图

    数据字典视图和动态性能视图的区别 : a:数据字典视图名一般用复数,而动态性能视图名一般用单数,比如dba_tablepsaces vs v$tablespace。 b:数据字典视图只有在数据库opn的情况下才可以访问,而部分动态性能视图...

    4数据字典和动态性能视图实验脚本.rar

    数据字典和动态性能视图实验脚本,详细介绍了ORACLE数据字典和动态性能视图方面的知识,对想深入学习ORACLE的学者有一定的帮助。

    oracle11g数据字典以及性能视图

    oracle11g数据字典以及性能视图 oracle11g数据字典以及性能视图,oracel ,X$,v$,dba_

    数据字典与动态性能视图

    Oracle常用数据字典与动态性能视图,很实用的经典之作

    ORACLE数据字典与视图

    ORACLE数据字典与视图,对于理解oracle 的工作有很大的帮助。 包含的内容: 1.ORACLE数据字典与视图 2.动态性能表 3.SQL语言运算符与函数

    ORACLE数据字典

    文档主要内容为Oracle数据库数据字典基本概念、数据字典分类、常用数据字典视图

    Oracle10g DBA经常使用的动态性能视图和数据字典

    v$rollstat:联机回滚段统计信息 v$rowcache:内存中数据字典活动/性能信息 v$session:有关会话的信息 v$sesstat:在v$session中报告当前会话的统计信息 v$sqlarea:共享池中使用当前光标的统计信息,光标是一块...

    Oracle 数据字典

    常见的Oracle数据字典清单,分为:基本字典、与数据库组件相关的数据字典、常见动态性能视图的列表。

    Oracle中的数据字典技术初级入门

    Oracle中的数据字典有静态和动态之分。静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变...

    有关数据字典学习经验

    静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,比如说内存变化情况,表空间变化情况这些随时都在变化的情况;所以在访问这类数据...

    oracle课程进度表

    创建和配置oracle11g数据库 数据字典和动态视图 SQL调优 逻辑备份和数据导入/导出 Asmcmd介绍 网络服务与网络管理 数据库的审计 使用优化器指示 Oracle闪回技术 磁盘组介绍 Oracle11g数据库结构和存储 闪回数据库 ...

    Oracle的数据字典技术简析

    静态数据字典主要是在用户访问数据字典时不会发生改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。以下分别就这两类数据字典来论述。...

    Oracle数据恢复神器Dbseeker 2.5

    2.数据字典丢失模式,Oracle 9i数据文件读取BUG修复。 3.数据文件OFFSET读取BUG修复。 4.错字,显示格式的调整。 2015/11/11 Dbseeker 使用说明书(PDF) 第一版 released 2015/11/11 Dbseeker 2.1 released

    oracle基础教程

    oracle基础教程 课程说明 1 课程介绍 1 课程目标 1 相关资料 1 第1章 ORACLE数据库概述 2 1.1 产品概述 2 1.1.1 产品简介 2 ...附录A ORACLE数据字典与视图 62 附录B 动态性能表 68 附录C SQL语言运算符与函数 70

    Oracle Sql 性能优化

    ORACLE在解析的过程中, 会将'*' 依次转换成所有的列名, 这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间 4、CASE 表达式WHEN…… CASE 表达式 WHEN THEN…比 CASE WHEN 表达式 THEN… 效率要高(没有...

    oracle实用教程-韩顺平

    11.数据字典和动态性能视图 12.数据库管理 -- 管理表空间和数据文件 13.约束 14.Oracle 索引、权限 15.角色 16.PL/SQL 块的结构和实例 17.pl/sql 分类 -- 过程,函数,包,触发器 18.定义并使用变量,复合类型 19...

    Oracle大全

    常用命令 一、基本命令(Sql*plus) 二、 Oracle 的用户管理 三、 Profile 管理用户口令 四、 Oracle 表的管理 ...七、 数据字典和动态性能视图 八、 维护数据的完整性 九、 oracle 的函数 十、 PL/SQL 块

    Oracle四大宝典之二:Oracle基本管理 中文版

    第三章 使用数据字典和动态性能视图 第四章 参数文件管理 第五章 控制文件管理 第六章 维护重做日志文件 第七章 管理表空间和数据文件 第八章 还原(回滚)数据管理 第九章 管理表 第十章 管理索引 第十一章 维护...

Global site tag (gtag.js) - Google Analytics