图文深入介绍Oracle DB link(一)
1. 引言:
本文图文深入介绍Oracle DB link,先介绍基本概念。
2.DB link的定义
数据库链接(Database Link,简称 DB Link)是 Oracle 数据库中的一个重要功能。它是一种在一个 Oracle 数据库实例中访问另一个 Oracle 数据库实例中的对象(如表、视图等)的机制。通过 DB Link,可以实现跨数据库的查询、插入、更新和删除等操作,就好像这些对象是在本地数据库中一样。
3. DB link的工作原理
当在本地数据库中通过 DB Link 访问远程数据库对象时,Oracle 会建立一个网络连接到远程数据库。这个连接是基于 Oracle 的网络配置(如 TNSNAMES.ORA 文件或者 LDAP 等方式的配置)来确定远程数据库的位置和连接参数。
例如,假设本地数据库为 DB1,远程数据库为 DB2,在 DB1 中创建了一个指向 DB2 的 DB Link。当在 DB1 中执行一个查询语句,如 “SELECT * FROM table@DBLink_to_DB2;”(其中 “DBLink_to_DB2” 是指向 DB2 的 DB Link 名称),Oracle 会根据 DB Link 中的配置信息,通过网络连接到 DB2,在 DB2 中执行该查询语句,然后将结果返回给 DB1。如下图所示:有A、B两个数据库实例,A下面有user1和user2两个用户,B实例下有用户user3,在user1 用户下建连接user3名为link的DBLINK。

