IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> DBlink连接两台oracle数据库 -> 正文阅读

[系统运维]DBlink连接两台oracle数据库

问题来源

项目上使用的数据库系统是Oracle服务器,和我们系统集成的另一个系统使用的也是oracle数据,需要对方向我们开放数据。目前使用的策略是,对方直接给我们开放数据库的帐号和密码,我们从中取数据。

根据业务需要,对方提供的数据需要和我们库的数据做整合才能得到我们需要的结果。换言之,需要两个库的数据进行连接。

解决办法

从网上找到关于db link的信息。

文章1:https://www.cnblogs.com/xiaohuizhenyoucai/p/11083187.html

文章2:https://wenku.baidu.com/view/f544db03cc175527072208c4.html

db link可以将两个oracle服务连接起来。假设两个服务分别为A和B,可以建立一个从A到B 连接,这样在A上面,就可以像操作A中的表一样操作B中的表,甚至可以把A中的表和B中的表进行连接查询。这种实现方式有些像mysql中FEDERATED引擎下的远程表。

使用db link这种方式有如下好处。

  • 方便两个服务上的表进行连接查询。
  • 应用程序访问数据库,减少了数据源的配置。
  • 近似实现了数据实时同步的效果。

配置过程

配置信息,主要包含两部分的内容

  • 要连接的数据的信息,其中包括远程oracle的服务名称,用户名称和账户密码。
  • 连接的名称。这个名称要在本地数据库访问远程数据库表的时候用到。

ddl实现

配置的SQL如下图所示

其中:

  • link_name:指的是创建的连接名称。
  • USER_NAME:指的是远程数据库的用户名,注意用户名不加引号。
  • PASSWORD指的是远程数据库的用户密码,注意用户密码不加引号。
  • SERVICE_NAME:指的是远程数据库的服务名称。
-- Create database link 
create public database link LINK_NAME connect to USER_NAME identified by PASSWORD
USING '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.0.123)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = SERVICE_NAME)))';

使用时,在要查询的远程数据库表后面,加上@LINK_NAME。如:

SELECT * FROM SCHEMA_NAME.TABLE_NAME@LINK_NAME

这里需要注意的是,SCHEMA_NAME指的是远程数据库的schema名称,一定要加,否则会报如下错误。

配置实现

  • 配置本地服务器oracle的tnsnames.ora,将远程oracle数据库的连接配置进来
TLINK =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.100.100.100)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = oracle)
    )
  )

  • 创建A-B的dblink:
create public database link alink
connect to scott identified by tiger using 'TLINK';
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 12:16:02  更:2022-04-26 12:19:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:54:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码