Sql 无法创建视图-权限不足

Sql 无法创建视图-权限不足,sql,oracle11g,oracle-sqldeveloper,Sql,Oracle11g,Oracle Sqldeveloper,我无法创建视图-权限不足。 工作流->创建角色->将创建视图授予角色->创建用户->将角色添加到用户->尝试创建视图,我得到了错误。任何帮助都将不胜感激 创建一个角色 CREATE ROLE enrolment; 将以下特权授予角色基表hr.students GRANT insert, select, update ON hr.students TO enrolment; 还授予角色创建视图权限 GRANT create view TO enrolment; 创建了以下用户 CREATE

我无法创建视图-权限不足。 工作流->创建角色->将创建视图授予角色->创建用户->将角色添加到用户->尝试创建视图,我得到了错误。任何帮助都将不胜感激

创建一个角色

CREATE ROLE enrolment;
将以下特权授予角色基表hr.students

GRANT insert, select, update
ON hr.students
TO enrolment;
还授予角色创建视图权限

GRANT create view 
TO enrolment;
创建了以下用户

CREATE USER enrol1
IDENTIFIED BY pw4321;
已将角色授予该帐户

GRANT enrolment
TO enrol1;
当我尝试在基本表hr.students上创建下面的视图时,有人告诉我没有足够的权限。我可以在基表上运行select语句

CREATE OR REPLACE VIEW vu_student_name
 AS SELECT student_id, lastname
    FROM hr.students;
:

包含视图的架构的所有者必须具有从视图所基于的所有表或视图中选择、插入、更新或删除行所必需的权限。必须直接向所有者授予这些权限,而不是通过角色授予这些权限

您只有通过角色授予的基表权限。他们需要直接授予enrol1

包含视图的架构的所有者必须具有从视图所基于的所有表或视图中选择、插入、更新或删除行所必需的权限。必须直接向所有者授予这些权限,而不是通过角色授予这些权限

您只有通过角色授予的基表权限。他们需要直接授予
enrol1