- 浏览: 120916 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
willse:
嘿嘿,很好很强大! 有意思............
[转]用ReflectionFactory实现不调用构造参数创建对象 -
phoenix_sun:
谢谢,很完正,是我需要的例子,多谢
使用Spring的JdbcTemplate调用Oracle的存储过程 -
fly533:
不错,非常完整!
使用Spring的JdbcTemplate调用Oracle的存储过程 -
lxc914_java:
,不错,很详细。
[转]详解JAVA POI导出EXCEL报表的操作(包括各种格式及样式的实现)
--查看数据库响应状况
select *
from SYS.V_$SYSMETRIC
where METRIC_NAME IN ( 'Database CPU Time Ratio',
'Database Wait Time Ratio')
AND INTSIZE_CSEC = (select max(INTSIZE_CSEC) from
SYS.V_$SYSMETRIC)
--查看数据库的总性能
select *
from sys.v_$sysmetric_history
where metric_name = 'Database CPU Time Ratio'
order by 1
--获得数据库整体性能效率的最大、最小和平均值
select CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
'SQL Service Response Time (secs)'
WHEN 'Response Time Per Txn' then
'Response Time Per Txn (secs)'
ELSE
METRIC_NAME
END METRIC_NAME,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((MINVAL / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((MINVAL / 100), 2)
ELSE
MINVAL
END MININUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((MAXVAL / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((MAXVAL / 100), 2)
ELSE
MAXVAL
END MAXIMUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((AVERAGE / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((AVERAGE / 100), 2)
ELSE
AVERAGE
END AVERAGE
from SYS.V_$SYSMETRIC_SUMMARY
where METRIC_NAME in
('CPU Usage Per Sec', 'CPU Usage Per Txn', 'Database CPU Time Ratio',
'Database Wait Time Ratio', 'Executions Per Sec',
'Executions Per Txn', 'Response Time Per Txn',
'SQL Service Response Time', 'User Transaction Per Sec')
ORDER BY 1
--查看究竟是什么类型的用户活动影响数据库的响应速度,找到相应的主要花费时间处理的部分
select case db_stat_name
when 'parse time elapsed' then
'soft parse time'
else
db_stat_name
end db_stat_name,
case db_stat_name
when 'sql execute elapsed time' then
time_secs - plsql_time
when 'parse time elapsed' then
time_secs - hard_parse_time
else
time_secs
end time_secs,
case db_stat_name
when 'sql execute elapsed time' then
round(100 * (time_secs - plsql_time) / db_time, 2)
when 'parse time elapsed' then
round(100 * (time_secs - hard_parse_time) / db_time, 2)
else
round(100 * time_secs / db_time, 2)
end pct_time
from (select stat_name db_stat_name, round((value / 1000000), 3) time_secs
from sys.v_$sys_time_model
where stat_name not in ('DB time', 'background elapsed time',
'background cpu time', 'DB CPU')),
(select round((value / 1000000), 3) db_time
from sys.v_$sys_time_model
where stat_name = 'DB time'),
(select round((value / 1000000), 3) plsql_time
from sys.v_$sys_time_model
where stat_name = 'PL/SQL execution elapsed time'),
(select round((value / 1000000), 3) hard_parse_time
from sys.v_$sys_time_model
where stat_name = 'hard parse elapsed time')
order by 2 desc
--等待时间中的等待事件,等待的文件,等待的对象
select sql_id,
event as "等待事件",
time_waited,
owner,
object_name as "等待的对象",
current_file# as "等待的文件",
current_block#
from sys.v_$active_session_history a, sys.dba_objects b
where a.current_obj# = b.object_id
and time_waited <> 0
--前5位用户I/O等待最高的SQL语句
select *
from (select sql_text, sql_id, elapsed_time, cpu_time, user_io_wait_time
from sys.v_$sqlarea
order by 5 desc)
where rownum < 6
--查看等待事件来找出等待和瓶颈,找出大部分的整体等待时间
select WAIT_CLASS,
TOTAL_WAITS,
round(100 * (TOTAL_WAITS / SUM_WAITS), 2) PCT_WAITS,
ROUND((TIME_WAITED / 100), 2) TIME_WAITED_SECS,
round(100 * (TIME_WAITED / SUM_TIME), 2) PCT_TIME
from (select WAIT_CLASS, TOTAL_WAITS, TIME_WAITED
from V$SYSTEM_WAIT_CLASS
where WAIT_CLASS != 'Idle'),
(select sum(TOTAL_WAITS) SUM_WAITS, sum(TIME_WAITED) SUM_TIME
from V$SYSTEM_WAIT_CLASS
where WAIT_CLASS != 'Idle')
order by 5 desc
--最新的一个小时等待类型
select a.sid,
b.username,
a.wait_class,
a.total_waits,
round((a.time_waited / 100), 2) time_waited_secs
from sys.v_$session_wait_class a, sys.v_$session b
where b.sid = a.sid
and b.username is not null
and a.wait_class != 'Idle'
order by 5 desc
--找出耗费资源比较多的SQL语句
SELECT first_load_time,
SQL_TEXT,
buffer_gets,
executions,
buffer_gets/executions AVG
FROM v$sqlarea
WHERE executions>0
AND buffer_gets > 100000
ORDER BY 5
--找出需要大量缓冲读取(逻辑读)操作的查询
select *
from (select sql_text,
buffer_gets,
dense_rank() over(order by buffer_gets desc) buffer_gets_rank,optimizer_cost
from v$sql)
where buffer_gets_rank <= 10
--V$SQL是内存共享SQL区域中已经解析的SQL语句。
--列出使用频率最高的5个查询
select sql_text, executions
from (select sql_text,
executions,
rank() over(order by executions desc) exec_rank
from v$sql)
where exec_rank <= 5
--消耗磁盘读取最多的sql
select disk_reads, sql_text
from (select sql_text,
disk_reads,
dense_rank() over(order by disk_reads desc) disk_reads_rank
from v$sql)
where disk_reads_rank <= 5
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bluestream/archive/2008/09/28/2990631.aspx
select *
from SYS.V_$SYSMETRIC
where METRIC_NAME IN ( 'Database CPU Time Ratio',
'Database Wait Time Ratio')
AND INTSIZE_CSEC = (select max(INTSIZE_CSEC) from
SYS.V_$SYSMETRIC)
--查看数据库的总性能
select *
from sys.v_$sysmetric_history
where metric_name = 'Database CPU Time Ratio'
order by 1
--获得数据库整体性能效率的最大、最小和平均值
select CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
'SQL Service Response Time (secs)'
WHEN 'Response Time Per Txn' then
'Response Time Per Txn (secs)'
ELSE
METRIC_NAME
END METRIC_NAME,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((MINVAL / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((MINVAL / 100), 2)
ELSE
MINVAL
END MININUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((MAXVAL / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((MAXVAL / 100), 2)
ELSE
MAXVAL
END MAXIMUM,
CASE METRIC_NAME
WHEN 'SQL Service Response Time' then
ROUND((AVERAGE / 100), 2)
WHEN 'Response Time Per Txn' then
ROUND((AVERAGE / 100), 2)
ELSE
AVERAGE
END AVERAGE
from SYS.V_$SYSMETRIC_SUMMARY
where METRIC_NAME in
('CPU Usage Per Sec', 'CPU Usage Per Txn', 'Database CPU Time Ratio',
'Database Wait Time Ratio', 'Executions Per Sec',
'Executions Per Txn', 'Response Time Per Txn',
'SQL Service Response Time', 'User Transaction Per Sec')
ORDER BY 1
--查看究竟是什么类型的用户活动影响数据库的响应速度,找到相应的主要花费时间处理的部分
select case db_stat_name
when 'parse time elapsed' then
'soft parse time'
else
db_stat_name
end db_stat_name,
case db_stat_name
when 'sql execute elapsed time' then
time_secs - plsql_time
when 'parse time elapsed' then
time_secs - hard_parse_time
else
time_secs
end time_secs,
case db_stat_name
when 'sql execute elapsed time' then
round(100 * (time_secs - plsql_time) / db_time, 2)
when 'parse time elapsed' then
round(100 * (time_secs - hard_parse_time) / db_time, 2)
else
round(100 * time_secs / db_time, 2)
end pct_time
from (select stat_name db_stat_name, round((value / 1000000), 3) time_secs
from sys.v_$sys_time_model
where stat_name not in ('DB time', 'background elapsed time',
'background cpu time', 'DB CPU')),
(select round((value / 1000000), 3) db_time
from sys.v_$sys_time_model
where stat_name = 'DB time'),
(select round((value / 1000000), 3) plsql_time
from sys.v_$sys_time_model
where stat_name = 'PL/SQL execution elapsed time'),
(select round((value / 1000000), 3) hard_parse_time
from sys.v_$sys_time_model
where stat_name = 'hard parse elapsed time')
order by 2 desc
--等待时间中的等待事件,等待的文件,等待的对象
select sql_id,
event as "等待事件",
time_waited,
owner,
object_name as "等待的对象",
current_file# as "等待的文件",
current_block#
from sys.v_$active_session_history a, sys.dba_objects b
where a.current_obj# = b.object_id
and time_waited <> 0
--前5位用户I/O等待最高的SQL语句
select *
from (select sql_text, sql_id, elapsed_time, cpu_time, user_io_wait_time
from sys.v_$sqlarea
order by 5 desc)
where rownum < 6
--查看等待事件来找出等待和瓶颈,找出大部分的整体等待时间
select WAIT_CLASS,
TOTAL_WAITS,
round(100 * (TOTAL_WAITS / SUM_WAITS), 2) PCT_WAITS,
ROUND((TIME_WAITED / 100), 2) TIME_WAITED_SECS,
round(100 * (TIME_WAITED / SUM_TIME), 2) PCT_TIME
from (select WAIT_CLASS, TOTAL_WAITS, TIME_WAITED
from V$SYSTEM_WAIT_CLASS
where WAIT_CLASS != 'Idle'),
(select sum(TOTAL_WAITS) SUM_WAITS, sum(TIME_WAITED) SUM_TIME
from V$SYSTEM_WAIT_CLASS
where WAIT_CLASS != 'Idle')
order by 5 desc
--最新的一个小时等待类型
select a.sid,
b.username,
a.wait_class,
a.total_waits,
round((a.time_waited / 100), 2) time_waited_secs
from sys.v_$session_wait_class a, sys.v_$session b
where b.sid = a.sid
and b.username is not null
and a.wait_class != 'Idle'
order by 5 desc
--找出耗费资源比较多的SQL语句
SELECT first_load_time,
SQL_TEXT,
buffer_gets,
executions,
buffer_gets/executions AVG
FROM v$sqlarea
WHERE executions>0
AND buffer_gets > 100000
ORDER BY 5
--找出需要大量缓冲读取(逻辑读)操作的查询
select *
from (select sql_text,
buffer_gets,
dense_rank() over(order by buffer_gets desc) buffer_gets_rank,optimizer_cost
from v$sql)
where buffer_gets_rank <= 10
--V$SQL是内存共享SQL区域中已经解析的SQL语句。
--列出使用频率最高的5个查询
select sql_text, executions
from (select sql_text,
executions,
rank() over(order by executions desc) exec_rank
from v$sql)
where exec_rank <= 5
--消耗磁盘读取最多的sql
select disk_reads, sql_text
from (select sql_text,
disk_reads,
dense_rank() over(order by disk_reads desc) disk_reads_rank
from v$sql)
where disk_reads_rank <= 5
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bluestream/archive/2008/09/28/2990631.aspx
发表评论
-
【转】JDBC使用TNS连接多节点Oracle
2015-04-28 09:06 487原创作品,允许转载 ... -
[转]讲解oracle自定义聚合函数
2013-10-10 14:58 995应用场景: 权限管理:同一功能对同一用户有多个不同 ... -
<a href="http://www.baidu.com">test
2012-09-25 10:07 0asda -
[转]oracle分区表总结
2011-08-09 10:17 715在ORACLE里如果遇到特别大的表,可以使用分区的表来改变 ... -
[转]Oracle中日期时间的操作比较和加减-入门基础
2011-04-13 14:23 950Oracle关于时间/日期的操 ... -
Oracle行转列, 列以字符串的形式进行拼接
2011-02-09 15:17 1519Oracle10g提供了个新函数wmsys.wm_concat ... -
SQL中escape的主要用途
2011-01-28 11:40 1602SQL中escape的主要用途 1.使用 ESCAP ... -
[转]oracle10G的闪回数据库及删除表
2011-01-12 17:22 1170最近终于体会了一下oracle10G的闪回数据库,这个功能 ... -
[转]ORACLE函数大全
2010-06-11 20:52 660文章分类:数据库 SQL 中的单记录函数1.ASC ... -
oracle 日期函数
2010-03-29 09:35 831trunc(sysdate,'Q') --本季度第一天 tru ... -
Oracle10G可以采用下面的方法
2010-02-25 14:31 745Oracle10G可以采用下面的方法<!--<br ... -
oracle学习笔记【转】
2010-02-07 11:53 7951、set linesize 100; 设置长度 ... -
Oracle Database 10g 中的正规表达式特性是一个用于处理文本数据的强大工具
2009-11-20 14:31 870Oracle Database 10g 的一个新特性大大提高了 ... -
10g透明网关访问sqlserver
2009-10-22 14:03 94710g透明网关访问sqlserver 老话题了。 最近一个项目 ... -
ORACLE 备份与恢复EXP/IMP 命令参数
2009-08-20 16:53 1646EXP/IMP 命令参数 一、EXP: ... -
ORACLE中的正则表达式
2009-08-18 12:57 1124ORACLE终于在10G中提供了对正则表达式的支持,以前那些需 ... -
Oracle关于用户和表空间的一些操作
2009-07-08 10:54 1094SYS用户在CMD下以DBA身份 ...
相关推荐
深入分析Oracle数据库的响应时间.pdf
Oracle 数据库无响应故障的处理
Oracle数据库无响应故障,简单地讲就是数据库实例不能响应客户端发起的请求,客户端提交一个SQL后,就一直处于等待数据库实例返回结果的状态。更严重的现象是客户端根本不能连接到数据库,发起一个连接请求后,一直...
JDBC连接Oracle数据库常见问题及解决方法
ORACLE根据请求队列的长度可动态地调整共享服务器进程。可建立的共享服务 器进程将请求放到请求队列。一个用户请求是对数据库的一次程序接口调用,为SQL语句。在SGA中请求队列对实例的全部调度进程是公用的。服务器...
本文结合实例着重对Oracle数据库中的查询优化进行了研究,测试结果表明采用的方法是很有效的,大大缩短了测试用例表的响应时间,最后对海量数据的优化方法提出了实用性的建议。 关键词:海量数据;Oracle数据库;...
分析评价oracle数据库性能主要有数据库吞吐量, 数据库用户响应时间两项指标. 数据库用户响应时间又可以分为系统服务时间和用户等待时间两项. 因此, 获得满意的用户响应时间有两个途径: 一个是减少系统服务时间, 即...
sql_server连接Oracle方法(最全)
Oracle MySQL数据库故障处理应急方案
Oracle数据库性能测试软件swingbench,是Oracle公司工程师用Java开发的性能测试软件,类似于对数据库进行压力测试,测试响应时间,吞吐量等指标
基于.net与Oracle数据库开发的线上网络购物平台项目源码及项目说明.zip 【功能实现】 系统功能性需求大体分为买家功能、卖家功能、管理员功能、系统功能。 买家功能 个人信息管理,消息系统(如联系客服),浏览...
提高ORACLE8i数据库响应速度的若干技术对策.pdf
linux系统给 系统给oracle数据库增加新的实例 数据库增加新的实例 eg: 新建实例名orcl 1、新增实例的⽬录 su - oracle cd $ORACLE_BASE/admin mkdir orcl cd orcl mkdir dbdump mkdir adump mkdir pfile cd $ORACLE_...
大型关系数据库Oracle已经广泛应用于各行各业,如政府、交通、公安、电信、金融、能源等部门,并已逐渐成为企业信息化建设的重要数据库平台,但随着 Oracle 数据库规模的扩大,数据库用户人数的增加,数据库性能问题...
为什么内存型数据库能够那么快,能够保证响应时间呢,满足客户需要呢? 我们来看看这组数据,看看内存型数据库 timesten到底有何绝招: timesten平均修改记录时间 30*百万分之一秒 timesten平均读取记录时间 10*百万...
数据库性能包括存储空间需求量的大小和查询响应时间的长短两个方面。为了优化数据库性能,需要对数据库中的表进行规范化。规范化的范式可分为第一范式、第二范式、第三范式、BCNF范式、第四范式和第五范式。一般来说...
用oracle自带的集中工具来判断数据库IO是否慢,进而为下一步优化工作提供依据
ORACLE数据库物理分布设计 概述 我们无论使用哪种数据库,无论怎样设计数据库,我想都会遵从一个原则:数据安全性 和性能高效这两个主要方面,但是关于这两个方面的话题太多,在这里就不一 一陈述,我只是从数据库...
这种只有update无法执行其他语句可以执行的其实是因为记录锁导致的,在oracle中,执行了update或者insert语句后,都会要求commit,如果不commit却强制关闭连接,oracle就会将这条提交的记录锁住。由于我的java程序...