怎么捕获自己session执行的sql,进行深入跟踪
alter session set timed_statistics = true; --可选
alter session set max_dump_file_size = unlimited; --可选,防止dump目录放不下
-- To enable the trace event 10046
alter session set events '10046 trace name context forever, level 8';
--设置TRACEFILE_IDENTIFIER参数值,让trace文件包括MyTrace字符,这样找起来方便(这个方法不错!),从8.1.7开始就已经有了
alter session set tracefile_identifier = 'MyTrace'; -- 可选
-- Run your SQL script or program to trace wait event information--
...你的sql...
--To turn off the tracing
alter session set events '10046 trace name context off';
OK, 找到该转储文件localdb_ora_4456_mytrace.trc
再使用tkprof:
C:\> tkprof D:\oracle\product\10.2.0\admin\localdb\udump\localdb_ora_4456_mytrace.trc D:\output.txt
使结果更加可读。如图:
读Oracle Wait Interface: A Practical Guide to Performance Diagnostics & Tuning 有感~
相关文档:
--基于时间SQL函数--
getdate() --返回当前系统日期和时间。
DateAdd --在向指定日期加上一段时间的基础上,返回新的 datetime 值。
DATEADD ( datepart , number, date )
--例:向当天的时间增加5天
select dateadd(dd,5,getdate())
datediff --返回跨两个指定日期的日期和时间边界数。]
---例如
& ......
1 PLS_INTEGER
PLS_INTEGER可以存储一个有符号的整形值,其精度范围和BINARY_INTEGER一样,是:-2^31~2^31。
PLS_INTEGER和NUMBER比较起来,其优点是:
1).占有较少的存储空间;
2).可以直接进行算术运算(在NUMBER上不能直接进行算术运算,如果要计算,NUMBER必须先被转换成二进制)。所以在进行算术的时候PLS_INTEGER ......
这个题目听起来十分拗口,英文应该这样写“How to find the service pack version installed on SQL Server using”,这个问题我一直在找,SQL Server一直没有像其他软件一样可以直接查看到版本+补丁号的方法,今天到一个老外的网站终于找到了:
有两种方法:
第一步:使用SQL语句查询
select @@version ......
已成功与服务器建立连接,但是在登录前的握手期间发生错误的处理方法
在用SQL SERVER 用户登陆SQL SERVER 2005时,弹出一个对话框,提示" 已成功与服务器建立连接,但是在登录前的握手期间发生错误",查找了一下原因,原来是SQL SERVER 2005时禁用TCP/IP登陆了,打开SQL SERVER 2005菜 ......