楼主: flex

[精华] 求助:如何监控指定session执行的sql语句?

[复制链接]
论坛徽章:
0
11#
 楼主| 发表于 2002-12-2 22:41 | 只看该作者

Re: 8i中

最初由 biti_rainy 发布
[B]有 logon  trigger [/B]


版主、大侠帮忙,我在8i数据库中测试成功如下:
CREATE OR REPLACE TRIGGER logontrig
AFTER LOGON ON DATABASE
declare
    log_user char(20);
    terminal char(16);
begin
    log_user := ora_login_user;
    terminal := userenv('TERMINAL');
   if log_user='xxx' and terminal='xxxx' then
      execute immediate 'alter session set sql_trace=true';
  end if
end;
但是客户的数据库是8.0.5的,没有logon触发器,怎么办,有没有别的办法?

使用道具 举报

回复
论坛徽章:
117
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20版主7段
日期:2012-05-15 15:24:11ITPUB 11周年纪念徽章
日期:2012-09-28 17:34:42ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32紫蛋头
日期:2013-03-04 17:00:07优秀写手
日期:2013-12-18 09:29:09
12#
发表于 2002-12-2 22:57 | 只看该作者

Re: Re: 8i中

最初由 flex 发布
[B]

版主、大侠帮忙,偶的数据库是8.0.5的,没有logon触发器,怎么办,有没有别的办法? [/B]


我晕,白忙活了,你倒是早说啊

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2002-12-2 23:19 | 只看该作者

Re: Re: Re: 8i中

最初由 eygle 发布
[B]

我晕,白忙活了,你倒是早说啊 [/B]

sorry,客户那套系统有两个运行版本8i和8.0.5,但他没有说清是哪个版本要使用,我也没问清楚,实在是很抱歉,还请大哥帮帮忙,给个提示,先谢过各位先前的帮助了。

使用道具 举报

回复
论坛徽章:
0
14#
发表于 2002-12-3 01:30 | 只看该作者
I have Oracle 9.2.0, therefore what I say here may to apply to 8.0.4. It is only for reference.

You may to do this:
select sid, os_user, sql_text from v$session, v$sqltext where address = sql_address and program like 'sqlplus%' order by piece;

使用道具 举报

回复
论坛徽章:
1
会员2006贡献徽章
日期:2006-04-17 13:46:34
15#
发表于 2002-12-3 03:11 | 只看该作者

不错

不错

使用道具 举报

回复
论坛徽章:
0
16#
 楼主| 发表于 2002-12-3 08:34 | 只看该作者
最初由 jzhou 发布
[B]I have Oracle 9.2.0, therefore what I say here may to apply to 8.0.4. It is only for reference.

You may to do this:
select sid, os_user, sql_text from v$session, v$sqltext where address = sql_address and program like 'sqlplus%' order by piece; [/B]


thank you,但v$视图它只保留当前活动的session记录,而我要求的是记录所有需要监控的session的历史记录,总不能让我不停扫描v$视图吧?

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:35迷宫蛋
日期:2011-11-02 16:14:29
17#
发表于 2002-12-3 09:21 | 只看该作者

Re: Re: 8i中

最初由 flex 发布
[B]

版主、大侠帮忙,我在8i数据库中测试成功如下:
CREATE OR REPLACE TRIGGER logontrig
AFTER LOGON ON DATABASE
declare
    log_user char(20);
    terminal char(16);
begin
    log_user := ora_login_user;
    terminal := userenv('TERMINAL');
   if log_user='xxx' and terminal='xxxx' then
      execute immediate 'alter session set sql_trace=true';
  end if
end;
但是客户的数据库是8.0.5的,没有logon触发器,怎么办,有没有别的办法? [/B]


我的数据库是8.1.7的
我想检测用户A的SQL
这个TRIGGER是用什么用户建立??
我用SYSTEM用户建立的
当我以A登陆的时候
抱:
ORA-00604: 递归 SQL 层 1 出现错误
ORA-01031: 权限不足
ORA-06512: 在line 7
不知道还需要什么权限不???
还有不明白这句:
log_user := ora_login_user;
???

使用道具 举报

回复
论坛徽章:
5
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522011新春纪念徽章
日期:2011-02-18 11:43:35迷宫蛋
日期:2011-11-02 16:14:29
18#
发表于 2002-12-3 09:57 | 只看该作者

建立问题解决

可是我的数据库不产生TRC??
我在别的数据库上就可以
版本一样

使用道具 举报

回复
论坛徽章:
0
19#
 楼主| 发表于 2002-12-3 11:21 | 只看该作者

Re: 建立问题解决

最初由 xiete 发布
[B]可是我的数据库不产生TRC??
我在别的数据库上就可以
版本一样 [/B]

要产生trace文件,init.ora中必须设定参数user_dump_dest

使用道具 举报

回复
论坛徽章:
0
20#
发表于 2002-12-3 13:54 | 只看该作者
col sid format 9999
col user format a11
col program format a20

select a.username "user",a.sid, a.program "program",
substr(d.sql_text,1,1000)
from   v$session a, v$sql d
where   a.sid = &sid and
d.address(+) = a.sql_address and d.hash_value(+) = a.sql_hash_value
/
        开启trace,3种方法
         1) alter session set sql_trace=true;         
         2) dbms_session.set_sql_trace
         3) dbms_system.set_sql_trace_in_session                设置其他session
        关闭trace
         1) alter session set sql_trace=false

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表