ITPUB论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
更多
查看: 4952|回复: 22

在非系统用户底下建触发器时引用v$session记录类型时出现问题 [复制链接]

注册会员

中级会员

精华贴数
0
技术积分
576
社区积分
3
注册时间
2002-8-16
论坛徽章:
0
发表于 2004-8-5 20:40:10 |显示全部楼层
本人在hospital用户(拥有connect,resource,dba角色)底下建触发器,触发器DDL:
CREATE OR REPLACE TRIGGER tr_login_record
AFTER
  LOGON
ON DATABASE
DECLARE
  mtSession v$session%ROWTYPE;
  CURSOR cSession(QuerySid IN NUMBER) IS
    SELECT * FROM v$session
       WHERE  audsid = QuerySid;
BEGIN
OPEN cSession(userenv('SESSIONID'));
   FETCH cSession INTO mtSession;
   IF cSession%FOUND THEN
   
INSERT INTO log$information(id,username,logintime,terminal,ipadress,osuser,machine,
program,sid,serial#,ausid)
        VALUES(sq_login.nextval,USER,SYSDATE,mtSession.Terminal,
               SYS_CONTEXT ('USERENV','IP_ADDRESS'),mtSession.Osuser,
        mtSession.Machine,mtSession.Program,mtSession.Sid,mtSession.Serial#,userenv('SESSIONID'));

   ELSE
     
       raise_application_error(-20099,'登录异常错误');
   END IF;
   CLOSE cSession;
EXCEPTION
   WHEN OTHERS THEN
     raise_application_error(-20998,'登记登录信息错误');
     RAISE;
END;
/
没有编绎成功,提示‘表和视图不存在’,在v$session前加上sys.也不行,只有在sys用户下才能成功创建成功,请高手帮忙一下,如何在本用户下成功创建这个触发器呢
匿名  发表于 2004-8-5 21:36:53
你得向这个普通用户授权,使它有访问该系统视图的能力

使用道具

注册会员

中级会员

精华贴数
0
技术积分
576
社区积分
3
注册时间
2002-8-16
论坛徽章:
0
发表于 2004-8-6 12:23:27 |显示全部楼层
但我的hospital用户已经有DBA角色了,而且在此用户下执行命令
select * from v$session
也可以成功啊

使用道具 举报

版主

版主

精华贴数
13
技术积分
64021
社区积分
4256
注册时间
2002-2-20
论坛徽章:
154
ITPUB元老
日期:2005-02-28 12:57:002010新春纪念徽章
日期:2010-03-01 11:06:28设计板块每日发贴之星
日期:2010-03-05 01:01:042010年世界杯参赛球队:科特迪瓦
日期:2010-06-17 10:26:542010年世界杯参赛球队:日本
日期:2010-06-17 17:27:47ITPUB技术丛书作者
日期:2010-09-26 15:24:562011新春纪念徽章
日期:2011-01-25 15:41:012011新春纪念徽章
日期:2011-01-25 15:41:502011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:56管理团队成员
日期:2011-05-07 01:45:08
发表于 2004-8-6 12:30:40 |显示全部楼层
这样:v_$session?
try

使用道具 举报

注册会员

中级会员

精华贴数
0
技术积分
576
社区积分
3
注册时间
2002-8-16
论坛徽章:
0
发表于 2004-8-6 12:35:04 |显示全部楼层
v_$session?加个_什么意思啊,不行啊

使用道具 举报

匿名  发表于 2004-8-6 19:54:23
是9i吗?
请将O7_DICTIONARY_ACCESSIBILITY初始化参数设置为true试一下

使用道具

注册会员

中级会员

精华贴数
0
技术积分
576
社区积分
3
注册时间
2002-8-16
论坛徽章:
0
发表于 2004-8-6 23:30:15 |显示全部楼层
设了,还是不行,真

使用道具 举报

匿名  发表于 2004-8-6 23:34:27
最初由 lawson.lin 发布
[B]设了,还是不行,真 [/B]



我在我的9.2环境下,设置了以后编译你那个触发器就没问题了,我用scott编译的,给了dba角色,编译过程中只提到找不到你自己的log$information表

使用道具

精华贴数
8
技术积分
49197
社区积分
22305
注册时间
2001-10-15
论坛徽章:
184
蜘蛛蛋
日期:2012-02-03 17:20:24迷宫蛋
日期:2011-12-20 08:39:39茶鸡蛋
日期:2011-12-01 22:49:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41咸鸭蛋
日期:2012-01-06 16:55:17蜘蛛蛋
日期:2011-10-20 15:51:252012新春纪念徽章
日期:2012-01-04 11:49:54迷宫蛋
日期:2011-10-29 11:12:59复活蛋
日期:2011-12-14 09:37:30灰彻蛋
日期:2011-12-30 14:51:36ITPUB年度最佳版主
日期:2011-12-28 15:24:18紫蛋头
日期:2011-08-31 10:57:28
发表于 2004-8-6 23:36:08 |显示全部楼层
最初由 lawson.lin 发布
[B]设了,还是不行,真 [/B]


1、你是怎么设的?
2、不行是什么现象?系统有什么提示?

你不把你的操作过去/结果说清楚,
别人怎么知道是什么情况?怎么帮啊?

使用道具 举报

超级版主

人生就是如此

精华贴数
39
技术积分
113462
社区积分
12356
注册时间
2001-12-12
论坛徽章:
73
ITPUB元老
日期:2005-02-28 12:57:00ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41蜘蛛蛋
日期:2011-07-01 08:38:17蛋疼蛋
日期:2011-05-27 08:50:45现任管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:皮划艇
日期:2011-04-26 11:24:14咸鸭蛋
日期:2011-11-09 09:55:402011新春纪念徽章
日期:2011-02-18 11:43:322011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
发表于 2004-8-6 23:41:03 |显示全部楼层
可直接授权

sys  :  grant  select on v_$session to  youruser;

使用道具 举报

相关内容推荐
您需要登录后才可以回帖 登录 | 注册

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 邮箱 虎吧 老博客 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
CopyRight 1999-2011 itpub.net All Right Reserved. 北京皓辰网域网络信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:1101082001 广播电视节目制作经营许可证:编号(京)字第1149号
  
回顶部