zoukankan      html  css  js  c++  java
  • oracle 同义词和database link

    1.1 数据库创建同义词(synonym)

    Oracle的同义词(synonyms)从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。它可以节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;它扩展了数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;Oracle数据库中提供了同义词管理的功能。同义词是数据库对象的一个别名,经常用于简化对象访问和提高对象访问的安全性。在使用同义词时,Oracle数据库将它翻译成对应方案对象的名字。与视图类似,同义词并不占用实际存储空间,只有在数据字典中保存了同义词的定义。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等,数据库管理员都可以根据实际情况为他们定义同义词。创建同义词,访问不同用户下的表,不用加用户名。(意思就是取了一个公用的别名)

    1.2 在同一数据库下创建同义词

     (1) 查询同义词数据字典

     (2) 查询创建、删除同义词所拥有的权限

     (3) 创建同义词

        用户B 需要访问用户A 中的 teacher 表

        那么在用户B下创建同义词:create synonym teacher for A.teacher ;

        用户B 查询 teacher : select * from teacher  ;此时便可访问该表

    1.3 在不同数据库下创建同义词

          假如:192.168.200.00 需要访问 192.168.200.11 数据库下的对象,此时两个库并不在一个服务器,

    可以通过创建database link 和 同义词结合的方法访问该对象

     (1) 查询database link 所拥有的权限

     (2) 创建database link

          在192.168.200.00 上创建database link

    create database link db_clp_itf
    connect to clp_itf identified by itf072
    using'
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.00)(PORT = 1521))
    )
    (CONNECT_DATA =
    (sid = orcl)
    )
    ) ';

     db_clp_itf :是database link 名称

     clp_itf   :   是远程数据库用户名

     itf072    :   是远程数据库的密码

     using    :   是数据库服务端tnsnames配置

     (3) 创建同义词

          在192.168.200.00 上创建同义词

     create synonym t_synonym_test for t_synonym_test@db_clp_itf; 

  • 相关阅读:
    【CH6801】棋盘覆盖
    【模板】二分图匹配
    【POJ3683】Priest John's Busiest Day
    【Asia Yokohama Regional Contest 2018】Arithmetic Progressions
    【POJ2230】Watchcow
    【CF263D】Cycle in Graph
    【CF131D】Subway
    【洛谷P2709】小B的询问
    【模板】2-SAT
    【模板】矩阵快速幂
  • 原文地址:https://www.cnblogs.com/jason3361/p/11119704.html
Copyright © 2011-2022 走看看