本文主要是介绍oracle在存储过程中无法查询 v$session、v$process表的解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
oracle在存储过程中无法查询 v$session、v$process
1、问题描述:
在非系统用户底下,使用存储过程执行select count(1) from v$process,对数据库进程数进行监控报警,测试时提示错误:"表和视图不存在"
2、问题分析:
axj_user用户赋予dba权限了,按道理可以访问任何一个系统视图,包括v$process,但是存储过程里无法访问,原因是在oracle 9版本中已经规定在初始化参数O7_DICTIONARY_ACCESSIBILITY取缺省值(false)的情况下,一个用户即使有select any table的权限,却还是不能访问sys对象的。
3、问题处理:
(1)使用grant select on v_$process to axj_user;直接把查询该表的权限赋予给axj_user用户(2)把O7_DICTIONARY_ACCESSIBILITY参数改为true
这篇关于oracle在存储过程中无法查询 v$session、v$process表的解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!