oracle 存储过程 参数试图参数问题

在Oracle 里创建带参数的视图 - isMaybe - 博客园
在Oracle里,视图不像存储过程和函数一样,可以定义输入参数,但我们可以变个方式,使用程序包来实现
首先定义程序包:
/* 按个人需要定义,我定义三个参数 ,因我项目程序需要,所以三个参数都是number ,当然可定义其它类型
但切记,第二个create 的参数类型等需以第一个create一致,否则程序包创建失败
create or replace package p_view_param
function set_param(num number) return number;
function get_param
return number;
function set_Type(num number) return number;
function get_Type
return number;
function set_Id(num number) return number;
function get_Id
return number;
end p_view_
create or replace package body p_view_param is
paramValue number;
paramType number;
paramId number;
function set_param(num number) return number is
paramValue:=
function get_param return number is
return paramV
function set_Type(num number) return number is
paramType:=
function get_Type return number is
return paramT
function set_Id(num number) return number is
function get_Id return number is
return paramId;
end p_view_
创建的时候记得先创建第一个;
接下来定义视图:
*定义视图,where 后面跟参数,可自己拼装,注意视图字段要和select的字段匹配
CREATE OR REPLACE VIEW abstract_sum_view(fa_id, aircraft_num,aircraft_weight,airline_code,anchor_pos)
AS SELECT f.fa_id, f.aircraft_num,findweight(f.aircraft_num),f.airline_code,f.anchor_pos
FROM tb_flight_abstract f
where f.fa_id=p_view_param.get_Id(); --参数
--使用视图,传参
from abstract_sum_view
where p_view_param.set_id(3)=3 ;博客分类:
蓝色:Oracle命令
红色:概念
黄色:动态性能视图
加粗:一段的开始
---------------------------第一章 Oracle体系结构概述-----------------------------------------------------
一、概述 什么是Oracle server
Oracle Server是一个系统,包括两个部分Oracle instance与Oracle database
二、Oracle的内存结构
2.1、Oracle instance
instance 有两部分组成,由内存与后台进程组成
包括一个SGA,
多个PGA,一个Server Process对应一个PGA
一个instance只能对应一个database,一个database可以对应多个instance
下面有说明
2.2Oracle database 就是一堆硬盘上的文件
有三种文件:
Data files
Control files
Redo Log files
查看SGA区信息的命令:show sga
SGA区的组成:一个数据库实例只有一个SGA
Shared Pool
Library Cache
存储编译后的SQL,PL/SQL语句
Data Dictionary Cache
数据字典,存储着数据库的控制信息,比如动态性能视图
Database Buffer Cache
占内存最大的,存储数据的缓存
Redo Log Buffer
存储对表的修改,事务日志
java Pool(可选)
Large Pool(可选)
SGA增长的最小单位叫granule
查看granule: select component,granule_size from v$sga_dynamic_components;
SGA的最大值由参数 SGA_MAX_SIZE决定
2.4 PGA的组成:一个Server Process对应一个PGA,什么是Server Process下面的说明。
三、Oracle的进程结构
User Process (用户进程) 如sql plus就是一个用户进程
Server Process (服务进程) 负责与用户连接的进程
background
Process (后台进程) DBWn , LGER, PMON,SMON,CKPT
DBWn (必有)Database Writer 最多可有20个,负责把Database Buffer Cache 中被修改的数据写的data files中。IO任务繁重可配置多个DBWn 进程
(必有)Log Wriger 负责把Redo Log Buffer中的数据写到Redo Log files中。
(必有)Process Monitor 用于释放,清理进程级的资源,如进程出错时销毁进程,重新生成进程。
(必有)System Monitor 用于释放,清理系统级的资源
(必有)CheckPoint 是轻量级的进程,写入更新检查点信息。
(可选)Archiver 负责写归档日志
四、Oracle的逻辑结构
Oracle Server上只有一个Oracle Database。
一个Oracle Database可以有多个表空间组成。
一个表空间有多个segment组成。
一个segment有多个Extent组成。
一个Extent是一组连续的blocks(块)。
五、Oracle的物理结构
一个表空间有多个Data file组成。
一个segment可以跨Data file
------------------------第二章 Oracle 服务器入门---------------------------------一、Oracle的管理工具OUI(Oracle Universal Installer)
安装删除数据库DBCA(Oracle Database Configuration Assistant)
创建管理数据库SQL Plus
不用说了吧OEM(Oracle Enterprise Manager)
管理企业中多个数据库Oracle Net Manager
网络助手Recvoery Manager
RMANDate Pump
------------------------第三章
管理Oracle实例-----------------------------------
一、oracle的初始化参数
oracle的初始化参数(pfile,spflie中的参数)都保存在v$parameter视图中,可以使用sql查具体参数的值
方便快速查看参数的命令:show parameter 参数名(可简写),例如show parameter pga_ag 是查pga_aggregate_targer参数的值
查看oracle的SID, 看linux下的oracle的环境变量,(linux命令) :env | grep ORACL
二、pfile,spfile讲解1 pfile,spfile的说明与命名规范
这两个文件保存在OracleHome/dbs目录
pfile命名规范 :int + SID +.ora
spfile命名规范 :spfile + SID +.ora2 使用一个例子pfile修改成一个当前数据库能使用的pfile3 使用pfile创建spfile
create spfile='spfile文件名' form pfile='pfile文件名';
creat 使用默认值
4 pfile的修改,直接使用文本编辑器修改。
---spfile---
1、修改spfile中的内容:&这是可选部分&
alter system set parameter=value &comment='说明' & &deferred& &scope=memory|spfile|both& &sid='sid|*'&;
2、把spfile中的参数改回默认值
alter system reset parameter scope=both sid='*';
3 使用spfile 创建pfile
create pfile='pfile文件名' form
spfile='spfile文件名' ;
使用默认值
4 使用strings命令(Linux命令)查看二进制文件中的文字
strings 二进制文件名 | more
三、Oralce的启动
启动oracle
startup启动监听进程
lsnrctl start
远端的用户可以通过网络连到数据库
3.1、Oralce的启动的顺序:
1、先找spfileSID.ora
2、如果没有,再找Default spfile
(spfile.ora文件)
3、如果没有,再找initSID.ora
3.2、使用指定的pfile或spfile来启动当前Oralce的数据库
startup后面可加参数 srartup pfile=$ORACLE_HOME/dbs/init*.ora ,指定使用pfile来启动当前数据库
srartup spfile=''
这是不可以的, 也就是说,不能用直接指定的spflie来启动当前数据库,
但我们可以可以写一个pfile指向一个spfile,
123.ora 的内容:
spfile=$ORACLE_HOME/dbs/spfileABC.ora
spfileABC.ora是一个存在的,有效的spfile文件。
再srartup pfile='$ORACLE_HOME/dbs/123.ora ' 命令来启动当前数据库,就可以使用我们指定的spfile
3.3、Oracle 启动的4个阶段:
1 shutdown 状态,关闭状态
2 nomount 状态,instance启动阶段,读初始化参数,分配内存,启动后台进程,但没挂载数据库(dataFile)
3 mount 状态,打开控件文件,日志文件,挂载数据库(dataFile),一般用户不能访问, 只有管理员能访问, 可做备份恢复工作。管理员使用的命令是有限的.
状态,可以正常对外提供服务
5 restrict
状态,一般用户(无restrict权限)不能连接到数据库,管理员可以做一些维护工作,管理员可以使用所有的命令
6 read only 状态 ,只读状态,用户可查数据,管理员又可以做一些离线的操作.
startup nomount
, 进入nomount 状态
alter database mount ; , 进入mount 状态
startup mount ,直接进入mount 状态
alter database open ;
, 进入open
startup restrict
, 直接进入restrict
alter system enabl 可从open 状态进入restrict
alter dat 进入read only状态
3.4、把已连接上来的用户踢下去:
1 查看在线用户 : select sid,serial#,username from v$session;
2 通过用户名,找出相应的sid,serial# 值,为下一步做准备
3 alter system kill session
' sid值 , serial#值 ' ;
四、Oralce的关闭的顺序:
1 colse a database
把SGA中的数据写到硬盘上,关闭redo log files,数据文件.
2 Unmount a Datebase 关控制文件
3 ShutDown an Instance
关实例,放内存
停止oracle
shutdown abort
最狠的,强断开session,回滚未完成的事务,没能关数据文件,会留垃圾,下次再启动时SMON进程再来清理这些垃圾(没能及时写入数据文件的数据).
停止oracle
shutdown immediate
最常用的,强断开session,回滚未完成的事务, 会正常关数据文件,不留垃圾.
停止oracle
shutdown transactional
强断开session, 等所有事务提交, 会正常关数据文件,不留垃圾.
停止oracle
shutdown normal
等session自己断开, 等所有事务提交, 会正常关数据文件,不留垃圾.
五、诊断文件
Diagnostic Files
5.1 诊断文件的类型:
1 alert_SID.log
2 Background trace 文件。
3 User trace 文件。
文件名:SID_ora_PID.trc
5.2 alertSID.log
文件名:alert_SID.log
文件只有一个。
记录你的操作,重大事件的结果,记录每次启动的初始化参数。文件很大
本文件存放在位置,要查询background_dump_dest参数,
可以使用VI 来查看文件的内容。
5.3 Background trace 文件
文件名:SID_processname_PID.trc
每个PID相同的进程一个文件。
如果后台进程出现错误,就会写这类文件, 这种情况较少。
5.4 User trace 文件
文件名:SID_ora_PID.trc
server process 进程出现错误, 你想主动记录用户的操作时,就会写这类文件
本文件存放在位置,要查询user_dump_dest参数,
5.5 手工控制记录 User trace 文件
在session级别记录
alter session set sql_trace=
修改成功后,用show parameter sql_trace查看, 10G版本可以看到变化,9I版本看不到,但实际已修改成功
在instance 级别记录
修改初初始化参数文件
sql_trace=true
这时远端用户,执行的SQL语句,都会被记录下来, 记在user_dump_dest参数指定的目录下的SID_ora_PID.trc文件中。
------------------------------第四章 创建数据库--------------------------------------------------------
用DBCA创建
手动删除以有数据库
------------------------------第五章 数据字典和动态性能视图----------------------------------
一、数据字典(DD)(静态,不常变化)
1.1 数据字典是
是只读的表和视图,存储在 system 表空间,所有者是SYS用户,数据字典用来保存以下信息:
1 数据据库的物理与逻辑结构
2 数据库对的定义与空间分配
3 数据完整性的约束
4 用户信息
5 角色信息
6 特权信息
7 审计信息
创建数据字典时,使用catalog.sql 脚本来创建的。
是“所有”,是DBA能访问的schema
不是“所有”,是当前用户的全部能访问schema,
比USER_XXX 多了一些被授权访问的其它用户的schema
USER_XXX 用户自己的schema
1.3 常用的数据字典
dba_tables
记录数据中所有的表。
all_tables
记录当前用户的全部能访问的表,可能有一些是被授权访问的其它用户的表。
user_tables 记录当前用户所有的表,就是当前用户“拥有”的表。
dba_objects
记录数据中所有的数据对象
all_objects
记录当前用户的全部能访问的数据对象,可能有一些是被授权访问的其它用户的数据对象
user_objects 记录当前用户所有的数据对象,就是当前用户“拥有”的数据对象。
dictionary 总揽表,记录着全部的数据字典与动态性能视图
select * from dictionary 10.2G版本中大约有1870条记录
二、动态性能视图 (动态,常变化)
是虚表,不是真表, 是内存中的信息,只是以“表”的形式来展示,记录数据库当前的活动情况,如现在数据库有几个事务没有提交,是常变化的。用于监控与调优数据库。所有者是SYS用户。
v$fixed_table
动态性能视图的一揽表,存储所有的动态性能视图名称。10.2g版本大约有1383条录,9i版本大约有900多条
v$controlfile
此时控制文件信息
v$database
此时数据库信息
v$datafile
此时数据文件信息
v$instance
此时实例信息
v$parameter
此时初始化参数信息,是存储在内存中的。
此时远端用户与数据库建立的session信息
此时SGA的信息
v$spparameter
此时spfile中的参数信息,是存储在spfile文件中的
v$tablespace
此时表空间信息
redo log信息
------------------------------第六章 管理控制文件-----------------------------------------------------
------------------------------第七章 管理联机Redo日志文件-----------------------------------
------------------------------第八章 管理表空间和数据文件-------------------------------------
------------------------------第九章 存储空间管理-存储结构和关系------------------------
------------------------------第十章 Undo管理---------------------------------------------------------
------------------------------第十一章 管理表---------------------------------------------------------
------------------------------第十二章 管理索引---------------------------------------------------------
------------------------------第十三章 维护数据完整性---------------------------------------------------------
------------------------------第十四章 管理口令与安全---------------------------------------------------------
------------------------------第十五章 管理用户---------------------------------------------------------
------------------------------第十六章 管理Privileges---------------------------------------------------------
------------------------------第十七章 管理角色---------------------------------------------------------
------------------------------第十八章 审计Auditing---------------------------------------------------------
------------------------------第十九章 导入数据到数据库---------------------------------------------------------
------------------------------第二十章 全球化支持---------------------------------------------------------
浏览: 5965567 次
来自: 北京
谢谢,学到很多
非常感谢非常感谢
推荐用StratoIO打印控件,功能如下:1、Html友好的打 ...
heipacker 写道这篇是抄的?不知道
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'博客访问: 1154537
博文数量: 91
注册时间:
分类: Oracle 18:32:14
timed_statistics参数:用于决定是否收集相关的时间参数,true为收集。如果该参数设为false,则等待事件相关视图也就无法收集到数据。
SQL> SHOW PARAMETER timed_
NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& TYPE&&&&&&& VALUE
------------------------------------ ----------- ------------------------------
timed_statistics&&&&&&&&&&&&&&&&&&&& boolean&&&& TRUE
如果statistics_level设置为TYPICAL或ALL,那么timed_statistics该参数为true;如果statistics_level设置为BASIC,那么timed_statistics该参数为false。
SQL> SHOW PARAMETER statistics_level
NAME&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& TYPE&&&&&&& VALUE
------------------------------------ ----------- ------------------------------
statistics_level&&&&&&&&&&&&&&&&&&&& string&&&&& TYPICAL
一、v$system_event视图介绍
1.字段说明
DESC v$system_event
Name&&&&&&&&&&&&& Type&&&&&&&&
----------------- ------------
EVENT&&&&&&&&&&&& VARCHAR2(64)& --等待的事件&&&&&&&&&&&&&&&&&&&&&
TOTAL_WAITS&&&&&& NUMBER&&&&&&& --总等待次数&&&&&&&&&&&&&&&&&&&&&&&&&
TOTAL_TIMEOUTS&&& NUMBER&&&&&&& --等待超时次数&&&&&&&&&&&&&&&&&&&&&&&
TIME_WAITED&&&&&& NUMBER&&&&&&& --总等待时间(时间毫秒,1/100秒)&&&&&&&&&&&&&&&&&&&&&&&
AVERAGE_WAIT&&&&& NUMBER&&&&&&& --平均等待时间(总等待时间/总等待次数)&&&&&&&&&&&&&&&&&&&&&&&
TIME_WAITED_MICRO NUMBER&&&&&&& --总等待时间(时间微秒,1/1000000秒)&&&&&&&&&&&&&&&&&&&&&&&&&&
EVENT_ID&&&&&&&&& NUMBER&&&&&&& --标识等待事件id&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS_ID&&&& NUMBER&&&&&&& --标识等待事件类型id&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS#&&&&&& NUMBER&&&&&&& --该等待类型的数量&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS&&&&&&& VARCHAR2(64)& --等待类型名称&&&&&&&&&&&&&&&
2.等待事件类型(WAIT_CLASS)
SELECT DISTINCT wait_class FROM v$system_--或直接查看v$system_wait_class视图
WAIT_CLASS
-------------
Concurrency --等待用于锁定的数据库资源,如闩
System I/O& --后台进程I/O的等待,包括db file parallel write事件的数据库写程序后台进程(DBWR)等待。还包括与归档有关的等待和重做日志读和写等待
User I/O&&& --包括db file sequential read和db file scattered read事件
Configuration --如checkpoint completed等待事件
Other&&&&&&&& --杂项等待
Application& --由应用代码导致的等待
Idle&&&&& --空闲等待事件表示在会话不活动时发生的等待,如 “SQL*Net message from client”等待事件
Commit&&& --由单个等待事件log file sync组成,它是一个由数据库中的提交导致的等待
Network&& --网络传递消息过程中的发生等待
log file sync(日志文件同步): log file sync 等待时间和事务中指(提交或回滚)相关;
&&&&&&&&&&&&&&&&&&&&&&&&&&&& 当进程在log file sync事件上花费大量时间时,这通常表明过多的提交或短事务。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&
SELECT event, time_waited, average_wait,total_waits,f.WAIT_CLASS_ID,f.WAIT_CLASS#,f.WAIT_CLASS
& FROM v$system_event f
WHERE wait_class NOT IN ('Idle')
ORDER BY time_waited DESC;
二、v$system_wait_class视图
1.视图字段说明
SQL> DESC v$system_wait_class& --10g新增
Name&&&&&&&&& Type&&&&&&&&
------------- ------------
WAIT_CLASS_ID NUMBER&&&&&&& --等待类型id&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS#&& NUMBER&&&&&&& --该等待类型的数量&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS&&& VARCHAR2(64)& --等待类型名称&&&&&&&&&&&&&&&&&&&&&&&
TOTAL_WAITS&& NUMBER&&&&&&& --该等待类型事件发生时所等待的时间&&&&&&&&&&&&&&&&&&&&&&
TIME_WAITED&& NUMBER&&&&&&& --所有会话用于等待的时间
2.v$system_wait_class视图和v$system_event视图比较
v$system_wait_class视图是10g新增的,该视图是对类型等待时间的统计。v$system_event视图可以与v$system_wait_class视图结合查看。
v$system_wait_class视图和v$system_event视图的来源不同,可用v$fixed_view_definition视图查看视图的具体定义,如下所示:
SELECT * FROM v$fixed_view_definition&& WHERE view_name='V$SYSTEM_EVENT';
SELECT * FROM v$fixed_view_definition&& WHERE view_name='GV$SYSTEM_EVENT';
SELECT * FROM v$fixed_view_definition&& WHERE view_name='V$SYSTEM_WAIT_CLASS';
SELECT * FROM v$fixed_view_definition&& WHERE view_name='GV$SYSTEM_WAIT_CLASS';
三、v$session_event视图
1.字段说明
SQL> DESC v$session_event
Name&&&&&&&&&&&&& Type&&&&&&&&
----------------- ------------
SID&&&&&&&&&&&&&& NUMBER&&&&&&& --会话id&&&&&&&&&&&&&&&&&&&&&&&&&&
EVENT&&&&&&&&&&&& VARCHAR2(64)& --等待事件&&&&&&&&&&&&&&&&&&&&&&&
TOTAL_WAITS&&&&&& NUMBER&&&&&&& --该会话等待次数&&&&&&&&&&&&&&&&&&&&&&&
TOTAL_TIMEOUTS&&& NUMBER&&&&&&& --该会话等待超时次数&&&&&&&&&&&&&&&&&&&&&&&
TIME_WAITED&&&&&& NUMBER&&&&&&& --该会话总等待时间(时间毫秒,1/100秒)&&&&&&&&&&&&&&&&&&&&&&&&&&
AVERAGE_WAIT&&&&& NUMBER&&&&&&& --该会话平均等待时间(总等待时间/总等待次数)&&&&&&&&&&&&&&&&&&&&&&&
MAX_WAIT&&&&&&&&& NUMBER&&&&&&& --该会话等待时间最大值&&&&&&&&&&&&&&&&&&&&
TIME_WAITED_MICRO NUMBER&&&&&&& --该会话总等待时间(时间微秒,1/1000000秒)&&&&&&&&&&&&&&&&&&&&&&&&
EVENT_ID&&&&&&&&& NUMBER&&&&&&& --事件ID&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS_ID&&&& NUMBER&&&&&&& --等待类型ID&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS#&&&&&& NUMBER&&&&&&& --该等待类型的数量&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS&&&&&&& VARCHAR2(64)& --等待类型名称&
2.v$session_event视图与v$system_event视图比较
v$session_event视图:会话级的统计
v$system_event视图:系统级的统计
四、v$session_wait_class视图
与v$system_wait_class相比多了sid和serial#字段,v$session_wait_class视图表示某一会话的等待时间。
五、v$session_wait视图
1.字段说明
SQL> DESC v$session_
Name&&&&&&&&&&& Type&&&&&&&
--------------- ------------
SID&&&&&&&&&&&& NUMBER&&&&&&&& --会话id&&&&&&&&&&&&&&&&&&&&&&
SEQ#&&&&&&&&&&& NUMBER&&&&&&&& --标识当前或最新的等待序列号&&&&&&&&&&&&&&&&&&&&&&
EVENT&&&&&&&&&& VARCHAR2(64)&& --当前等待事件或最后一次等待事件&&&&&&&&&&&&&&&&&&&&&
P1TEXT&&&&&&&&& VARCHAR2(64)&& --第一个等待参数的描述&&&&&&&&&&&&&&&&&&&&&&
P1&&&&&&&&&&&&& NUMBER&&&&&&&& --第一个等待参数(十进制)&&&&&&&&&&&&&&&&&&&&&&
P1RAW&&&&&&&&&& RAW(4)&&&&&&&& --第一个等待参数(十六进制)&&&&&&&&&&&&&&&&&&&&&&
P2TEXT&&&&&&&&& VARCHAR2(64)&& --第二个等待参数的描述&&&&&&&&&&&&&&&&&&&&&&&
P2&&&&&&&&&&&&& NUMBER&&&&&&&& --第二个等待参数(十进制)&&&&&&&&&&&&&&&&&&&&&&
P2RAW&&&&&&&&&& RAW(4)&&&&&&&& --第二个等待参数(十六进制)&&&&&&&&&&&&&&&&&&&&&&
P3TEXT&&&&&&&&& VARCHAR2(64)&& --第三个等待参数的描述&&&&&&&&&&&&&&&&&&&&&&
P3&&&&&&&&&&&&& NUMBER&&&&&&&& --第三个等待参数(十进制)&&&&&&&&&&&&&&&&&&&&&&
P3RAW&&&&&&&&&& RAW(4)&&&&&&&& --第三个等待参数(十六进制)&&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS_ID&& NUMBER&&&&&&&& --等待事件类型ID&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS#&&&& NUMBER&&&&&&&& --该等待事件数量&&&&&&&&&&&&&&&&&&&&&&
WAIT_CLASS&&&&& VARCHAR2(64)&& --等待事件名称&&&&&&&&&&&&&&&&&&&&&
WAIT_TIME&&&&&& NUMBER&&&&&&&& 该字段已废弃,可通过SECONDS_IN_WAIT和STATE字段替代 (具体含义,0代表正在等待;>0表示最后一次等待的时间,单位为百分之一秒;-1表示等待时间小于百分之一秒;-2表示参数TIMED_STATISTICS被设置为false)&&&&&&&&&&&&&&&&&&&&&
SECONDS_IN_WAIT NUMBER&&&&&&&& --如果该会话处于等待状态,则表示当前等待的总时间;如果非等待状态,则表示自最后一次等待以来的总时间&&&&&&&&&&&&&&&&&&&&&&
STATE&&&&&&&&&& VARCHAR2(19)&& --其值可为 WAITING,WAITED UNKNOWN TIME,WAITED SHORT TIME ,WAITED KNOWN TIME
state值的具体含义:WAITING表示会话正在等待;
&&&&&&&&&&&&&&&&& WAITED UNKNOWN TIME表示最后一次等待时间不知,即TIMED_STATISTICS被设置为false;
&&&&&&&&&&&&&&&&& WAITED SHORT TIME表示最后一次等待时间少于百分之一秒;
&&&&&&&&&&&&&&&&& WAITED KNOWN TIME表示最新一次等待时间,可通过wait_time列查看。即该等待时间正好由等待状态得到资源转为执行状态。
2.注意事项
1)oracle11g,在该视图中新增了WAIT_TIME_MICRO,TIME_REMAINING_MICRO,TIME_SINCE_LAST_WAIT_MICRO字段。而SECONDS_IN_WAIT已废弃,用
WAIT_TIME_MICRO and TIME_SINCE_LAST_WAIT_MICRO替代。
TIME_REMAINING_MICRO字段含义:为0表示当前等待超时;>0表示当前等待还需等待的时间;-1表示当前等待将无限制地等待;null表示该会话当前无等待
2)p1,p2,p3参数代表的含义可以通过v$event_name视图的PARAMETER1,PARAMETER2,PARAMETER3查找。不过v$session_wait视图本身中的P1TEXT,
P2TEXT,P3TEXT已经对p1,p2,p3进行了说明,及P1TEXT,P2TEXT,P3TEXT字段值与PARAMETER1,PARAMETER2,PARAMETER3一样。
六、v$session视图
该视图包含了v$session_wait视图的所有字段。该视图记录了每个会话的具体信息。
获取不同用户会话所面临的等待类型及他们所执行的sql语句文本,如下脚本:
SELECT s.username, t.sql_text, s.event
& FROM v$session s, v$sqltext t
WHERE s.sql_hash_value = t.hash_value
&& AND s.sql_address = t.address
&& AND s.type
'BACKGROUND'
ORDER BY s.sid, t.hash_value, t.
七、v$sysmetric视图
这是一个显示最近时间间隔的系统度量值,时间间隔为60秒。通过这个视图也可以查看在一个短期间隔内的
Buffer Cache Hit Ratio,Memory Sorts Ratio,Redo Allocation Hit Ratio。
v$waitclassmetric:显示最近60秒时间间隔中等待类的度量值。此视图最多保存一个小时的信息。
SELECT * FROM v$waitstat
v$session_wait_history
该视图保存每个活动会话的最后10个等待事件的有关信息。如v$session和v$session_wait视图只显示最近一次等待的信息。
SELECT seq#, event, wait_time, p1, p2, p3
& FROM v$session_wait_history WHERE sid = 140
ORDER BY seq#;
v$active_session_history:当前的活动会话历史
--查询导致最多等待的对象及这些对象在最后15分钟内等待的事件类型
SELECT o.object_name,
&&&&&& o.object_type,
&&&&&& a.event,
&&&&&& SUM(a.wait_time + a.time_waited) total_wait_time
& FROM v$active_session_history a, dba_objects o
WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE
&& AND a.current_obj# = o.object_id
GROUP BY o.object_name, o.object_type, a.event
ORDER BY total_wait_
--列出数据库中最后15分钟内最重要的等待事件
SELECT a.event,
&&&&&& SUM(a.wait_time + a.time_waited) total_wait_time
& FROM v$active_session_history a
WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE
GROUP BY a.event
ORDER BY total_wait_time DESC;
--等待最多的用户
SELECT s.sid,
&&&&&& s.username,
&&&&&& SUM(a.wait_time + a.time_waited) total_wait_time
& FROM v$active_session_history a,v$session s
WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE
&& AND a.session_id = s.sid
GROUP BY s.sid,s.username
ORDER BY total_wait_time DESC;
--确定等待最多的sql
SELECT a.user_id,
&&&&&& s.sql_text,
&&&&&& d.username,
&&&&&& SUM(a.wait_time + a.time_waited) total_wait_time
& FROM v$active_session_history a, v$sqlarea s, dba_users d
WHERE a.sample_time BETWEEN SYSDATE - 30 / 2880 AND SYSDATE
&& AND a.sql_id = s.sql_id
&& AND a.user_id = d.user_id
GROUP BY a.user_id, s.sql_text, d.
dba_hist_active_sess_history:每60分钟,MMON后台进程都要刷新过滤了得ASH数据到磁盘,使其成为按小时的AWR快照的一部分。若ASH缓冲区已满,
则MMML后台进程进行数据的刷新。ASH数据被刷新到磁盘后,就不能在v$active_session_history视图中看到它了。此时要查看历史数据,就必须通过
dba_hist_active_sess_history视图。
段级动态性能视图:使用它们可以找出哪些表和索引正在使用大量资源或具有大量的等待。
v$segstat_name
v$segment_statistics
阅读(140891) | 评论(1) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
培训时间及地点&&&&日—12月16日&(13日全天报到)&&深圳   2014年&1月14日—&1月17日&&(14日全天报到)&&北京&&“机房建设与管理”的课程(所有内容QQ:)   2013年12月&3日—12月6日&&&(3日全天报到&)上海&&&&2013年12月&20日—12月23日&(20日全天报到&)海南*海口&&&“信息安全与网络攻防”的课程(所有内容QQ:)   日—12月9日&&(6日全天报到)&&上海 &&日-12月26日&(23日全天报到)&&海南*海口  &&&培训费用及颁发证书 &&&每人培训费39
请登录后评论。}

我要回帖

更多关于 oracle建立试图 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信