在工作中,因为一些特别需求我们但愿在Oracle数据库中有一个用户只有指定表的查询权限,这样既能包管这个用户能查询到资料供参考,有包管了数据不被这个用户点窜或删除。
为了实现这个目标,下面,我们一路来看看个过程的实现。

工具/原料
- 电脑
方式/步骤
- 1
在数据库本机用利用cmd指令调出号令行窗口,再用 sqlplus / as sysdba登录到数据库中。而且用对要赋权限的表所有者毗连数据库,不然后续赋权限会掉败。


- 2
建立用户
create user test identified by test123;
建立test用户,密码设置为test123。

- 3
授权test用户的毗连、资本权限。
grant connect,resource to test;

- 4
指定表授权查询权限。
grant select on user.tablename to test;
这里有个重点,若是数据库有多用户别离节制分歧的表,那么在指定表时必然要在表前面加上用户名。
若是是更多的表成立权限节制,那么就执行多条针对表的权限付与语句。

- 5
用新建登录数据库进行验证,我们首先来尝尝delete删除数据的功能,成果报错无法执行,申明我们添加的用户没有删除权限。

- 6
再来验证select查询功能,顺遂查找到指定命据。新建用户并指定查询权限功能实现。
同时查询没有赋权限的表,同样被拒。


注重事项
- delete insert update 的权限也是一样的付与体例。







