oracle同义词与dblink

标签: oracle 同义词 dblink | 发表时间:2013-12-22 17:40 | 作者:wenbing2610
出处:http://www.iteye.com

           Oracle同义词(synonyms)

        从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系。这种映射关系体现在同个数据库中通过表别名进行访问,也体现在访问远程数据库中某张表,这时候就需要创建dblink。

        同义词创建权限       

 用户可以在自己的模式中创建同义词,这需要具有CREATE SYNONYM这个系统权限。如果希望在其它用户的模式中创建同义词,则需要具有CREATE ANY SYNONYM这个系统权限。普通用户创建的同义词一般都是私有同义词,公有同义词一般由DBA创建,普通用户如果希望创建同义词,则需要CREATE PUBLIC SYNONYM这个系统权限。

创建同义词

create public synonym table_name1 for user.table_name2。

table_name1是同义词名称,table_name2是具体要为哪张表创建同义词,table_name1是table_name2的别名。

假设当前用户为了方便地访问scott用户的表dept,可以执行下面的CREATE语句创建同义词:CREATE PUBLIC SYNONYM sy_dept FOR scott.dept;

这样在具有相应权限的情况下,当前用户就可以通过这个同义词代替原来的表进行相应操作:

通过同义词查询:SELECT deptno,dname,loc FROM sy_dept;

通过同义词写入一行数据:INSERT INTO sy_dept(deptno,dname,loc)   VALUES(100,'NETWORK','BEIJING'); 

用户可以删除自己创建的同义词,如果要删除其他用户创建的同义词,则要具有DROP ANY SYNONYM系统权限。DBA可以删除所有的公共同义词,普通用户需要具有DROP PUBLIC SYNONYM系统权限,才能删除公共同义词。同义词被删除以后,它的相关信息也将从数据字典中删除。

dblink

此外如果要创建一个远程的数据库上的某张表的同义词,需要先创建一个Database Link(数据库连接)来扩展访问,然后再创建数据库同义词:create synonym table_name for table_name@DB_Link;  

DB_Link就是远程要访问的数据库地址别名,table_name就是要访问的远程数据库服务器上的某张表。

创建数据库链接:
    create database link linkname
    connect to username
    identified by password
    using 'connection string';

connection string可以有两种形式:

1,在文件tnsnames.ora配置的名称:
   例如:
   CDRDL =(DESCRIPTION =(

               ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.147.129.29)(PORT = 2521)))
           (CONNECT_DATA =(SERVICE_NAME = cdrdb))

)
   tnsnames.ora是Oracle数据库服务器安装路径下的配置文件,默认路径:X:\oracle\product\10.2.0\db_1\NETWORK\ADMIN文件下。

此时也可以写成:
    create database link linkname
    connect to username
    identified by password
    using 'CDRDL';

 2,也可以直接使用‘=’号后面的字符串,
    例如:
    create database link linkname
    connect to username
    identified by password
    using '(DESCRIPTION =(

               ADDRESS_LIST =
                  (ADDRESS = (PROTOCOL = TCP)(HOST = 10.147.129.29)(PORT = 2521)))
           (CONNECT_DATA =(SERVICE_NAME = cdrdb))

 )'; 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [oracle 同义词 dblink] 推荐:

oracle同义词与dblink

- - 数据库 - ITeye博客
           Oracle同义词(synonyms).         从字面上理解就是别名的意思,和视图的功能类似,就是一种映射关系. 这种映射关系体现在同个数据库中通过表别名进行访问,也体现在访问远程数据库中某张表,这时候就需要创建dblink.         同义词创建权限       .

oracle dblink造成远程数据库session过多

- - CSDN博客推荐文章
   现场报网公司数据库连不上,先检查了下数据库processes=1500,session=2200.我觉得很大啊,这个数据库没有几个人用.    查看v$session中的session最多是哪个machine发起的,发现是省公司的数据库发起的session,找开发梳理了下业务,省公司同步dblink操作网公司表,且是通过weblogic的连接池.

同义词反馈机制

- - IT技术博客大学习
标签:   反馈   同义词.     由于搜索算法本身的局限性,对于用户的语义、意图等理解不够,而基于用户行为的点击调权,作为对传统搜索算法的补充,在搜索中扮演着重要的作用. 尽管用户行为已经被证明在搜索中的效果,但是一直只是停留在query-url层面,或者ngram-url层面[1],没有深入反馈到检索算法中的基础策略,比如:同义词、紧密度、省略等,这些策略影响了url与query之间的关系.

中文分词之9577组同义词

- - 杨尚川的个人页面
这9577组同义词出自 Java分布式中文分词组件 - word分词,这里列出50组同义词,更多同义词请看 这里.

Oracle 收购 Ksplice

- feng823 - LinuxTOY
实现无需重启即可为 Linux 内核打安全补丁的 Ksplice 被 Oracle 收购. 在被收购前, Ksplice 为 Fedora, Ubuntu 免费提供该功能,对于 RHEL 和 CentOS 则需要订阅其产品. Oracle 表示将把 Ksplice 带来的零宕机安全更新功能添加到 Oracle 产品订阅服务中,同时停止对其他企业级 Linux 发行版的支持,将 Oracle Unbreakable Linux 打造成唯一具备零宕机安全更新功能的企业级 Linux 发行版.

Linux Ksplice,MySQL and Oracle

- Syn - DBA Notes
Oracle 在 7 月份收购了 Ksplice. 使用了 Ksplice 的 Linux 系统,为 Kernel 打补丁无需重启动,做系统维护的朋友应该明白这是一个杀手级特性. 现在该产品已经合并到 Oracle Linux 中. 目前已经有超过 700 家客户,超过 10 万套系统使用了 Ksplice (不知道国内是否已经有用户了.

oracle license计算

- Fenng - eagle&#39;s home
Oracle license的计算是基于CPU core的. 用core的数目乘以一个系数core factor就可以得到所需的oracle license的数目. 对于不同的CPU,core factor是不一样的,可以从oracle提供的这张列表中查到 Oracle Processor Core Factor Table.

Oracle Exadata初探

- - 技术改变世界 创新驱动中国 - 《程序员》官网
在我们看来,它是一个把硬件和软件根据合理的配置整合在一起的 Oracle数据库(在本文编写时是11gR2版本)平台. Exadata数据库机器包含了存储子系统,在存储层上运行着研发的新软件,这使得研发人员可以做一些在其他平台上无法完成的事情. 实际上,Exadata一开始是以一个存储系统形式诞生的,如果你跟参与研发此产品的人交谈,你经常会听到他们称存储组件为Exadata或者是SAGE (Storage Appliance for Grid Environments,网格环境存储设备),这是该产品研发项目的代码名称.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

[转]Oracle 碎片

- - 小鸥的博客
  当生成一个数据库时,它会 分成称为表空间( Tablespace )的多个逻辑段( Segment ),如系统( System )表空间 , 临时( Temporary )表空间等. 一个表空间可以包含多个数据范围( Extent )和一个或多个自由范围块,即自由空间( Free Space ).