v$process视图:
v$process视图包含当前系统oracle运行的所有进程信息。常被用于将oracle或服务进程的操作系统进程ID与数据库session之间建立联系。
常用列:
ADDR:进程对象地址
PID:oracle进程ID
SPID:操作系统进程ID
V$PROCESS中的连接列
Column View Joined Column(s)
ADDR V$SESSION PADDR
v$session视图
V$SESSION是基础信息视图,用于找寻用户SID或SADDR。不过,它也有一些列会动态的变化,可用于检查用户。
常用列:
SID:SESSION标识,常用于连接其它列
SERIAL#:如果某个SID又被其它的session使用的话则此数值自增加(当一个SESSION结束,另一个SESSION开始并使用了同一个SID)。
AUDSID:审查session ID唯一性,确认它通常也用于当寻找并行查询模式
USERNAME:当前session在oracle中的用户名。
STATUS:这列用来判断session状态是:
Achtive:正执行SQL语句(waiting for/using a resource)
Inactive:等待操作(即等待需要执行的SQL语句)
Killed:被标注为删除
paddr, process addr, 通过这个字段我们可以查看当前进程的相关信息, 系统进程id,操作系统用户信息等等.
(sql_address,sql_hash_value) (prev_sql_addr,prev_hash_value) 根据这两组字段, 我们可以查询到当前session正在执行的sql语句的详细
信息.
v$sqltext视图
v$sqltext视图包括Shared pool中SQL语句的完整文本,一条SQL语句可能分成多个块被保存于多个记录内。
常用列:
HASH_VALUE:SQL语句的Hash值
ADDRESS:sql语句在SGA中的地址
SQL_TEXT:SQL文本。
PIECE:SQL语句块的序号
V$SQLTEXT中的连接列
Column View Joined Column(s)
HASH_VALUE, ADDRESS V$SQL, V$SESSION HASH_VALUE, ADDRESS
HASH_VALUE. ADDRESS V$SESSION SQL_HASH_VALUE, SQL_ADDRESS
按pid查看正在执行的程序:
select sid,program from v$session b where paddr in (select addr from v$process where spid=$pid);
按pid查看正在执行的sql语句
select sql_text from v$sqltext where hash_value in (select sql_hash_value from v$session where
PADDR in (select addr from v"$process where spid=$pid)) order by piece;
V$SESSION_WAIT视图
这是一个寻找性能瓶颈的关键视图。它提供了任何情况下session在数据库中当前正在等待什么(如果session当前什么也没在做,则显示它最后的等待事件)。当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向。
V$SESSION_WAIT中,每一个连接到实例的session都对应一条记录。
常用列:
SID: session标识
EVENT: session当前等待的事件,或者最后一次等待事件。
WAIT_TIME: session等待事件的时间(单位,百分之一秒)如果本列为0,说明session当前session还未有任何等待。
SEQ#: session等待事件将触发其值自增长
P1, P2, P3: 等待事件中等待的详细资料
P1TEXT, P2TEXT, P3TEXT: 解释说明p1,p2,p3事件
附注:
1.State字段有四种含义﹕
Waiting:SESSION正等待这个事件。
Waited unknown time:由于设置了timed_statistics值为false,导致不能得到时间信息。表示发生了等待,但时间
很短
Wait short time:表示发生了等待,但由于时间非常短不超过一个时间单位,所以没有记录。
Waited knnow time:如果session等待然后得到了所需资源,那么将从waiting进入本状态。
Wait_time值也有四种含义:
值>0:最后一次等待时间(单位:10ms),当前未在等待状态。
值=0:session正在等待当前的事件。
值=-1:最后一次等待时间小于1个统计单位,当前未在等待状态。
值=-2:时间统计状态未置为可用,当前未在等待状态。
3.Wait_time和Second_in_wait字段值与state相关:
如果state值为Waiting,那么wait_time值无用。Second_in_wait值是实际的等待时间(单位:秒)。
如果state值为Wait unknow time,那么wait_time值和Second_in_wait值都无用。
如果state值为Wait short time,那么wait_time值和Second_in_wait值都无用。
如果state值为Waiting known time,那么wait_time值就是实际等待时间(单位:秒),Second_in_wait值无用。
V$SESSION_WAIT中的连接列
Column View Joined Colum
SID V$SESSION SID
查看session等待事件:
select sid,event from v$session_wait where event not like ’rdbms%’ and event not like ’SQL*Net message%’;
多数的session都是空闲事件如:SQL*Net message from client, pipe get, PMON timer等.
分享到:
相关推荐
此表包含了几个基本字段,如ID、姓名、邮箱等。 ```sql CREATE TABLE AM_TEST ( id NUMBER(10) NOT NULL, name VARCHAR2(20), email VARCHAR2(20), remark VARCHAR2(20), age NUMBER ); ``` 并为表中的...
例如,一个视图可能只包含一个大型表的一部分列,或者合并来自多个表的相关信息,使得用户无需关心底层数据的实际存储方式。 2. 安全性与权限控制:通过视图,数据库管理员可以限制用户对原始数据的访问。用户只能...
在C#中,迁移Oracle视图的步骤主要包括以下几个方面: 1. **建立数据库连接**:使用OracleConnection类创建连接字符串,并建立与源数据库和目标数据库的连接。连接字符串应包含数据库的服务器地址、服务名、用户名...
物化视图是Oracle数据库中一种特殊的数据对象,它保存的是基于一个或多个表(称为基表)的查询结果集,并且这些结果集是物理上存在的。与普通的视图不同,普通视图只是一种虚拟表,在执行查询时才动态地计算结果,而...
具体操作是在一个时间段开始时创建一个视图数据快照,在时间段结束时再创建一个。两次快照中各项统计指标的差异即为该时间段内的资源消耗情况。这种做法是Oracle性能监控工具如Statspack和ASH(Active Session ...
随着Oracle版本的不断升级,V$视图的数量也在不断增加,从Oracle 6时代的23个到10g R2的372个,这反映了Oracle数据库复杂性的增长和技术的进步。本文旨在提供一个全面的指南,帮助读者理解如何使用这些V$视图来提升...
学习Oracle数据字典与视图,你需要了解以下几个关键点: 1. **数据字典表和视图**:了解主要的数据字典视图,如`ALL_OBJECTS`, `DBA_OBJECTS`, `USER_OBJECTS`, `USER_TAB_COLUMNS`等,以及它们各自的用途。 2. **...
Oracle数据库中的视图是SQL语言的一个重要特性,它允许用户创建虚拟表,这些虚拟表基于一个或多个实际的表或视图。视图提供了一种数据抽象的方式,简化了复杂查询,同时也保护了基础表的数据,因为它们可以被限制在...
首先,我们需要了解几个关键术语。基表是创建物化视图时引用的原始数据表或视图,而物化视图(MView)则是基于这些基表创建的,它保存了查询结果。源数据库端指的是包含基表的数据库,而MView端则是物化视图所在的...
基于Oracle物化视图日志的数据同步技术,主要包含以下几个步骤: 1. 创建物化视图日志:在源数据表上创建物化视图日志,指定需要跟踪的列和操作类型。 2. 创建物化视图:在目标数据库上创建物化视图,指定其依赖于源...
在学习Oracle视图时,理解以下几个关键点至关重要: 1. **安全性**:视图可以作为数据访问控制的一种手段,限制用户对原始表的直接访问,只允许他们通过预定义的视图进行操作。 2. **简化查询**:视图可以隐藏复杂...
在本教程中,我们将通过一个具体的案例——SALESHISTORY (SH) 示例模式,来了解如何实施物化视图和查询重写功能。该场景涉及到一系列的步骤,包括模式的修改、物化视图的创建与维护以及查询重写的启用等。 #### 四...
**数据字典视图**与**动态性能视图**的主要区别可以从以下几个方面进行阐述: 1. **命名规则**: - **数据字典视图**: 通常采用复数形式,如`DBA_TABLESPACES`。 - **动态性能视图**: 一般采用单数形式,如`V$...
本文将详细介绍Oracle10g DBA常用的几个数据字典视图和动态性能视图,帮助读者更好地理解和利用这些资源。 #### 一、DBA最常用的数据字典 数据字典是存储在SYSTEM表空间中的一系列特殊表,它们提供了关于数据库...
在Oracle数据库中,物化视图(Materialized View)是一种特殊的数据库对象,它存储的是一个查询的结果集,可以理解为一个预计算的快照。物化视图主要用于提高报表查询性能和实现数据复制等功能。 物化视图的特性...
本文将深入讲解Oracle中的几个核心概念:表、视图、过程、函数、游标以及异常处理,这些都是Oracle数据库管理的基础。 首先,我们来看“表”。在Oracle中,表是数据的基本存储单元,用于组织和存储相关数据。创建表...
在Oracle数据库管理中,实验3涉及到了几个关键的数据库对象:视图、序列、同义词和索引。这些元素是构建和管理高效数据库系统的重要组成部分。以下是它们的详细解释和示例: 1. **视图(View)**: 视图是从一个或...
接下来,我们使用一个FOR循环来遍历`user_objects`视图,这个视图包含了当前用户所有的对象信息。循环中,我们通过`object_name`和`object_type`字段来确定每个对象的名称和类型(例如表或视图),并根据对象类型...
通过深入理解Oracle物化视图的原理和特性,可以有效利用这一强大工具来优化数据库性能,特别是在处理大数据量和复杂查询的场景下,物化视图能显著提升查询速度,减少系统负载,为用户提供更佳的数据访问体验。...
物化视图的刷新策略也很关键,主要有以下几种模式: - `ON COMMIT`:在每次对基表的DML操作提交时立即刷新物化视图。 - `ON DEMAND`:根据需要手动触发刷新。 - `ON PROcedURE`:通过指定的存储过程来刷新物化视图。...