4. DB link的类型与权限
- 类型:
公有数据库链接:所有用户都可以使用的数据库链接。
私有数据库链接:只能被创建它的用户使用。
全局数据库链接:在Oracle Names服务器上定义的,可以被网络中的所有数据库使用。 - 权限:
创建DB link的用户需要具有CREATE DATABASE LINK权限。
使用DB link的用户需要具有对远程数据库对象的相应权限(如SELECT、INSERT、UPDATE、DELETE等)。
5. 创建 DB Link
在Oracle数据库中,创建数据库链接(DB Link)通常使用CREATE DATABASE LINK语句。下面介绍具体步骤:
1.权限检查
- 检查权限:
要确保当前用户具有创建DB Link的权限。可以使用以下SQL语句检查:
SELECT * FROM user_sys_privs WHERE privilege LIKE ‘%DATABASE LINK%’;
如果没有创建DB Link的权限,需要请求具有DBA权限的用户授予权限。例如:
GRANT CREATE DATABASE LINK TO your_username;
2. 创建DB Link
- 使用TNS名称创建:
如果Oracle的tnsnames.ora文件中已经配置了远程数据库的连接信息,可以直接使用TNS名称来创建DB Link。例如:
CREATE DATABASE LINK link_name
CONNECT TO remote_username IDENTIFIED BY remote_password
USING 'tns_alias';
其中:link_name是DB Link的名称,
remote_username和remote_password是远程数据库的用户名和密码,
tns_alias是tnsnames.ora文件中配置的远程数据库的连接别名。
- 使用描述信息创建:
如果不想依赖tnsnames.ora文件,可以直接在创建DB Link的语句中提供远程数据库的连接描述信息。例如:
CREATE DATABASE LINK link_name
CONNECT TO remote_username IDENTIFIED BY remote_password
USING '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=remote_host)(PORT=remote_port)))(CONNECT_DATA=(SERVICE_NAME=remote_service_name)))';
其中:
remote_host是远程数据库的主机名或IP地址,
remote_port是远程数据库监听的端口号,
remote_service_name是远程数据库的服务名称。
3. 验证DB Link
- 查询远程数据:
创建成功后,可以使用DB Link来查询远程数据库中的数据。例如:
SELECT * FROM remote_table@link_name;
其中,remote_table是远程数据库中的表名,link_name是之前创建的DB Link的名称。 - 查看DB Link:
可以使用以下SQL语句查看数据库中存在的DB Link:
SELECT * FROM dba_db_links; -- 需要DBA权限
SELECT * FROM all_db_links; -- 查看当前用户可访问的DB Link
SELECT * FROM user_db_links; -- 查看当前用户拥有的DB Link
4. 注意事项
- 安全性:
在创建DB Link时,需要确保提供的远程数据库用户名和密码是安全的,避免泄露给未经授权的用户。 - 网络性能:
使用DB Link进行查询时,会涉及到网络传输,因此需要注意网络性能的影响。特别是在查询大量数据时,可能会对网络造成较大的负担。 - 事务处理:
如果需要在分布式事务中使用DB Link,需要确保Oracle数据库支持分布式事务,并且正确配置了相关的事务管理器。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。
相关文章:
图文深入介绍Oracle DB link(一)
1. 引言: 本文图文深入介绍Oracle DB link,先介绍基本概念。 2.DB link的定义 数据库链接(Database Link,简称 DB Link)是 Oracle 数据库中的一个重要功能。它是一种在一个 Oracle 数据库实例中访问另一个 Oracle 数…...
Uniswap/v2-core使用及其交易流程
Uniswap是一个开源的去中心化的交易所,在github上面有以下重要仓库: uniswap-v2-core: 币对池pair的核心智能合约。这个repository包含了Uniswap的币对池pair的所有核心逻辑,增加流动性、减少流动性等。uniswap-v2-periphery&…...
clickhouse运维篇(二):多机器手动部署ck集群
熟悉流程并且有真正部署需求可以看一下我的另一篇简化部署的文章,因为多节点配置还是比较麻烦的先要jdk、zookeeper,再ck,还有各种配置文件登录不同机器上手动改配置文件还挺容易出错的。 clickhouse运维篇(三)&#x…...
OpenCV视觉分析之目标跟踪(7)目标跟踪器类TrackerVit的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 VIT 跟踪器由于特殊的模型结构而变得更快且极其轻量级,模型文件大约为 767KB。模型下载链接:https://github.com/opencv/…...
Java 实现 RESTful 风格的 Web 服务详解
前言 RESTful(Representational State Transfer)风格的 API 已经成为现代 Web 服务的标准。它通过简单的 HTTP 方法和资源定位来提供了一种高度可扩展和易于维护的服务接口。Java 作为一种功能强大且广泛使用的编程语言,提供了多种框架来实现…...
18.网工入门篇--------今天介绍下广域网技术
广域网(Wide Area Network,WAN)是一种能连接多个城市、国家甚至横跨几个洲,提供远距离通信的网络。以下是关于广域网技术的详细介绍: 广域网的组成: 结点交换机:这是广域网的核心设备࿰…...
鸿蒙原生应用开发及部署:首选华为云,开启HarmonyOS NEXT App新纪元
目录 前言 HarmonyOS NEXT:下一代操作系统的愿景 1、核心特性和优势 2、如何推动应用生态的发展 3、对开发者和用户的影响 华为云服务在鸿蒙原生应用开发中的作用 1、华为云ECS C系列实例 (1)全维度性能升级 (2ÿ…...
Spring JdbcTemplate详解
文章目录 Spring JdbcTemplate详解一、引言二、配置JdbcTemplate1、引入依赖2、配置数据库连接池3、配置JdbcTemplate 三、使用JdbcTemplate操作数据库1、添加数据2、查询数据查询某个值根据条件查询返回某个对象查询对象集合 四、总结 Spring JdbcTemplate详解 一、引言 在J…...
Docker篇(Docker安装)
目录 一、Centos7.x 1. yum 包更新到最新 2. 安装需要的软件包 3. 设置 yum 源为阿里云 4. 安装docker 5. 安装后查看docker版本 6. 设置ustc镜像源 二、CentOS安装Docker 前言 1. 卸载(可选) 2. 安装docker 3. 启动docker 4. 配置镜像加速 …...
Pytorch 实现图片分类
CNN 网络适用于图片识别,卷积神经网络主要用于图片的处理识别。卷积神经网络,包括一下几部分,输入层、卷积层、池化层、全链接层和输出层。 使用 CIFAR-10 进行训练, CIFAR-10 中图片尺寸为 32 * 32。卷积层通过卷积核移动进行计…...
得物App获评新奖项,正品保障夯实供应链创新水平
近日,得物App再度获评新奖项——“2024上海市供应链创新与应用优秀案例”。 本次奖项为上海市供应链领域最高奖项,旨在评选出在供应链创新成效上处于领先地位、拥有成功模式和经验的企业。今年以来,得物App已接连获得“上海市质量金奖”、“科…...
【数据结构-邻项消除】力扣735. 小行星碰撞
给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方向(正表示向右移动,负表示向左移动)。每一颗小行星以相同的速度移动。 找…...
002-Kotlin界面开发之Kotlin旋风之旅
Kotlin旋风之旅 Compose Desktop中哪些Kotlin知识是必须的? 在学习Compose Desktop中,以下Kotlin知识是必须的: 基础语法:包括变量声明、数据类型、条件语句、循环等。面向对象编程:类与对象、继承、接口、抽象类等。…...
VMware Workstation Pro for Personal Use (For Windows)
这是从broadcom.com网下载的个人版本的Vmware 17.6.1,存分享不要分。 VMware-workstation-full-17.6.1-24319023.exe(447.93 MB) Build Number: 24319023 Oct 08, 2024 07.33AM SHA2: f95429e395a583eb5ba91f09b040e2f8c53a5e7aa37c4c6bfcaf82115a8…...
论文 | PROMPTAGATOR : FEW-SHOT DENSE RETRIEVAL FROM 8 EXAMPLES
1. 背景信息 在信息检索领域,传统的方法往往依赖于大量的标注数据来训练模型,以便在各种任务中表现良好。然而,许多实际应用中的监督数据是有限的,尤其是在不同的检索任务中。最近的研究开始关注如何从一个拥有丰富监督数据的任务…...
使用 Github 进行项目管理
GitHub 是一个广泛使用的代码托管和协作平台,它提供了强大的工具来支持项目管理和团队协作。在项目开发和工作中,避免不了 Github 的使用,然鹅我一直没有稍微系统地学习过 github 的整个工作流程,对这些操作都是一知半解的&#x…...
企业SRC挖掘选择与信息收集指南
内容预览 ≧∀≦ゞ 企业SRC挖掘选择与信息收集指南导语1. 企业SRC的选择2. 信息收集2.1 集团与子公司2.2 小程序与APP2.3 Web端信息收集 3. 信息收集常用模板总结 企业SRC挖掘选择与信息收集指南 导语 近年来,企业的安全响应中心(SRC)已逐渐…...
Golang | Leetcode Golang题解之第524题通过删除字母匹配到字典里最长单词
题目: 题解: func findLongestWord(s string, dictionary []string) (ans string) {m : len(s)f : make([][26]int, m1)for i : range f[m] {f[m][i] m}for i : m - 1; i > 0; i-- {f[i] f[i1]f[i][s[i]-a] i}outer:for _, t : range dictionary …...
【DBeaver】连接带kerberos的hive[Apache|HDP]
目录 一、安装配置Kerberos客户端环境 1.1 安装Kerberos客户端 1.2 环境配置 二、基于Cloudera驱动创建连接 三、基于Hive原生驱动创建连接 一、安装配置Kerberos客户端环境 1.1 安装Kerberos客户端 在Kerberos官网下载,地址如下:https://web.mit.edu/kerberos…...
Unity3D 开发教程:从入门到精通
Unity3D 开发教程:从入门到精通 Unity3D 是一款强大的跨平台游戏引擎,广泛应用于游戏开发、虚拟现实、增强现实等领域。本文将详细介绍 Unity3D 的基本概念、开发流程以及一些高级技巧,帮助你从零基础到掌握 Unity3D 开发。 目录 Unity3D…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
