ORA-02030: 只能从固定的表/视图查询、如何授权查询v$视图

如何授权查询v$视图

在非sys,system用户的存储过程中,查询v$开头的视图,如v$mystat,v$statname等。

这些视图查询是需要在sys下显示授权后才能在存储过程中使用。

但是,如果我们使用grant on v$view to username,则会收到ORA-02030错误。

如下所示:

SQL> grant select on v$mystat to scott;

grant select on v$mystat to scott;

ORA-02030: 只能从固定的表/视图查询

这是因为v$mystat不是一个视图,其实它是一个同义词。

因此,需要将同义词对应的视图(v_$)进行授权。

SQL> grant select on v_$mystat to scott;

Grant succeeded

其他常用的查询表如:

1、会话信息

SQL> grant select on v_$session to scott;

2、SQL信息

SQL> grant select on v_$sql to scott;

3、SQL详情

SQL> grant select on v_$sqltext to scott;

4、锁表对象

SQL> grant select on v_$locked_object to scott;

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