select'grant select on '||owner||'.'||object_name||' to ${ACCOUNT};'fromdba_objectswhereownerin('${ADMIN}')andobject_type='TABLE';
该语句结果拿出来执行
类似这样的语句, 在管理账号下执行即可
1
grantselecton${ADMIN}.${TABLENAME}to${ACCOUNT}
PS: 这里生成的语句是区分大小写的,如果数据库里有一些不是大写的表名,需要加双引号
登录新账号确认
确认新账号可以看到 ${ADMIN} 下的表
创建同义词
在${ADMIN}账号下执行,生成的语句,在${ACCOUNT}下执行
1
2
3
4
select'create or replace SYNONYM ${ACCOUNT}.'||object_name||' for '||owner||'.'||object_name||';'fromdba_objectswhereownerin('${ADMIN}')andobject_type='TABLE'