免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10508 | 回复: 13
打印 上一主题 下一主题

Oracle 分配某个视图的权限给用户? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-01 08:26 |显示全部楼层 |倒序浏览
20可用积分
GRANT SELECT
   v$sqlarea TO "SCOTT"
---------------------------------------------
GRANT SELECT  ON
   v$sqlarea TO "SCOTT"
---------------------------------------------
以上两个都不对,请问应该怎么写?
++++++++++++++++++++++++++++++++++++
SQL> grant select on v$sqlarea to scott;
grant select on v$sqlarea to scott
                *
第 1 行出现错误:
ORA-02030: can only select from fixed tables/views


SQL>
++++++++++++++++++++++++++++++++++++++++++
我的当前问题是
当我试图更新一个Procedure时遇到下面的错误,网上找了一下,没有合适的解决办法,大家给点意见?
我执行create or replace procedure p_insert_tbl1........(在TOAD的Procedure Editor中)
ORA-04021: timeout occurred while waiting to lock object

[ 本帖最后由 TOADLover 于 2009-9-1 09:36 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-09-01 08:35 |显示全部楼层
我看到有这么写的:
------------------------
grant select on v$all_object_usage to public
------------------------
那么为什么我这么写就不对?
------------------------
grant select on v$sqlarea to scott
-------------------------
这有什么问题?
报错:
ORA-02030: can only select from fixed tables/views

论坛徽章:
0
3 [报告]
发表于 2009-09-01 08:38 |显示全部楼层
SQL> grant select on v$sqlarea to scott;
grant select on v$sqlarea to scott
                *
第 1 行出现错误:
ORA-02030: can only select from fixed tables/views


SQL>

论坛徽章:
0
4 [报告]
发表于 2009-09-01 09:35 |显示全部楼层
嗯,感谢各位的回复,我使用的方法是grant select any dictionary to scott;解决了。
-------------------
我的当前问题是:
当我试图更新一个Procedure时遇到下面的错误,网上找了一下,没有合适的解决办法,大家给点意见?
我执行create or replace procedure p_insert_tbl1........(在TOAD的Procedure Editor中)
ORA-04021: timeout occurred while waiting to lock object

[ 本帖最后由 TOADLover 于 2009-9-1 09:41 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-09-01 09:39 |显示全部楼层

回复 #6 dingning239 的帖子

请问:
----------
ORA-04021: timeout occurred while waiting to lock object p_insert_tbl

这样的错误怎么解决?
貌似我的这个存储过程p_insert_tbl被锁住了?

论坛徽章:
0
6 [报告]
发表于 2009-09-01 09:40 |显示全部楼层
我可以请SYS用户把我的这个p_insert_tbl过程删除吗?

论坛徽章:
0
7 [报告]
发表于 2009-09-01 09:42 |显示全部楼层

回复 #5 山野村夫 的帖子

ORA-04021: timeout occurred while waiting to lock object p_insert_tbl

这样的错误怎么解决?
在开发环境中,可以使用的最快速有效的方法是什么?

论坛徽章:
0
8 [报告]
发表于 2009-09-01 09:47 |显示全部楼层
如果把Oracle数据库重启的话,是不是重启后要把Schedule包中的JOB都要重新Enable?

论坛徽章:
0
9 [报告]
发表于 2009-09-01 10:08 |显示全部楼层
原帖由 ILoveMK 于 2009-9-1 10:01 发表

你有某个会话正在运行这个存储过程,而你又要重新创建,所以肯定会冲突啊。

-------------------------------
所以说,你说的太好了,非常准确,这的确是我犯的错误,可是:
-------------------------------
不可能,我每次重新创建的时候,都有其他会话在运行这个存储过程的呀?

论坛徽章:
0
10 [报告]
发表于 2009-09-01 11:12 |显示全部楼层

回复 #16 ILoveMK 的帖子

我的做法是:
1. 因为可以从v$session中看到machine(我的机器名)
2. 我让sys用户(我的同事有这个权限),把所有我的机器名(tom.abc.com.cn)对应的sid, serial# ,对应的session全kill掉
------------------
这样做可以吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP