`
orange5458
  • 浏览: 347339 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ORACLE Synonyms

 
阅读更多

1.简介

   Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。

   同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。

  在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等,数据库管理员都可以根据实际情况为他们定义同义词。

2.分类

  Oracle同义词有两种类型,分别是Oracle公用同义词与Oracle私有同义词。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。
1)Oracle公用同义词:由一个特殊的用户组Public所拥有。顾名思义,数据库中所有的用户都可以使用公用同义词。公用同义词往往用来标示一些比较普通的数据库对象,这些对象往往大家都需要引用。
2)Oracle私有同义词:它是跟公用同义词所对应,他是由创建他的用户所有。当然,这个同义词的创建者,可以通过授权控制其他用户是否有权使用属于自己的私有同义词。

注:公共同义词是和用户的schema无关的,但是公共的意思并不是所有的用户都可以访问它,必须被授权后才能进行;私有同义词是schema的对象。

3.作用

1)多用户协同开发中,可以屏蔽对象的名字及其持有者。如果没有同义词,当操作其他用户的表时,必须通过user名.object名的形式,采用了Oracle同义词之后就可以隐蔽掉user名,当然这里要注意的是:public同义词只是为数据库对象定义了一个公共的别名,其他用户能否通过这个别名访问这个数据库对象,还要看是否已经为这个用户授权。
2)为用户简化sql语句。上面的一条其实就是一种简化sql的体现,同时如果自己建的表的名字很长,可以为这个表创建一个Oracle同义词来简化sql开发。
3)为分布式数据库的远程对象提供位置透明性。

4.与同义词相关的权限

1)用户在自己的模式下创建私有同义词,这个用户必须拥有CREATE SYNONYM权限,否则不能创建私有同义词。
2)如果需要在其它模式下创建同义词,则必须具有CREATE ANY SYNONYM的权限。
3)创建公有同义词则需要CREATE PUBLIC SYNONYM系统权限。

5.使用

1)创建

CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.]同义词名称 FOR [schema.]object[@dblink];

2)删除

DROP [PUBLIC] SYNONYM [schema.] 同义词名称 [FORCE];

3)查看

select * from user_synonyms; 

分享到:
评论

相关推荐

    Oracle的同义词(synonyms)总结

    Oracle的同义词(synonyms)总结

    OCP 082试题-2022.5.2更新.docx

    Which two statements are true about Oracle synonyms? A.A synonym can be created on an object in a package B.A synonym can have a synonym C.Any user can create a PUBLIC synonym D.A synonym has an ...

    Oracle Security

    Security in an oracle System Chapter 1 Oracle and Security What’s It All About? The Oracle Security Model Procedures, Policies, and Plans If I Had a Hammer... Chapter 2 Oracle System Files ...

    Oracle 常用系统表

    DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS。 注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词。 索引 DBA_INDEXS、ALL_INDEXS、USER_INDEXS、DBA_IND_COLUMNS、ALL_IND_...

    最全的oracle常用命令大全.txt

    SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&...

    SQL实验六 Oracle数据字典和ODBC

    USER_SYNONYMS 同义词表 USER_CONSTRAINTS 约束表 语法如下: Select constraint_name,table_name, constraint_type from user_constraints; 其中constraint_type取值的含义如下: C——check P——primary ...

    最完整的Toad For Oracle使用手册

    Synonyms 978 System Privileges 980 Tables 981 Tablespaces 996 Triggers 1002 Types 1004 Users 1010 Views 1012 Troubleshooting 1017 Unicode Troubleshooting 1017 Hints and Tips: Connecting To Personal ...

    oracle 10g问题总结

     select * from user_synonyms  查看函数和过程的状态  select object_name,status from user_objects where object_type='FUNCTION'  select object_name,status from user_objects where object_type='...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视...

    Oracle10g DBA经常使用的动态性能视图和数据字典

    dba_segments:所有数据库段分段的存储空间 dba_synonyms:关于同义词的信息查询 dba_tables:数据库中所有数据表的描述 dba_tabespaces:关于表空间的信息 dba_tab_columns:所有表描述、视图以及聚集的列 dba_tab_...

    Oracle事例

    sql> alter index xay_id allocate extent(size 200k datafile \'c:/oracle/index.dbf\'); <8>.alter index xay_id deallocate unused; 、查看索引 SQL>select index_name,index_type,table_name from user...

    orcale常用命令

    SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&...

    dbeaver v6.0.2

    - Public synonyms in auto-completion - Session manager now shows instance ID (for clusters) - MySQL/MariaDB: - New database dialog now uses server charset/collation defaults - Native client was ...

    PLSQL.Developer(X64) v12.0.1.1814 主程序+ v11中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new ...

    plsqldev12.0.4.1826x64主程序+ v12中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new preference...

    plsqldev12.0.6.1832x64主程序+ v12中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new preference...

    SQL21日自学通

    The Use of Public Synonyms in a Multischema Database488 The Dreaded Cartesian Product 488 Failure to Enforce File System Structure Conventions 489 Allowing Large Tables to Take Default Storage ...

    PLSQL.Developer(X32) v12.0.1.1814主程序+ v11中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new ...

    plsqldev12.0.4.1826x32主程序+ v12中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new preference...

    plsqldev12.0.6.1832x32主程序+ v12中文包+keygen

    The Code Assistant can now include synonyms for user object lists. The Code Assistant no longer pre-selects <All> after typing part of a parameter/column name. SQL Window Enhancements A new preference...

Global site tag (gtag.js) - Google Analytics