为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:win10
【CPU】:
【问题描述】*创建了一个只读用户A,怎么授权这个只读用户A仅能查询B用户的所有表权限,不能查询其他用户表权限
用语句 grant select on A.* to B;
执行时会报"第 1 行, 第 38 列[.*]附近出现错误[-2007]:
语法分析出错"
1.设置 INI 参数 GRANT_SCHEMA=1
2.将模式 B 下所有对象的查询权限授予用户 A
GRANT SELECT ON SCHEMA B TO A;
补充一个方法
--创建普通用户
CREATE USER "RDOLUSER" IDENTIFIED BY "XXXXXXXXX";
--生成批量赋权SQL
SELECT 'GRANT SELECT ON 模式名.'||TABLE_NAME||' TO RDOLUSER;' FROM SYS.DBA_TABLES WHERE OWNER = '模式名';
再执行结果集的SQL。
用存储过程修改,把下边这个存储过程里边的USERA替换成你的只读用户A,USERB替换成你的B用户