这两天看了盖国强老师的<<深入浅出>>,很佩服盖老师钻研的精神。书中常用到一个查询语句,为了获取当前会话的跟踪文件路径,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$mystatv$sesstat的子集。v$mystat视图中只会有当前用户的会话信息,v$sesstat会有整个实例内所有会话信息

名称                       是否为空?         类型
-----------------------   --------    -------------------------
SID                                                          NUMBER                                 SID表示会话编号,与v$session中SID相对应。
STATISTIC#                                            NUMBER                                 STATISTIC#  表示统计项
VALUE                                                     NUMBER                                 VALUE       表示统计项相关的值

v$statname,v$sysstat视图结构的差别就是v$sysstatv$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的更多相关文章

  1. oracle常用视图介绍

    oracle常用视图介绍---------------------2013/10/04(last updated) dba_开头:   dba_users     数据库用户信息   dba_segm ...

  2. 动态性能视图v$mystat,v$sesstat,v$statname

    视图说明: v$mystat-------> 当前会话统计 v$sesstat------> 按会话进行分组统计 v$sysstat-------> 当系统的整体统计 v$statn ...

  3. oracle 常用视图和表

    1.查看当前用户的基本信息 select * from user_users 2.查看当前用户的角色 select * from user_role_privs 3.查看当前用户的系统权限和表权限 s ...

  4. oracle动态视图(一)stat

    1v$mystat,v$sesstat,v$sysstat是用来分别统计用户级,会话级,系统级信息的. SID                                 NUMBER STATI ...

  5. ORACLE常用性能监控SQL【一】

    目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...

  6. Oracle常用傻瓜问题1000问

    Oracle常用傻瓜问题1000问 大家在应用ORACLE的时候可能会遇到很多看起来不难的问题, 特别对新手来说, 今天我简单把它总结一下, 发布给大家, 希望对大家有帮助! 和大家一起探讨, 共同进 ...

  7. Oracle常用SQL查询(2)

    三.查看数据库的SQL 1 .查看表空间的名称及大小 select  t.tablespace_name,  round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...

  8. Oracle常用语句集合

    oracle常用经典SQL查询 常用SQL查询: .查看表空间的名称及大小 )),) ts_size from dba_tablespaces t, dba_data_files d where t. ...

  9. ORACLE 常用SQL查询

    一.ORACLE的启动和关闭 1 .在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su  -  oracle a.启动ORACLE系统 oracle > sv ...

随机推荐

  1. Anaconda多环境多版本python配置笔记

    一.Conda测试过程: 使用conda.首先确认已经安装好了conda 配置环境.下一步通过创建几个环境来展示conda的环境管理功能.学习如何确认在哪个环境中,以及如何做复制一个环境作为备份. 测 ...

  2. zookeeper - java操作

    ZKUtils.java package test; import java.io.IOException; import java.util.concurrent.CountDownLatch; i ...

  3. 带你从零学ReactNative开发跨平台App开发[expo 打包发布](八)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  4. Html 表单标签 Form

    Html表单 #转载请留言联系 表单用于搜集不同类型的用户输入,表单由不同类型的标签组成,相关标签及属性用法如下: 1.<form>标签 定义整体的表单区域 action属性 定义表单数据 ...

  5. gitlab上如何添加二进制文件(设计文档)

    想将设计文档(原型设计图,UML设计图等)放到gitlab上,以供团队其他成员查看.将这些二进制文件跟源码一样纳入git管控显然是不合适的.经过一番摸索,找到了如何管理项目文档的方法. 根据Stack ...

  6. SQL Server FOR XML PATH 和 STUFF函数的用法

    FOR XML PATH ,其实它就是将查询结果集以XML形式展现,将多行的结果,展示在同一行. 下面我们来写一个例子: 假设我们有个工作流程表: CREATE TABLE [dbo].[Workfl ...

  7. C++发展概述、优缺点及应用领域

    个人观点(C++虽功能强大,但是底层还是调用C,C++为了吸引更多的C程序员,功能过于丰富且复杂,一定程度上反而降低了可编程的实用性.但是不可否认C++ 也是一门艺术.) C++是一门以C为基础发展而 ...

  8. 用Spider引擎解决数据库垂直和水平拆分的问题

    作者介绍 张秀云,网名飞鸿无痕,现任职于腾讯,负责腾讯金融数据库的运维和优化工作.2007年开始从事运维方面的工作,经历过网络管理员.Linux运维工程师.DBA.分布式存储运维等多个IT职位.对Li ...

  9. iOS开发中常用的数学函数

    iOS开发中常用的数学函数 /*---- 常用数学公式 ----*/ //指数运算 3^2 3^3 NSLog(,)); //result 9 NSLog(,)); //result 27 //开平方 ...

  10. 使用CoreData [3]

    使用CoreData [3] 此篇幅介绍CoreData如何升级版本防止崩溃 把你之前创建的实体文件全部删除掉,把沙盒中的数据库文件删除掉,实体只保持一个,然后重新创建出实体文件. - (BOOL)a ...