如何给一个新的指定用户赋予需要权限
新建ORACLE用户POS,如何赋予其权限让其只能满足如下需求:1.查询SAPSR3用户表:EDIDC2.查询、删除SAPSR3表:ZTAB_SD0113.写入SAPSR...
新建ORACLE用户POS,如何赋予其权限让其只能满足如下需求:
1. 查询SAPSR3用户表:EDIDC
2. 查询、删除SAPSR3 表:ZTAB_SD011
3. 写入 SAPSR3表:ZTENDER
单独给这个用户赋予了对这些表的权限,而没有全局性的grand insert table to POS 会不会有问题?手头没现成系统,没法测试。 展开
1. 查询SAPSR3用户表:EDIDC
2. 查询、删除SAPSR3 表:ZTAB_SD011
3. 写入 SAPSR3表:ZTENDER
单独给这个用户赋予了对这些表的权限,而没有全局性的grand insert table to POS 会不会有问题?手头没现成系统,没法测试。 展开
展开全部
1楼真闹 呵呵 GRAND~~~~
仅授权的话
查询的时候需要知道用户名才能查询,EG:
SELECT * FROM SAPSR3.edidc;
这样,在只知道pos用户用户名的情况下,无法查询edidc表。
建议使用公共同名对象
语句如下:
CREATE PUBLIC SYNONYM 对象名 FOR 目标表
EG:
CREATE PUBLIC SYNONYM edidc FOR sapsr3.edidc;
这样的话,用户POS就可以直接访问edidc表了,EG:
CONNECT POS/password;
SELECT * FROM edidc;
公共同名对象(edidc)允许新用户(POS)对表(sapsr3.edidc)执行DML(INSERT,UPDATE,DELETE)语句,但不能对表标执行DDL(CREATE,DROP)语句。
注:
创建公共共同对象需要具有DBA权限,访问(对表执行DML语句)时的具体权限没试,有DBA权限就可以访问(对表执行DML语句)即存的所有公共对象。
仅授权的话
查询的时候需要知道用户名才能查询,EG:
SELECT * FROM SAPSR3.edidc;
这样,在只知道pos用户用户名的情况下,无法查询edidc表。
建议使用公共同名对象
语句如下:
CREATE PUBLIC SYNONYM 对象名 FOR 目标表
EG:
CREATE PUBLIC SYNONYM edidc FOR sapsr3.edidc;
这样的话,用户POS就可以直接访问edidc表了,EG:
CONNECT POS/password;
SELECT * FROM edidc;
公共同名对象(edidc)允许新用户(POS)对表(sapsr3.edidc)执行DML(INSERT,UPDATE,DELETE)语句,但不能对表标执行DDL(CREATE,DROP)语句。
注:
创建公共共同对象需要具有DBA权限,访问(对表执行DML语句)时的具体权限没试,有DBA权限就可以访问(对表执行DML语句)即存的所有公共对象。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询