ORACLE同义词详解

 

1.   同义词概述数据库

同义词从字面上理解就是别名的意思,和视图的功能相似。就是一种映射关系。同义词拥有以下好处:节省大量的数据库空间,对不一样用户的操做同一张表没有多少差异;扩展的数据库的使用范围,可以在不一样的数据库用户之间实现无缝交互;同义词能够建立在不一样一个数据库服务器上,经过网络实现链接。服务器

知识扩展:数据库对象网络

   表、视图、序列、过程、函数、程序包,甚至其它同义词均可以建立同义词。函数

   同义词分为:私有同义词、公有同义词。spa

私有同义词只能被当前模式的用户访问。私有同义词名称不可与当前模式的对象名称相同。要在自身的模式建立私有同义词,code

   用户必须拥有Create Synonym系统权限。要在其它用户模式建立私有同义词,用户必须拥有Create Any Synonym系统权限。对象

   公有同义词可被全部的数据库用户访问。要建立公有同义词,用户必须拥有Create Public Synonym系统权限。ci

 

2.   同义词建立get

 建立同义词语法:table

 Create [PUBLIC] SYNONYM synonym_name FOR [schema.]object_name;

示例1: 

create public synonym emp_syn from scott.emp;

此外若是要建立一个远程的数据库上的某张表的同义词,须要先建立一个Database Link(数据库链接)来扩展访问,而后在使用以下语句建立数据库同义词。

示例2:

create synonym table_name for table_name@DB_Link;

 固然,你可能须要在user用户中给当前用户(user2)受权: grant select/delete/update on user2

 

3.   删除同义词

删除同义词语法是:

drop [public] synonym table_name; 

 

4.   查看全部同义词:

select * from dba_synonyms 

相关文章
相关标签/搜索