Oracle:新建数据库用户创建视图权限不足问题
Oracle视图可以用于收集、加工和转换来自不同来源(如表和索引)的信息,并将它们以统一的格式展示给用户。用户可以使用SQL(结构化查询语言)将字段从源表投影(又称选定字段)到视图,Oracle视图可以选择字段,将表连接到一起来创建不存在于数据库中的虚拟表,也可以将表中的数据分组以及运用条件设置来过滤数据。
要想创建Oracle视图,用户最好是先从管理员获取权限。在Oracle数据库中,拥有“个别对象权限”,可以让用户来创建、修改和删除视图。通过以下` GRANT`语句,Oracle可以为用户授予创建视图的权限。
GRANT CREATE VIEW TO [userName];
为用户授予优惠,用户也必须要拥有某些必备的特定的系统权限,比如访问系统、日志等权限,在用户获取创建视图的权限之前,都需要获得这些权限,否则Oracle将不会授予用户的创建视图的权限。
执行下列语句,用于解决用户无法创建视图的问题,建议创建后可回收其相应权限;
GRANT CREATE ANY TABLE TO [userName]; GRANT SELECT ANY TABLE TO [userName]; GRANT COMMENT ANY TABLE TO [userName]; GRANT LOCK ANY TABLE TO [userName]; GRANT SELECT ANY DICTIONARY TO [userName];
在最后,可以使用如下语句撤销用户的创建视图的权限。
REVOKE CREATE VIEW FROM [userName];