数据管理DMS的跨库查询功能可便捷地对库表进行跨实例的关联查询。本文介绍使用跨库查询的方法。

前提条件

实例已开启跨库查询功能,具体操作,请参见开启跨库查询

使用限制

  • 支持的数据库类型:
    • MySQL:RDS MySQLPolarDB MySQL引擎MyBase MySQLPolarDB-XAnalyticDB MySQL 3.0、其他来源MySQL
    • SQL Server:RDS SQL ServerMyBase SQL Server、其他来源SQL Server
    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL引擎MyBase PostgreSQLAnalyticDB PostgreSQL版、其他来源PostgreSQL
    • OceanBase MySQL模式
    • PolarDB O引擎
    • Redis
  • 仅支持物理库的跨库查询。
    说明
    • 物理库:具体的某个数据库。
    • 逻辑库:由单个或多个物理库配置而成,可便捷的进行分库分表的操作。更多信息,请参见逻辑库

操作步骤

  1. 登录数据管理DMS 5.0
    说明 如果您需要切换到旧版数据管理DMS,单击页面右下角返回旧版,进入数据管理DMS平台。具体操作,请参见数据管理DMS 5.0切换至旧版
  2. 在顶部菜单栏中,选择SQL窗口 > 跨库查询
    说明
    • 您还可以在支持跨库查询的数据库SQL窗口中,在SQL命令区域的菜单栏,单击跨库查询
    • 如果您使用的是旧版数据管理DMS,在顶部菜单栏中,选择全部功能 > SQLConsole > 跨库查询
  3. 确认您拥有目标数据库的访问权限。
    说明 可视化操作区域各选项的含义:
    • 权限:
      • 有权限:开启跨库查询功能且拥有访问权限的实例、数据库和表所在的数据库。管理员和DBA对所有实例都有访问权限。
      • 全部:该租户下所有开启跨库查询功能的实例或数据库。
    • 对象:
      • DBLink:符合条件的实例对应的DBLink列表。
      • 数据库:符合条件的数据库列表。
    在页面左侧的可视化操作区域,右键单击目标数据库,选择查看该库权限。在信息对话框中,查看您是否拥有该库的访问权限:
    • 您有该库的访问权限:您拥有该数据库的访问权限,可以进行下一步操作。
    • 您没有该库的权限:您没有该数据库的访问权限,根据下面的操作步骤申请权限。
      1. 单击申请库权限
      2. 权限申请对话框中,选中您需要的权限类型。2SQL窗口 垮库权限申请
      3. 期限列表中,选择您需要的权限期限。
      4. 权限类型文本框中,输入申请权限的原因、背景,减少审批流程中的沟通成本。
        说明 系统默认输入SQLConsole查询操作无权限,一键生成工单。
      5. 单击确认
      审批通过后,您会拥有该数据库的权限,可以进行下一步操作。
  4. 在SQL命令区域,输入跨库查询的SQL语句,单击执行
    示例SQL:
    SELECT *    
    FROM dblink1.db1.table1 t1,         
         dblink2.db2.table2 t2    
    where t1.id= t2.id
  5. 在执行结果区域,查看SQL的执行结果。
    说明
    • 您还可以在安全与规范 > 操作审计 > 操作日志中,查看跨库查询的操作日志。
    • 跨库查询最大返回行数默认100行,如果您想要查看更多数据,进入运维管理 > 配置管理,在参数跨库查询最大返回行数操作列中,单击编辑,设置跨库查询最大返回行数,允许设置的最大返回行数为3000行。
    • 如果您想要查询超过3000行的跨库查询数据,可以在任务编排中创建Spark SQL任务,将目标结果集写入一个新的临时表,然后对临时表进行单库查询。关于Spark SQL任务,请参见配置跨库Spark SQL节点