这两天看了盖国强老师的<<深入浅出>>,很佩服盖老师钻研的精神。书中常用到一个查询语句,为了获取当前会话的跟踪文件路径,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. css过渡笔记

    3D     http://fangyexu.com/tool-CSS3Inspector.html <!DOCTYPE html> <html lang="en" ...

  2. 企业实施ERP的先后步骤,你真的了解吗?

    信息化是我国加快实现工业化和现代化的必然选择.坚持以信息化带动工业化,以工业化促进信息化,在国民经济和社会领域广泛采用信息技术.国民经济信息化中企业的信息化工作是基础, ERP管理系统是IT技术和先进 ...

  3. C++ 判断当前系统x64 or x86

    BOOL IsWow64(){ BOOL bIsWow64 = FALSE; //IsWow64Process is not available on all supported versions o ...

  4. Pwn with File结构体之利用 vtable 进行 ROP

    前言 本文以 0x00 CTF 2017 的 babyheap 为例介绍下通过修改 vtable 进行 rop 的操作 (:-_- 漏洞分析 首先查看一下程序开启的安全措施 18:07 haclh@u ...

  5. SpringBoot 之HelloController

    1.搭建环境 1.1 新建一个maven项目,一路下一步 1.2 打开pom 文件,首先增加<parent></parent>标签: <parent> <gr ...

  6. 如何让你的Ssh连接,更加安全?

    希望你会涨姿势. First: vim /etc/ssh/sshd_config 在Port 22下面加一行,以端口1438为例,Port 1438 然后保存,重启ssh服务 systemctl re ...

  7. WEB API 支持多种端的后台

    一套代码,支持多种平台 1. 支持web 可以js获取webapi的数据源.利用mvvm组织展现在html上. 2.支持安卓. post方法,安卓获取webapi的数据.

  8. javascript版format函数,方便实现复杂字串连接

    javascript版format函数,方便实现复杂字串连接 String.prototype.format = function () { var args = arguments; console ...

  9. 固定UILabel宽度分行显示

    固定UILabel宽度分行显示 这种小伎俩估计都被用烂了,笔者给大家提供一个category文件,供大家简单设置哦. 各种富文本效果哦(普通文本也是可以用的呢): 3行,固定宽度200 2行,固定宽度 ...

  10. Linux vim命令详解

    vi: o  处于下一行编辑模式 A  处于编辑的后面  ==>END gg 文件的开头 98gg 跳转到第98行 Shift + G 文件结尾 $ 文件行结尾 ^ 文件行开头   ==> ...