性能视图和性能参数

在oracle中,和用户有关的表有三种:用户自己创建的表,数据字典视图,动态性能视图。在后2种视图中,用户可以查询自己关心的信息。数据字典是一种系统表,它在数据库被创建时自动产生,由数据库服务器进行维护和更新。有三类主要的数据字典视图,这些视图名称分别以以下标识符开始:

  • user_ : 存储当前用户所拥有的某类对象信息

  • all_ : 存储当前用户有权访问的某类对象信息

  • dba_ :
    存储数据库中所有的某类对象信息,仅管理员可以访问。

user_objects
当前用户所拥有的所有对象的信息。

user_tables
当前用户所拥有的表的信息。

all_tables
当前用户可以访问的表信息,包括自己的表和其他用户授权该用户可以访问的表

1. 常用的动态性能视图:

v$sql:
常和v$session一起使用来获取当前会话中的sql执行和这条sql运行了多长时间或者它在等待什么事件。

  • 先找到用户的sid:select sid,
    machine,program,module from v$session;

  • 获取某session正在执行的sql,执行时间和等待事件:select
    a.sql_text,b.status,b.last_call_et,b.event from v$sql a, v$session b where
    a.sql_id=b.sql_id and b.sid=[SID];

  • 查询sql语句消耗的cpu时间和执行时间,就可以大概知道sql语句在执行中是否有长时间等待事件:select
    sql_text,cpu_time/(1000*1000) t_cpu,trunc(elapsed_time/(1000*1000))
    t_elap,(cpu_time/elapsed_time/(1000*1000))*100 pct from v$sql where sql_text
    like ‘insert into t %‘;

不是所有的sql语句都可以从v$sql中找到,因为oracle会动态更新共享池的信息,一些过旧的sql语句会从共享池剔除,以便新的sql语句提供共享池的空间。可以使用手工方式清除共享池中信息:alter
system flush shared_pool;

v$sql_shared_cursor:
存放sql在执行过程中游标共享的信息,可以帮助分析为什么有些看起来“一样”的sql却没有共享的原因。

v$session: 定位用户的会话信息。select sid,
machine,program,module from v$session;

v$sessstat:
记录某个session从运行以来的各种资源统计数据,通过关联表v$statsname可以查询出某个session资源的消耗情况。

  • select a.sid,b.name,a.value from v$sesstat
    a,v$statname b where a.sid=[SID] and a.statistic#=b.statistic# and b.name in
    (‘consistent gets‘, ‘physical reads‘, ‘parse count(total)‘, ‘parse
    count(hard)‘);

v$session_wait:
记录会话的等待信息,这些等待信息在v$session里也可以查看到。

2. 性能参数指它的设置会对数据库性能问题造成影响的数据库初始化参数。

在sqlplus中查看初始化参数:show parameter
db_block_size;或者select name, value from v$parameter where name like
‘db_%‘;

修改初始化参数:alter system set db_block_size=8000;
有些参数修改后可以立即起作用,有的需要重启实例才能起作用。

cursor_sharing:
告诉oracle在什么情况下可以共享游标,即sql重用。三个值可以设置:exact,similar和force。

时间: 2024-11-09 06:02:26

性能视图和性能参数的相关文章

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

一.概念数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息.动态性能视图记载了例程启动后的相关信息. 二.数据字典1).数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户.2).用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的.3).这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表.数据字典视图是基于数据字典基表所建

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

数据字典和动态性能视图 介绍:数据字典是什么 数据字典是 oracle 数据库中最重要的组成部分,它提供了数据库的一些系统信息. 动态性能视图记载了例程启动后的相关信息. ? 数据字典 数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为 sys 用户. 用户只能在数据字典上执行查询操作(select 语句),而其维护和修改是由系统自动完成的. 这里我们谈谈数据字典的组成:数据字典包括数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不 能直接访问数据字典的

[转]Oracle DB 性能视图和数据字典

动态性能视图 用于访问实例内存结构不断变化的状态信息. 在Oracle DB 中还维护着一个关于数据库实例操作和性能的动态数据集.这些动态性能视图以基于数据库服务器内部的内存结构构建的虚拟表为基础.也就是说,这些视图不是驻留在数据库中的传统意义上的表.这就是为什么部分视图在数据库装载或打开之前就能够使用的原因. 动态性能视图包含下列信息: ? 会话 ? 文件状态 ? 作业和任务的进度 ? 锁 ? 备份状态 ? 内存使用率和内存分配 ? 系统参数和会话参数 ?SQL 执行 ? 统计数据和度量 注:

自定义SCOM性能视图

SCOM管理包的作用之一是提供监控结果视图,包括各种被监视的设备/系统/应用性能视图.状态视图等视图.SCOM视图分别保存在两种不同的管理包中: 已经封装好的管理包,也即我们导入的管理包,在SCOM控制台的监视面板中,那些带锁的文件夹也就是这类管理包,如图1所示1所标识的区域. 一个名为Default的未封装管理包,在SCOM控制台的监视面板中,和文件夹同级的那些视图,比如Windows计算机,Unix/Linux计算机.发现清单等视图都是存放在这个默认的管理包中,如图1所示2所标识的区域.如果

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

oracle数据字典 1.概念数据字典是oracle数据库用来存储数据库结构信息的地方.数据字典是用来描述数据库数据的组织方式的,由表和视图组成.数据字典基表是在任何 Oracle 数据库中创建的第一批对象.所有数据库的数据字典表和视图都存储在SYSTEM表空间中.由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的.Oracle数据库的SYS用户,拥有数据字典中的所有基表和用户可访问视图.数据字典基表中的数据,对于Oracle 数据库发挥正常功能是

Oracle的基本操作-数据字典和动态性能视图的介绍

三.数据字典和动态性能视图的介绍 1. 数据库的数据字典 (1) DBA_   全库所有的某种对象的数据字典       只有系统用户才有权限查询 (2) ALL_   当前用户创建的对象 + 其他用户授予当前用户使用的对象       当前用户 (3) USER_  当前用户创建的对象       当前用户 操作实例:解锁一个用户hr并改密码SQL> alter user hr account unlock; User altered. SQL> alter user hr identifi

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

Oracle数据字典和动态性能视图,布布扣,bubuko.com

oracle 报警日志、动态性能视图及数据字典

1.查看报警日志 /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 实时日志:tail -f  /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log 跟踪文件 ADR 2.动态性能视图(v$) 保存在内存中 用来访问 实例 内存结构的不断变化的状态的信息(控制文件+实例) session data wait events memory allocations Runni

Mysql性能优化之缓存参数优化

数据库属于 IO 密集型的应用程序,其主要职责就是数据的管理及存储工作.而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优化数据库,首先第一步需要优化的就是 IO,尽可能将磁盘IO转化为内存IO.本文先从 MySQL 数据库IO相关参数(缓存参数)的角度来进行IO优化: 一.query_cache_size/query_cache_type (global)    Query cache 作用于整个 MySQL Inst