Oracle同义词和DBLink关联

                                             步骤相关说明

基于Oracle11g

1.运行环境说明

两个数据库(如Oracle 11g,其他也可),以下称为目标库,源库,创建database link后需要访问的库为目标库。

    目标库为:10.17.0.206:1521/YLZCDR

    源库为:10.17.0.42:1521/orcl

1.1赋予权限。

创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用SD_JCPT用户登陆源库):

 

-- 查看SD_JCPT用户是否具备创建database link 权限

SELECT * FROM user_sys_privs WHERE PRIVILEGE LIKE UPPER('%DATABASE LINK%') AND USERNAME='SD_JCPT';

 

如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆源库为SD_JCPT用户赋予创建权限。

 

-- wangyong用户授予创建dblink的权限

GRANT CREATE PUBLIC DATABASE LINK TO SD_JCPT;

此时,再执行上面查看是否具备权限的sql语句,会发现有返回行,表示SD_JCPT这个用户已经具备创建database link的权限。

1.2 创建database link

 create [public] database link dababaseLinkName [connect to user identified by password] using connectString.

创建一个名为link2cdrdatabase link

-- 注意一点,如果密码是数字开头,用“”括起来

CREATE PUBLIC DATABASE LINK link2cdr CONNECT TO SD_JCPT IDENTIFIED BY "SD_JCPT" USING '10.17.0.206:1521/YLZCDR';

2.为database link使用同义词synonym

create [public] synonym [schema.]synonymName for [schema.]object[@dblink] --public表示创建一个公共同义词,默认是私有的。@dblink表示创建的是远程数据库的同义词,dblink是远程数据库链接的名称。

比如针对查询目标库所有表使用同义词

SELECT * FROM tab@Link2cdr;

 

为其他用户或者当前用户的对象建立同义词,同义词可以指向表、视图、过程、函数、包和序列。

CREATE SYNONYM syn_tab FOR tab@Link2cdr;

建立同义词后,可以使用如下访问方式:

SELECT t.tname FROM syn_tab t;

 

3.删除SYNONYM和database link

删除数据库链接:

drop [public] database link databaseLinkName;
--默认是删除私有的数据库链接。

删除同义词:

Sql代码 drop [public] synonym [schema.]synonymName
-- public表示删除一个公用同义词,如果不指定则默认是删除私有同义词,当对应的私有同义词不存在时则报错。

-- 删除database link

DROP PUBLIC DATABASE LINK link2cdr;

-- 删除同义词

DROP SYNONYM syn_tab;

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Oracle全局同义词是指在Oracle数据库中,由DBA创建的公有同义词。全局同义词可以被所有用户共享,而不仅仅是创建同义词的用户。普通用户可以使用全局同义词来引用其他用户的对象,而无需指定完整的对象名。创建全局同义词的语法为CREATE PUBLIC SYNONYM [同义词名称 FOR [用户名.]对象名。 全局同义词的功能类似于视图,都是提供了一个对象的别名,方便用户使用和引用该对象。全局同义词不占用实际存储空间,只在数据字典中保存了定义。通过创建全局同义词,可以简化数据库访问和维护的工作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Oracle 同义词总结](https://blog.csdn.net/coco3600/article/details/100232455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Oracle创建同义词及dblink](https://blog.csdn.net/wounler/article/details/117816548)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值