oracle常用视图v$mystat v$sesstat v$sysstat v$statname v$thread v$ parameter v$session v$process
这两天看了盖国强老师的<<深入浅出>>,很佩服盖老师钻研的精神。书中常用到一个查询语句,为了获取当前会话的跟踪文件路径,sql如下:
SELECT d.VALUE
|| '/'
|| LOWER (RTRIM (i.INSTANCE, CHR (0)))
|| '_ora_'
|| p.spid
|| '.trc' trace_file_name
FROM
(SELECT p.spid FROM v$mystat m, v$session s, v$process p WHERE m.statistic# = 1 AND s.SID = m.SID AND p.addr = s.paddr) p, ----获取当前会话的系统进程id
(SELECT t.INSTANCE FROM v$thread t, v$parameter v WHERE v.NAME = 'thread' AND (v.VALUE = 0 OR t.thread# = TO_NUMBER (v.VALUE))) i, ----->获取实例名
(SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') d ; ---->获取跟踪文件的主路径
语句中包含了视图 ---->v$mystat v$thread v$ parameter v$session v$process
对于v$mystat视图在网上查了一下就出现了,v$sesstat,v$statname,v$sysstat
一 v$mystat v$sesstat v$sysstat v$statname视图
v$mystat,v$sesstat是用来分别统计会话级别和自实例起动以来数据库各种统计信息的。两个视图结构一致,只是统计数据不一致。可以说v$mystat是v$sesstat的子集。v$mystat视图中只会有当前用户的会话信息,v$sesstat会有整个实例内所有会话信息
名称 是否为空? 类型
----------------------- -------- -------------------------
SID NUMBER SID表示会话编号,与v$session中SID相对应。
STATISTIC# NUMBER STATISTIC# 表示统计项
VALUE NUMBER VALUE 表示统计项相关的值
v$statname,v$sysstat视图结构的差别就是v$sysstat比v$statname多一个value列。
1 SQL> desc v$sysstat;
2 Name Null? Type
3 ----------------------- -------- ----------------------------
4 STATISTIC# NUMBER 表示统计项
5 NAME VARCHAR2(64) 统计名
6 CLASS NUMBER 统计类数字:1 - User 2 - Redo 4 - Enqueue 8 - Cache 16 - OS 32 - Real Application Clusters 64 - SQL 128 - Debug
7 VALUE NUMBER 统计得到的值
8 STAT_ID NUMBER 统计信息的标识符 select * from
(select STATISTIC#,NAME,CLASS, STAT_ID from v$sysstat
minus
select STATISTIC#,NAME, CLASS,STAT_ID from v$statname) ;
> no rows selected
查某条DML语句所产生的redo信息。可以这样写:
select value from v$mystat t,v$statname t1 where t.STATISTIC# = t1.STATISTIC# and t1.NAME = 'redo size'
二 v$thread v$ parameter v$session v$process视图
SQL> desc v$process
1 Name Null? Type
--------------------- -------- ----------------------------
ADDR RAW(8) ---->进程状态对象的地址
PID NUMBER ---->Oracle进程标识符
SPID VARCHAR2(24) ---->系统进程id
PNAME VARCHAR2(5) ---->进程名
USERNAME VARCHAR2(15) ---->系统用户名
SERIAL# NUMBER ---->进程序列号
TERMINAL VARCHAR2(30) ---->操作系统终端标识符
PROGRAM VARCHAR2(48) ---->正在进行的程序
TRACEID VARCHAR2(255) ---->跟踪文件标识符
TRACEFILE VARCHAR2(513) ---->跟踪文件路劲
BACKGROUND VARCHAR2(1) ---->对于系统后台进程为1;对于前台进程或非系统后台进程为空
LATCHWAIT VARCHAR2(16) ---->进程正在等待的闩锁的地址;如果没有,则为空
LATCHSPIN VARCHAR2(16) ---->
PGA_USED_MEM NUMBER ---->进程当前使用的pga内存
PGA_ALLOC_MEM NUMBER ---->进程当前分配的PGA内存(包括服务器进程尚未释放到操作系统的可用PGA内存)
PGA_FREEABLE_MEM NUMBER ---->分配的可释放的PGA内存
PGA_MAX_MEM NUMBER ---->进程分配的最大PGA内存
SQL> desc v$thread;
Name Null? Type
------------------------------- -------- ----------------------------
THREAD# NUMBER ---->线程编号
STATUS VARCHAR2(6) ---->线程状态
ENABLED VARCHAR2(8) ---->已启用状态:已禁用,(已启用)专用,或(已启用)公用
GROUPS NUMBER ---->分配给此线程的日志组数
INSTANCE VARCHAR2(80) ---->实例名
OPEN_TIME DATE ---->上次打开线程的日期
CURRENT_GROUP# NUMBER ---->当前日志组
SEQUENCE# NUMBER ---->当前日志序列号
CHECKPOINT_CHANGE# NUMBER ---->最后一个检查点的SCN
CHECKPOINT_TIME DATE ---->最后一个检查点时间
ENABLE_CHANGE# NUMBER ---->启用线程的SCN
ENABLE_TIME DATE ---->启用SCN的时间
DISABLE_CHANGE# NUMBER ---->禁用线程的SCN
DISABLE_TIME DATE ---->禁用线程的SCN
LAST_REDO_SEQUENCE# NUMBER ---->上次由lgwr写入的重做序列号
LAST_REDO_BLOCK NUMBER ---->上次由lgwr写入的重做块
LAST_REDO_CHANGE# NUMBER ---->线程的上次重做的SCN
LAST_REDO_TIME DATE ---->线程的上次重做的时间
SQL> desc v$parameter;
Name Null? Type
----------------------------------------- -------- ----------------------------
NUM NUMBER ---->编号
NAME VARCHAR2(80) ---->参数名称
TYPE NUMBER ---->参数类型1 - Boolean 2 - String 3 - Integer 4 - Parameter file 5 - Reserved 6 - Big integer
VALUE VARCHAR2(4000) ---->参数的值
DISPLAY_VALUE VARCHAR2(4000) ---->用户友好格式的参数值。例如,如果值列显示大整数参数的值262144,则显示值列将显示值256K。
ISDEFAULT VARCHAR2(9) ---->是否为默认值
ISSES_MODIFIABLE VARCHAR2(5) ---->指示参数是否可以用alter session(true)更改(false)
ISSYS_MODIFIABLE VARCHAR2(9) ---->指示参数是否可以使用alter system进行更改,以及更改何时生效:immediate,deferred,false
ISINSTANCE_MODIFIABLE VARCHAR2(5) ---->对于可以用alter system更改的参数,指示每个实例的参数值是否可以不同(true)
ISMODIFIED VARCHAR2(10) ---->指示在实例启动后是否修改了参数:
ISADJUSTED VARCHAR2(5) ---->指示Oracle是否将输入值调整为更合适的值
ISDEPRECATED VARCHAR2(5) ---->指示参数是否已被弃用(true)或否(false)
ISBASIC VARCHAR2(5) ---->指示参数是否为基本参数(true)或非基本参数(false)
DESCRIPTION VARCHAR2(255) ---->参数说明
UPDATE_COMMENT VARCHAR2(255) ---->与最新更新关联的注释
HASH NUMBER ---->参数名的哈希值
由于v$session视图列过多,我只截取了部分
1 SQL> desc v$session;
Name Null? Type
--------------------------------------- -------- ----------------------------
SADDR RAW(8) ---->session地址
SID NUMBER ---->sessionID
SERIAL# NUMBER ---->会话序列号。用于唯一标识会话的对象。确保在会话结束且另一个会话以相同的会话ID开始时,会话级命令应用于正确的会话对象。
AUDSID NUMBER ---->审核会话ID
PADDR RAW(8) ---->拥有会话的进程的地址
USER# NUMBER ---->Oracle用户标识符
USERNAME VARCHAR2(30) ---->oracle用户名
COMMAND NUMBER ---->正在执行命令(已分析最后一条语句)。此命令列中的值0表示命令未记录在v$session中。
OWNERID NUMBER ---->
TADDR VARCHAR2(16) ---->事物状态的地址
LOCKWAIT VARCHAR2(16) ---->会话正在等待的锁的地址;如果没有,则为空
STATUS VARCHAR2(8) ---->会话状态:active-当前正在执行SQL的会话;inactive-会话处于非活动状态,没有配置的限制或尚未超过配置的限制;killed-标记为要杀死的会话;cache-会话临时缓存以供Oracle*xa使用;sniped-超出某些配置限制的非活动会话(例如,为资源管理器使用者组指定的资源限制或用户配置文件中指定的空闲时间)。此类会话将不允许再次处于活动状态。
SERVER VARCHAR2(9) ---->Server type:DEDICATED SHARED PSEUDO POOLED NONE
SCHEMA# NUMBER ---->schema用户标识符
SCHEMANAME VARCHAR2(30) ---->schema用户名
OSUSER VARCHAR2(30) ---->操作系统客户端用户名
PROCESS VARCHAR2(24) ---->操作系统客户端进程ID
MACHINE VARCHAR2(64) ---->操作系统计算机名
PORT NUMBER ---->客户端端口号
TERMINAL VARCHAR2(30) ---->操作系统终端名称
PROGRAM VARCHAR2(48) ---->操作系统程序名
TYPE VARCHAR2(10) ---->session type
SQL_ADDRESS RAW(8) ---->与sql_hash_值一起使用,以标识当前正在执行的sql语句
oracle常用视图v$mystat v$sesstat v$sysstat v$statname v$thread v$ parameter v$session v$process的更多相关文章
- oracle常用视图介绍
oracle常用视图介绍---------------------2013/10/04(last updated) dba_开头: dba_users 数据库用户信息 dba_segm ...
- 动态性能视图v$mystat,v$sesstat,v$statname
视图说明: v$mystat-------> 当前会话统计 v$sesstat------> 按会话进行分组统计 v$sysstat-------> 当系统的整体统计 v$statn ...
- oracle 常用视图和表
1.查看当前用户的基本信息 select * from user_users 2.查看当前用户的角色 select * from user_role_privs 3.查看当前用户的系统权限和表权限 s ...
- oracle动态视图(一)stat
1v$mystat,v$sesstat,v$sysstat是用来分别统计用户级,会话级,系统级信息的. SID NUMBER STATI ...
- ORACLE常用性能监控SQL【一】
目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...
- Oracle常用傻瓜问题1000问
Oracle常用傻瓜问题1000问 大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进 ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用语句集合
oracle常用经典SQL查询 常用SQL查询: .查看表空间的名称及大小 )),) ts_size from dba_tablespaces t, dba_data_files d where t. ...
- ORACLE 常用SQL查询
一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle > sv ...
随机推荐
- Mysql InnoDB的四个事务隔离级别和(分别逐级解决的问题)脏读,不可重复读,虚读
MySqlInnoDB的事务隔离级别有四个:(默认是可重复读repeatable read) 未提交读 read uncommit : 在另一个事务修改了数据,但尚未提交,在本事务中SELECT语句可 ...
- MVP 模式简单易懂的介绍方式
为什么用Android MVP 设计模式? 当项目越来越庞大.复杂,参与的研发人员越来越多的时候,MVP 模式 的优势就充分显示出来了. MVP 模式是 MVC 模式在 Android 上的一种变体, ...
- dbms_random 包的使用
dbms_random是一个可以生成随机数值或者字符串的程序包. 这个包有 initialize(),seed(),terminate(),value(),normal(),random(),stri ...
- 【Kettle】4、SQL SERVER到SQL SERVER数据转换抽取实例
1.系统版本信息 System:Windows旗舰版 Service Pack1 Kettle版本:6.1.0.1-196 JDK版本:1.8.0_72 2.连接数据库 本次实例连接数据库时使用全局变 ...
- java:通过Calendar类正确计算两日期之间的间隔
在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...
- Jmeter入门--可执行元件
一.测试片段(Test Fragment) 测试片段元素是控制器上的一种特殊的线程组,它在测试树上与线程组处于一级层级.它与线程组有所不同,因为它不执行,除非它是一个模块控制器或者是被控制器所引用时才 ...
- AFNetworking 2.5.x 网络请求的封装
AFNetworking 2.5.x 网络请求的封装 源码地址 https://github.com/YouXianMing/Networking 说明 1. 将block形式的请求转换成用代理来处理 ...
- [翻译] InstagramPhotoPicker
InstagramPhotoPicker Present Image Picker like Instagram. 展示图片选择器,像Instagram这款应用一样. Installation - 安 ...
- 限定pan手势只能在圆内移动view
限定pan手势只能在圆内移动view 效果: 虽然看起来很简单,但实现原理还是稍微有点复杂-_-!! 核心的地方,就是需要计算pan手势的点与指定点的距离,不能超过这个距离,超过了就让动画还原,很容易 ...
- python2.7与3.5共存windows平台安装
文:铁乐与猫 2018-3-18 周日 01.首先是安装python2.7: 官网下载 https://www.python.org 点击安装包进行安装 可以选择自定义的路径 将默认打x的[add p ...