我想用加个系统触发器,再用户登陆的时候判断session数,如果查过某个限制,那么,执行alter system kill session 'sid,serial',但是我找了半天也没找到一个求自身sid的方法
解决方案 »
- oracle 10g em通过浏览器无法访问。
- 用户模式和完全模式的导出和导入
- Oracle下在存储过程中调用另一个带参数的存储过程的错误.
- 请问有没有命令可以配置oracle数据库的服务名?
- 安装oracle 10g示例数据库
- 请教:“roa-04093:不允许在触发器中引用Long类型的列”,,Why??
- 怎样包调包??????
- 高手快帮帮我这个菜鸟吧
- 请问oracle enterprise manager的management server是什么?
- ##### 简单问题,高手指点,在线等待,马上给分! #####
- 我的服务管理中怎么没有 OracleOraHome81ManagementServer
- 在Oracle内如何测试存储过程?
[A]跟踪自己的会话很简单
Alter session set sql_trace true|false
如果跟踪别人的会话,需要调用一个包
exec dbms_system.set_sql_trace_in_session(sid,serial#,true|false)
or
exec dbms_system.set_sql_trace_in_session(sid,serial#,8,’’),这里的8是跟踪级别
跟踪的信息在user_dump_dest 目录下可以找到
可以通过Tkprof来解析跟踪文件,如
Tkprof 原文件 目标文件 sys=n
怎么设置整个数据库系统跟踪
[A]其实文档上的alter system set sql_trace=true是不成功的
但是可以通过设置事件来完成这个工作,作用相等
alter system set events
‘10046 trace name context forever,level 1’;
如果关闭跟踪,可以用如下语句
alter system set events
‘10046 trace name context off’;
其中的level 1与上面的8都是跟踪级别
level 1:跟踪SQL语句,等于sql_trace=true
level 4:包括变量的详细信息
level 8:包括等待事件
level 12:包括绑定变量与等待事件