ORA-00942 表或视图不存在 问题的解决

问题现象:

 

ORACLE数据库下,有时候想自己搞些性能监控的job,不可避免要在存储过程中使用到某些系统动态视图,但会报下面错误:

 

Compilation errors for PROCEDURE SCOTT.P_SES_MON

Error: PL/SQL: ORA-00942: 表或视图不存在
Line: 5
Text: SELECT * FROM v$session;

Error: PL/SQL: SQL Statement ignored
Line: 4
Text: INSERT INTO t_ses_log

但在正常的SQL中是能够对v$session进行访问的。

 

问题解决:

 

联想到运行statspack报告的perfstat用户没有此问题,查看下statspack的创建脚本,发现需要单独使用下面

语句进行赋权:

 

/*  Select privs for catalog objects - ROLES disabled in PL/SQL packages  */

grant select on V_$SESSION to scott;

 

问题搞定!

你可能感兴趣的:(oracle,sql,脚本)