GBase 8a数据库集群透明网关与DBLINK-DBLINK参数配置

B站影视 内地电影 2025-06-04 17:13 2

摘要:值为1,2:以下dblink语法约束不再限制,自动对查询语法进行优化:

DBLINK参数配置

1._t_gcluster_dblink_clear_syntax_constraints

取值:[0|1|2]

默认值:0

说明:dblink sql 优化

值为0:不进行优化;

值为1,2:以下dblink语法约束不再限制,自动对查询语法进行优化:

dblink表禁止与本地表,from子查询,非同源的dblink表产生直接join关系。

主查询为dblink表,其子查询中(相关,非相关,标量,from子查询)禁止出现本地表,非同源的dblink表,异构数据库的dblink表只允许出现from子查询中。

针对1和2的区别:

SQL涉及的表都为dblink表,并且同源,并为异构

select a+b as ab from t1@olink where a > 1;


2:优化为:

select ab from (select a+b as ab from t1@olink a > 1) opt_dblink_tmp;

1:优化为:

select a+b as ab from (select a,b from t1@olink where a > 1) t1;

0:报错

修改方式:可使用set语句修改值也可在配置文件中修改值。适用于session、global范围均可。


2._t_gcluster_dblink_generate_interim_table_policy

取值:[0|1]

默认值:1

说明:用于控制针对集群计划dblink拉表步骤,目标临时表的结构生成方式。

0:使用自动评估方式,由投影表达式结果的数据类型确定。

1:请求网关使用create...select ...limi 0方式获取临时表的结构。相对评估方式,临时表的列的数据类型评估更准确。

修改方式:可使用set语句修改值也可在配置文件中修改值。适用于session、global范围均可。

3._t_gcluster_dblink_ignore_use_db

取值:[0|1]

默认值1。

说明:dblink连接中收到use db指令后知否忽略切换db。

1,dblink执行时,执行端和源端会建立一个session,该session会根据dblink的信息初始化一个db,use db时不做切换db处理。同一个连接执行多个db的dblink会存在问题。

0,不忽略use db命令,切换db生效。

4._t_gcluster_dblink_insert_select_optimization

取值:[0|1]

默认值:1

说明:dblink insert select优化

1:打开,查询计划生成计划时会尝试判断以下insert select 中的查询部分是否可以直接下发,如果可以则不建立临时表,直接插入目标表。

0:关闭,建立临时表方式。

修改方式:可使用set语句修改值也可在配置文件中修改值。适用于session、global范围均可。


5.gbase_dblink_gateway_ip

取值:IP

默认值:空

说明:dblink功能使用的网关的ip

修改方式:全局参数,在配置文件中赋值和修改。


6.gbase_dblink_gateway_port

取值:PORT

默认值:0

说明:dblink功能使用的网关的port

修改方式:全局参数,在配置文件中赋值和修改。


7.gbase_dblink_standby_gateway_ip

取值:IP

默认值:空

说明:dblink功能使用的备选网关的的ip,用于高可用功能

修改方式:全局参数,在配置文件中赋值和修改。


8.gbase_dblink_standby_gateway_port

取值:PORT

默认值:空

说明:dblink功能使用的备选网关的的port,用于高可用功能

修改方式:全局参数,在配置文件中赋值和修改。


9.gcluster_dblink_direct_data_exchange

取值:[0|1]

默认值:1

说明:网关的拉数据方式,对于版本差异较大的两个GBase 8a集群,因其SIS模块版本不兼容,需要设置该参数为0。

0: 将select结果转为insert values语句插入到目标集群中,主要用于异构

1: SIS模式

修改方式:可使用set语句修改值也可在配置文件中修改值。适用于session、global范围均可。


10.gcluster_dblink_orcl_case_sensitive

取值:[0|1]

默认值:0

说明:表名大小写控制

0:oracle 默认对象名称都为大写,创建表时,表名不加双引号,自动转为大写。

1:表名大小写敏感。不做大小写转换, 与SQL书写时一致。

修改方式:可使用set语句修改值也可在配置文件中修改值。适用于session、global范围均可。


来源:GBASE南大通用

相关推荐