B*********L 发帖数: 700 | |
s**m 发帖数: 1564 | 2 there is no direct way or features to do this. google is your friend. see
the quote below:
SQL Server doesn't really track this information. You would have to use
Profiler or a custom tracing mechanism to audit all of the queries.
There are some built-in reports in Management Studio that will show you top
10 queries by cpu, i/o etc., and you can also write your own against the new
DMVs (which provide much more real-time information than sp_who/sp_who2 etc
). See the following for some ideas: |
B*********L 发帖数: 700 | |
a*******t 发帖数: 891 | 4 as upstairs suggested, and also you can use a log reader
good "log reader". not sure if there are any free ones out there, but Quest
has one that's pretty good.
【在 B*********L 的大作中提到】 : 谢谢!
|
z***y 发帖数: 7151 | 5 select t.[text] as query_last3hours from sys.dm_exec_query_stats s
cross apply sys.dm_exec_sql_text (s.sql_handle) t
where datediff(hh, last_execution_time , getdate())<1
【在 B*********L 的大作中提到】 : 谢谢!
|
a*******t 发帖数: 891 | 6 zen
【在 z***y 的大作中提到】 : select t.[text] as query_last3hours from sys.dm_exec_query_stats s : cross apply sys.dm_exec_sql_text (s.sql_handle) t : where datediff(hh, last_execution_time , getdate())<1
|
B*********L 发帖数: 700 | 7
太猛了!
【在 z***y 的大作中提到】 : select t.[text] as query_last3hours from sys.dm_exec_query_stats s : cross apply sys.dm_exec_sql_text (s.sql_handle) t : where datediff(hh, last_execution_time , getdate())<1
|
B*********L 发帖数: 700 | 8
太猛了!
【在 z***y 的大作中提到】 : select t.[text] as query_last3hours from sys.dm_exec_query_stats s : cross apply sys.dm_exec_sql_text (s.sql_handle) t : where datediff(hh, last_execution_time , getdate())<1
|
j*******7 发帖数: 6300 | 9 Cool. 已经收藏。
【在 z***y 的大作中提到】 : select t.[text] as query_last3hours from sys.dm_exec_query_stats s : cross apply sys.dm_exec_sql_text (s.sql_handle) t : where datediff(hh, last_execution_time , getdate())<1
|
j*****n 发帖数: 1781 | 10 受教。 LOL
【在 z***y 的大作中提到】 : select t.[text] as query_last3hours from sys.dm_exec_query_stats s : cross apply sys.dm_exec_sql_text (s.sql_handle) t : where datediff(hh, last_execution_time , getdate())<1
|
|
|
p******a 发帖数: 387 | |
gy 发帖数: 620 | 12 今天在跟朋友聊这个query时, 发现凡是compatibility_level是80的都不能run这个
query, 不管是在2005还是在2008里. 那是不是可以说, compatibility是80的有很多
new feature是没法体现的呢?? (具体有哪些, 目前不知道..)
(刚开始我还以为是build的问题, 后来聊天时觉得M$不应该有这么大的漏洞, 于是怀疑
其他的, 果然被俺发现了. hehe) |
w*******e 发帖数: 1622 | 13 Good one...好像是这么回事
【在 gy 的大作中提到】 : 今天在跟朋友聊这个query时, 发现凡是compatibility_level是80的都不能run这个 : query, 不管是在2005还是在2008里. 那是不是可以说, compatibility是80的有很多 : new feature是没法体现的呢?? (具体有哪些, 目前不知道..) : (刚开始我还以为是build的问题, 后来聊天时觉得M$不应该有这么大的漏洞, 于是怀疑 : 其他的, 果然被俺发现了. hehe)
|
z***y 发帖数: 7151 | 14 One thing we need clear is many DMVs or DMVs were generated internally from
processes.
So if cmptlevel was set to 80, some of processes had to be adjusted or
changed as well.
【在 gy 的大作中提到】 : 今天在跟朋友聊这个query时, 发现凡是compatibility_level是80的都不能run这个 : query, 不管是在2005还是在2008里. 那是不是可以说, compatibility是80的有很多 : new feature是没法体现的呢?? (具体有哪些, 目前不知道..) : (刚开始我还以为是build的问题, 后来聊天时觉得M$不应该有这么大的漏洞, 于是怀疑 : 其他的, 果然被俺发现了. hehe)
|
k***e 发帖数: 7933 | 15 oracle里面怎么查过去一小时里run过的所有query?
from
【在 z***y 的大作中提到】 : One thing we need clear is many DMVs or DMVs were generated internally from : processes. : So if cmptlevel was set to 80, some of processes had to be adjusted or : changed as well.
|
B*****g 发帖数: 34098 | 16 SELECT h.user_id,
s2.username,
s1.sql_text,
FROM v$active_session_history h,
v$sqlarea s1,
v$session s2
WHERE h.sample_time > sysdate-1/24
AND h.sql_id = s1.sql_id
AND h.user_id = s2.user_id
【在 k***e 的大作中提到】 : oracle里面怎么查过去一小时里run过的所有query? : : from
|
m****d 发帖数: 372 | 17 嘿嘿,有点问题,v$session
如果1秒采样没有遗漏任何sql的话
SELECT sql_text
FROM v$sqlarea
where sql_id
in (select distinct sql_id
from v$active_session_history
where sample_time > sysdate-1/24);
下面这个sql, 不知道我对 LAST_ACTIVE_TIME理解有没有错
SELECT sql_text
FROM v$sqlarea
where LAST_ACTIVE_TIME > sysdate-1/24;
【在 B*****g 的大作中提到】 : SELECT h.user_id, : s2.username, : s1.sql_text, : FROM v$active_session_history h, : v$sqlarea s1, : v$session s2 : WHERE h.sample_time > sysdate-1/24 : AND h.sql_id = s1.sql_id : AND h.user_id = s2.user_id
|
B*****g 发帖数: 34098 | 18 这只是个意思,其实我都不会用v$xxxxx.
【在 m****d 的大作中提到】 : 嘿嘿,有点问题,v$session : 如果1秒采样没有遗漏任何sql的话 : SELECT sql_text : FROM v$sqlarea : where sql_id : in (select distinct sql_id : from v$active_session_history : where sample_time > sysdate-1/24); : 下面这个sql, 不知道我对 LAST_ACTIVE_TIME理解有没有错 : SELECT sql_text
|
B*****g 发帖数: 34098 | 19 忘了问了,v$session有什么问题?
【在 m****d 的大作中提到】 : 嘿嘿,有点问题,v$session : 如果1秒采样没有遗漏任何sql的话 : SELECT sql_text : FROM v$sqlarea : where sql_id : in (select distinct sql_id : from v$active_session_history : where sample_time > sysdate-1/24); : 下面这个sql, 不知道我对 LAST_ACTIVE_TIME理解有没有错 : SELECT sql_text
|
m****d 发帖数: 372 | 20 当前所有session,session结束了,这个视图里就不保存它的信息了。
其实俺也记不了那么多,http://download.oracle.com/docs/cd/B19306_01/server.10
2/b14237/toc.htm 是我访问的最多的oracle 文档了 :)
【在 B*****g 的大作中提到】 : 忘了问了,v$session有什么问题?
|
|
|
k***e 发帖数: 7933 | 21 多谢大家,我用的那个oracle还是9。
【在 m****d 的大作中提到】 : 当前所有session,session结束了,这个视图里就不保存它的信息了。 : 其实俺也记不了那么多,http://download.oracle.com/docs/cd/B19306_01/server.10 : 2/b14237/toc.htm 是我访问的最多的oracle 文档了 :)
|
B*****g 发帖数: 34098 | 22 1. session结束了,v$session信息应该保留一段时间?
2. v$session 信息没有了,其他的v$信息还会保留吗?
大牛们给说说?
【在 m****d 的大作中提到】 : 当前所有session,session结束了,这个视图里就不保存它的信息了。 : 其实俺也记不了那么多,http://download.oracle.com/docs/cd/B19306_01/server.10 : 2/b14237/toc.htm 是我访问的最多的oracle 文档了 :)
|
B*****g 发帖数: 34098 | 23 cft,我也用9
【在 k***e 的大作中提到】 : 多谢大家,我用的那个oracle还是9。
|
c*****d 发帖数: 6045 | 24
不会
会,比如提交过的sql语句
【在 B*****g 的大作中提到】 : 1. session结束了,v$session信息应该保留一段时间? : 2. v$session 信息没有了,其他的v$信息还会保留吗? : 大牛们给说说?
|
c*****d 发帖数: 6045 | 25 第二个语句是对的
第一个有点问题
v$sqlarea中的sql id是针对当前libary cache的
不能比对v$active_session_history中的sql_id
【在 m****d 的大作中提到】 : 嘿嘿,有点问题,v$session : 如果1秒采样没有遗漏任何sql的话 : SELECT sql_text : FROM v$sqlarea : where sql_id : in (select distinct sql_id : from v$active_session_history : where sample_time > sysdate-1/24); : 下面这个sql, 不知道我对 LAST_ACTIVE_TIME理解有没有错 : SELECT sql_text
|
B*****g 发帖数: 34098 | 26 gv$session呢?
【在 c*****d 的大作中提到】 : 第二个语句是对的 : 第一个有点问题 : v$sqlarea中的sql id是针对当前libary cache的 : 不能比对v$active_session_history中的sql_id
|
B*****g 发帖数: 34098 | 27 google is best friend
http://www.psoug.org/reference/ash.html
【在 B*****g 的大作中提到】 : gv$session呢?
|
z***y 发帖数: 7151 | 28 事实上, 今天我们的同事问了我同样的问题, 有一个问题我没有提到, 这个查询并
不能反映那些已经被踢出plan cache 里的query plans, 但是对于production
environment,大多数情况下,plan cache 是有可能保存一个小时内的plan cache. |