同义词:就是一个数据库对象的别名,我们通过起别名的方式来访问对象。
分类有两种:
私有:
create synonym 同义词的名称 for 数据库对象;
超管授权:
grant create synonym to hope;
公有:
create public synonym 同义词的名称 for 数据库对象;
需要授权:
grant create public synonym to hope;
grant drop public synonym to hope;
1.建立一个用户,授予连接权限。
(1) 先进入超管用户
conn / as sysdba
(2)创建用户
create user 用户名 identified by 密码;
(3)授予用户权限
--授予用户链接权限
grant connect to 用户名;
--授予用户建立私有同义词权限
grant create synonym to 用户名;
--授予用户建立公有同义词权限
grant create public synonym to 用户名;
--如果是要删除同义词得话 用户私有的,用户可以直接删除
--公有的需要删除的话也需要授权
--授予删除公有同义词的权限
grant drop punlic synonym to 用户名;
2.登录
scott/
将表的权限授予该用户
--登录scott用户
conn scott/tiger
--将scott上的表的权限授予给我们刚刚创建的用户
grant all on 表名 to 用户;
3.登录该用户,尝试访问这个表
--登录刚刚创建的用户
conn 用户名/密码
--访问一下刚刚被授予的这个表
select * from scott(授予用户名).表名;
4.建立一个私有,公有同义词
--建立一个私有同义词
create synonym 同义词名称 for 数据库对象(被授权的表);
--建立一个公有同义词
create public synonym 同义词名称 for 数据库对象(被授权的表);
5.访问
--访问私有同义词
select * form 私有同义词名;
--访问公有同义词
select * from 公有同义词名;
5.删除同义词
--删除私有同义词
drop synonym 私有同义词名;
--删除公有同义词
drop public synonym 公有同义词名;