GBase 8a
其他
文章

GBase 8a支持通过DBLink访问哪些异构数据源?配置DBLink连接时需要提供哪些信息?

发表于2026-03-26 10:05:3223次浏览5个评论

GBase 8a 通过 DBLink 功能支持的异构数据源以及配置连接所需的信息如下:

一、支持的异构数据源

GBase 8a DBLink 通过 透明网关(Gateway)JDBC/ODBC 驱动,支持访问多种主流数据库。具体包括:

数据源类型具体数据库/模式重要限制与说明
国产数据库

• GBase 8c
• GaussDB
• 达梦数据库(Oracle模式

 

需对应数据库的JDBC驱动。
国外商用数据库Oracle (10g, 11g)
Teradata
• MySQL

Oracle仅支持 UTF8GBKGB2312 字符集。
• Teradata:需单独配置驱动。

 

其他云/分布式数据库• OceanBase(Oracle租户需兼容Oracle语法和协议。

二、配置DBLink连接所需的信息与步骤

配置DBLink不是一条简单的SQL,而是一个部署和配置透明网关服务的过程。所需信息分散在多个配置文件中。

核心架构

[您的应用] -> [GBase 8a 集群] -> [透明网关 (Gateway)] -> [异构数据源]

网关是独立的Linux进程,负责协议转换和数据搬运。

配置流程与所需信息

假设要从GBase 8a访问一个Oracle数据库,配置步骤如下:

第一步:安装与配置透明网关(在网关服务器上操作)

  1. 安装网关软件:在独立的Linux服务器上安装透明网关组件。
  2. 配置主配置文件 conf.properties
    • 此文件定义网关的通用行为。
    • 需要提供/确认的信息

      • interactive_code:交互信息编码格式(如UTF-8)。
      • page_size:SQL分页查询时每页的大小。
      • load_data_method:数据加载方式(batchinsert_values)。
      • source_is_paged:源端查询是否分页。
      • wait_timeout:等待超时时间。
      • integer_use_decimal:整型是否使用decimal类型传输。

       

       

第二步:配置数据源连接信息
编辑文件 dataSource_dblink.properties这是配置的核心,需要提供异构数据源的详细连接信息。

  • 需要提供的信息(对于每个数据源)

    properties

     

    # 示例:配置一个名为 oracle_link1 的Oracle数据源
    dataSource.oracle_link1.ip=192.168.1.100
    dataSource.oracle_link1.port=1521
    dataSource.oracle_link1.dbType=oracle
    dataSource.oracle_link1.dbName=orcl
    dataSource.oracle_link1.user=scott
    dataSource.oracle_link1.password=tiger
    dataSource.oracle_link1.charset=UTF8
    
    • ip / port异构数据源数据库服务器的IP和端口。
    • dbType:数据库类型,如 oracle, mysql
    • dbName:数据库实例名或服务名。
    • user / password:连接用户名和密码。
    • charset数据源的字符集,必须与GBase端兼容。

第三步:配置目标GBase 8a集群信息
编辑文件 gbase8a_gcluster.properties。这告诉网关将数据写入哪个GBase集群。

  • 需要提供的信息

    properties

     

    gcluster.ip=172.16.10.10
    gcluster.port=5258
    gcluster.dbEncoding=UTF8
    gcluster.user=gbase
    gcluster.password=GBase123
    • ip / portGBase 8a 协调节点(GCluster) 的IP和端口。
    • dbEncoding:目标GBase数据库的编码。
    • user / password:在GBase中有读写权限的用户。

第四步:启动网关并创建DBLink

  1. 启动网关服务

    sh gt.sh start
  2. 在GBase 8a中创建DBLink对象

     

    CREATE PUBLIC DATABASE LINK oracle_link1 
    CONNECT TO gateway_user IDENTIFIED BY 'gateway_pwd'
    USING 'gt://网关服务器IP:端口/oracle_link1';
    
    • 此处的 gateway_user/gateway_pwd 是网关自身的认证用户,需在网关中配置。
    • USING 子句指向网关服务器和第一步中定义的数据源名称。

三、重要限制与注意事项

  1. 网关部署限制:透明网关只支持Linux操作系统

     

  2. 网络与IP支持
    • 支持 IPv4 <-> IPv4、IPv6 <-> IPv6、IPv6 <-> IPv4。
    • 使用IPv6时,地址必须写完整,中间的0不能省略
  3. 功能限制
    • 支持SELECT查询、CREATE TABLE ... AS SELECTINSERT ... SELECT、在存储过程中使用。
    • 不支持:对DBLink表直接进行DDL、通过DBLink创建视图、使用DBLink表进行UPDATE/MERGE、在函数中使用DBLink。

       

  4. 权限要求:启动网关的Linux用户,必须在目标GBase 8a集群中拥有相应的读写权限。

     

四、总结

配置GBase 8a DBLink是一个三层配置过程

  1. 网关全局配置 (conf.properties):定义网关行为参数。
  2. 源端配置 (dataSource_dblink.properties):提供异构数据源的详细连接信息(IP、端口、类型、库、用户、密码、字符集)。
  3. 目标端配置 (gbase8a_gcluster.properties):提供GBase 8a集群的连接信息

     

成功配置后,您就可以在GBase 8a中使用 SELECT * FROM table_name@oracle_link1 这样的语法,透明地查询或迁移异构数据库中的数据。此功能是实现数据仓库集成(ETL)和跨系统查询的关键工具。

评论

登录后才可以发表评论
用户头像
山佳发表于 4个月前
11111
用户头像
柒柒天晴发表于 4个月前
学习
GBase用户21164发表于 3个月前
透明网关包是哪个,如何下载啊
GBase用户51848发表于 2个月前
闪闪发光
茵陈发表于 2个月前
谢谢分享