我想创建一个类似于以下内容的视图但我一直收到ORA-01031 - 权限错误
create view v_dbinfo as
Select INSTANCE_NAME,HOST_NAME from v$instance;
我可以从v $ instance中进行选择,并从现有表中创建一个没有任何问题的视图。 任何关于为什么会发生这种情况的想法以及如何解决它?
由于
答案 0 :(得分:3)
我倾向于打赌您可以通过角色而不是直接授权访问V $ INSTANCE。如果要创建视图(或在定义者权限存储过程中引用V $ INSTANCE),则需要通过直接授权而不是通过角色授予对引用对象的访问权限。
此外,如果您打算向其他用户授予对此新视图的访问权限,则需要使用WITH GRANT OPTION子句授予对V $ INSTANCE的访问权限,即
GRANT SELECT ON v$instance
TO your_user_name
WITH GRANT OPTION;