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 ...
随机推荐
- JS 面试题 实践一
1.完成 extname 函数,它会接受一个文件名作为参数,你需要返回它的扩展名. 例如,输入 emoji.png,返回 .png. const extname = (filename) => ...
- Eclipse 下载、安装、取消自动更新、设置编码、关联Tomcat
1.下载 (1)安装jdk 如果进行web开发,下载java se 版本的jdk即可,不需要像安装 java se 一样安装java ee(里面大多是接口和抽象类).关于java ee的依赖问题有两种 ...
- CSS 小结笔记之文字溢出处理
有时文字会溢出盒子,这时一般要对文字进行溢出处理.一般有以下三种处理方法: 1.word-break:normal | break-all |keep-all normal 使用浏览器默认的换行 b ...
- JVM知识(二):类加载器原理
我们知道我们编写的java代码,会经过编译器编译成字节码(class文件),再把字节码文件装载到JVM中,最后映射到各个内存区域中,我们的程序就可以在内存中运行了.那么问题来了,这些字节码文件是怎么装 ...
- ubuntu安装zeromq
官网地址:http://zeromq.org/ ubuntu下zmq安装 (1)下载:wget http://download.zeromq.org/zeromq-4.1.4.tar.gz (2)解压 ...
- git repo代码部署策略及工具
一般在项目或者产品开发流程中,先是开发人员在本地做好开发及测试,其中可能包含很多用于测试用的目录以及源代码文件,在部署前往往会有一个build过程.web项目最终build产生出优化生产环境下减少ht ...
- [翻译] OrigamiEngine
OrigamiEngine https://github.com/ap4y/OrigamiEngine Lightweight iOS and OSX audio engine with opus, ...
- Linux head/tail命令详解
head命令用于显示文件的开头的内容.在默认情况下,head命令显示文件的头10行内容. tail命令用于显示文件的结尾的内容.在默认情况下,taild命令显示文件的后10行内容. head常见命令参 ...
- Atom 绝赞插件
文件图标: file-icons 根据不同文件后缀名显示不同类型图标 标签栏根据不同文件格式显示色彩: filetype-color 在标签栏不同格式文件显示不同的颜色的标题,支持二度设置. 小地图: ...
- 使用Ajax无刷新页面登录
<script> window.onload = function () { var myname = document.getElementById("uname") ...