文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle创建dblink

2024-04-02 19:55

关注

DBLINK 创建

dblink(Database Link)数据库链接顾名思义就是数据库的链接 ,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。

1.  Bdlink分类

Owner 描述
Private 创建dblink的user拥有该dblink 在本地数据库的特定的schema下建立的databaselink。只有建立该databaselink的schema的session能使用这个databaselink来访问远程的数据库。同时也只有Owner能删除它自己的privatedatabaselink。
Public Owner是PUBLIC. Public的databaselink是数据库级的,本地数据库中所有的拥有数据库访问权限的用户或pl/sql程序都能使用此databaselink来访问相应的远程数据库。
Global Owner是PUBLIC. Global的database  link是网络级的,When an  Oracle network uses a directory server, the directory server automatically  create and manages global database links (as net service names) for every  Oracle Database in the network. Users and PL/SQL subprograms in any database  can use a global link to access objects in the corresponding remote  database.Note: In earlier releases of Oracle Database, a global database link  referred to a database link that was registered with an Oracle Names server.  The use of an Oracle Names server has been deprecated. In this document,  global database links refer to the use of net service names from the  directory server.



2.  dblink创建

      在创建之前,首先需要知道用户有没有创建 dblink 的权限, dblink 的相关权限有三个 2.    dblink创建

CREATE DATABASE LINK(所创建的DBLINK只能是创建者自己使用,别的用户不能使用)

CREATE PUBLIC DATABASE LINK( PUBLIC 表示所创建的DBLINK所有用户都可以使用)

DROP PUBLIC DATABASE LINK(删除公共的DBLINK)

首先要确认用户是否拥有创建dblink的权限,如果没有的话要将相关权限赋予用户才可以进行dblink的创建。

创建时需要有需要访问的数据库的 TNS 信息和可用的用户和密码,创建脚本如下:

  1. --创建DBLINK:


  2.  create database link dblink_name


  3.   connect to user_name identified by password


  4.   using '(DESCRIPTION =


  5.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.92.92.92)(PORT = 1521))


  6.     (CONNECT_DATA =


  7.       (SERVER = DEDICATED)


  8.       (SERVICE_NAME = ORCL)


  9.     )


  10.   )


  11. ' ;

创建完成后即可在 DBA_DB_LINKS视图中查询是否创建完成。也可以使用 drop database link dblink_name进行drop删除;

3.   dblink 查询及创建同义词

      创建完成后即可对目标数据库进行访问,如查询 table_test 表
Select * from table_test@dblink_name;

       一般为了使用方便,可以对需要访问的表设置同义词:

      创建和删除同义词:

create or replace synonym table_test for table_test@dblink_name; 

设置同义词后查询时只需要查询同义词即可 .

同义词也可以使用 drop 直接删除后重新创建

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