在提供数据库接口时,我们经常碰到只允许其他用户操作某几张指定表,并只能查询不能增、删、改。
表所在用户alarm,新增接口用户alarm1
1、使用system用户连接数据库,并创建新用户
conn /as sydba; create user alarm1 identified by alarm1 default tablespace XCC;
2、赋予新用户访问数据库的权限
grant resource,connect to alarm1; grant select on alarm.emp to alarm1;//赋予访问emp表的权限
也可以连接alarm1用户后赋予emp权限,这时就不用加上用户alarm。但第3要切换到system用户
grant select on emp to alarm1;
3、创建同义词,同步两个用户数据
create or replace synonym alarm1.emp for alarm.emp;
这时,可以查询emp表,但在pl/sql develop等工具中是看不到这张表的。