首批通过分布式安全可靠测评,为关键业务系统打造
连接配置
更新时间:2026-04-07 16:45:46
本文为您介绍如何查看和设置数据库内核,以及 JDBC 驱动所支持的会话变量。
配置方式
通过导数工具连接数据库时,您可以通过 {ob-loader-dumper}/conf/session.config.json 文件灵活地更改程序的连接行为。session.config.json 是一个程序可读取的 JSON 配置文件,配置项包括连接初始化 SQL、JDBC URL Options 和 JDBC 高可用模式。该 JSON 文件中的固定标签包括:
| 标签 | 值类型 | 描述 | 父标签 |
|---|---|---|---|
| init_sql | map | 建立数据库连接后的预执行 sql,用于设置会话变量和系统参数。 | - |
| oracle | list | 作为 init_sql 的固定子标签,仅适用于 OceanBase 数据库 Oracle 兼容模式。 | init_sql |
| mysql | list | 作为 init_sql 的固定子标签,仅适用于 OceanBase 数据库 MySQL 兼容模式。 | init_sql |
| jdbc_url_options | map | JDBC 连接参数。 | - |
| jdbc_hamode | string | JDBC 高可用模式。 | - |
可以在 {ob-loader-dumper}/conf 目录下查看 session.config.json 文件。例如:
$cd /home/admin/obloaderobdumper/ob-loader-dumper-4.x.x-RELEASE/conf
$cat session.config.json
{
"init_sql": {
"oracle": [
"set names utf8",
"set autocommit=1",
"set session ob_query_timeout=300000000",
"set session ob_trx_timeout=180000000",
"set session net_read_timeout=86400",
"set session net_write_timeout=86400",
"set session sql_select_limit=9223372036854775807",
"alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'",
"alter session set nls_timestamp_format='YYYY-MM-DD HH24:MI:SS:FF9'",
"alter session set nls_timestamp_tz_format='YYYY-MM-DD HH24:MI:SS.FF TZR TZD'"
],
"mysql": [
"set names utf8",
"set autocommit=1",
"set session ob_query_timeout=300000000",
"set session ob_trx_timeout=180000000",
"set session net_read_timeout=86400",
"set session net_write_timeout=86400",
"set session sql_select_limit=9223372036854775807",
"set session sql_mode='STRICT_ALL_TABLES,NO_ZERO_IN_DATE'"
]
},
"jdbc_url_options": {
"characterEncoding": "utf8",
"socketTimeout": 1800000,
"connectTimeout": 1800000,
"zeroDateTimeBehavior": "convertToNull",
"useServerPrepStmts": true,
"noDatetimeStringSync": true,
"useCompression": true,
"log": false,
"allowMultiQueries": true,
"useLocalSessionState": true,
"cachePrepStmts": true,
"useSqlStringCache": true
},
"jdbc_hamode": null
}
配置文件参数
下表为
init_sql(初始化 SQL 语句)设置会话的参数。参数 描述 适用租户类型 默认值 names 设置字符集 Oracle/MySQL UTF-8 autocommit 设置自动提交模式为开启 Oracle/MySQL 1 ob_query_timeout 设置查询超时时间,单位为毫秒 Oracle/MySQL 300000000 ob_trx_timeout 设置事务超时时间,单位为毫秒 Oracle/MySQL 180000000 net_read_timeout 设置网络读取超时时间,单位为秒 Oracle/MySQL 86400 net_write_timeout 设置网络写入超时时间,单位为秒 Oracle/MySQL 86400 sql_select_limit 设置 SQL 查询返回结果的限制 Oracle/MySQL 9223372036854775807 nls_date_format 设置会话的日期格式 Oracle YYYY-MM-DD HH24:MI:SS nls_timestamp_format 设置会话的时间戳格式 Oracle YYYY-MM-DD HH24:MI:SS:FF9 nls_timestamp_tz_format 设置会话的时区时间戳格式 Oracle YYYY-MM-DD HH24:MI:SS.FF TZR TZD 下表为
jdbc_url_options(JDBC 连接 URL)的参数。参数 描述 适用租户类型 默认值 characterEncoding 设置字符编码 Oracle/MySQL UTF-8 socketTimeout 套接字超时时间,单位为毫秒 Oracle/MySQL 180000000 connectTimeout 连接超时时间,单位为毫秒 Oracle/MySQL 180000000 zeroDateTimeBehavior 处理零日期时间的行为 Oracle/MySQL convertToNull useServerPrepStmts 使用服务器准备语句 Oracle/MySQL true noDatetimeStringSync 禁用日期时间字符串同步 Oracle/MySQL true useCompression 启用压缩 Oracle/MySQL true log 是否记录日志 Oracle/MySQL false allowMultiQueries 允许多条查询同时执行 Oracle/MySQL true useLocalSessionState 使用本地会话状态 Oracle/MySQL true cachePrepStmts 缓存准备语句 Oracle/MySQL true useSqlStringCache 使用 SQL 字符串缓存 Oracle/MySQL true extendOracleResultSetClass 扩展 Oracle 结果集类 Oracle/MySQL true useSSL 是否使用 SSL Oracle/MySQL true disableSslHostnameVerification 禁用 SSL 主机名验证 Oracle/MySQL true trustStore 信任库文件的路径 Oracle/MySQL /truststore.jks trustStorePassword 信任库密码 Oracle/MySQL - keyStore 密钥库文件路径 Oracle/MySQL - keyStorePassword 密钥库密码 Oracle/MySQL - jdbc_hamode JDBC HA 模式配置 Oracle/MySQL - 下表为
direct_path_load(旁路导入)的参数参数 描述 适用租户类型 默认值 task_timeout_ms 设置任务的超时时间,单位为毫秒 Oracle/MySQL 2592000000 heartbeat_timeout_ms 设置心跳超时时间,单位为毫秒 Oracle/MySQL 60000 heartbeat_interval_ms 设置心跳间隔时间,单位为毫秒 Oracle/MySQL 10000