---
title: "Oracle Store | OceanBase 文档中心"
description: Oracle Store 注意： Store 使用时，所有配置项都在 deliver2store section 下，配置项名称前面加上 logminer. （除特殊说明） 例如， oracle.url 为 logminer.oracle.url 。 如果直接使用 Logminer Reader 插件，则无需关心在哪…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*L03BS6f-o40AAAAAAAAAAAAADiGDAQ/original) 迁移服务 OMSV 3.3.1 企业版

# Oracle Store

更新时间：2023-06-08 10:50:48

> **注意：**
>
>  
>
> - Store 使用时，所有配置项都在 deliver2store section 下，配置项名称前面加上 `logminer.`（除特殊说明） 例如，`oracle.url` 为 `logminer.oracle.url`。
>  - 如果直接使用 Logminer Reader 插件，则无需关心在哪个 section 下，前面也无需加 `logminer.`。

| 参数 | 是否必填 | 默认值 | 描述 |
| --- | --- | --- | --- |
| back_query_retry_times | 否 | 1 | 回查未查到，重试次数。 |
| connect_task_queue_size | 否 | 20000 | Connector task 中的 queue 大小。 |
| connect_timeout_ms | 否 | 30000 | 连接 Oracle 的超时时间。 |
| convert_to_source_record_thread_num | 否 | 6 | 增量 Record 向外吐出转换时，Converter 的并发个数。 |
| enable_check_ddl_cause_row_move | 否 | true | 是否启用检查 DDL 是否引起了行移动。 |
| enable_flashback_query | 否 | true | 是否启用 flashback query 功能。启用后回查时是根据日志的 scn 查询历史时刻的值，否则回查是查询当前时刻的值。 |
| enable_nopk_table_update_change_to_delete_plus_insert | 否 | true | 遇到无主键表时，是否转换 `update` 操作为一条 `delete` 和一条 `insert` 操作。 |
| enable_replace_null | 否 | true | 与 `replace_null_string` 结合使用，遇到有非空约束的列，分析到的数据为空时，是否将该空值替换为 `replace_null_string` 中配置的值。 |
| enable_skip_revise_valid_rowid_exception | 否 | false | 是否跳过修正 rowid 引起的异常。 |
| enable_stage_queue_compression | 否 | false | 预拉取的归档文件在本地磁盘暂存时是否压缩。建议设置为 true 打开，压缩后的文件大小与归档日志本身的大小差不多。如果不压缩，会有比较大的容量放大，会消耗磁盘空间占用。 |
| fetch_arch_logs_max_parallelism_per_instance | 否 | 1 | 一个 `instance(thread)` 上可以并发拉取归档日志的数量，默认为 1。大于 1 时会预拉取，用于增加拉取性能，预拉取的归档日志会暂存在本地磁盘文件。 |
| fetch_log_size | 否 | 10000 | 拉取日志中 PreparedStatement 的 setFetchSize，会影响拉取的速度。 |
| fetch_online_log_interval_seconds | 否 | 5 | 设置分析在线日志的间隔时间。 |
| full_table_name_black_list | 是，可为空 | 无 | 全名黑名单列表，表名需要是全路径的。支持两段式 `database.table` 和三段式 `tenant.database.table`，但需要统一。对于每一段指定为全名称或 `*`，不支持正则。多张表之间通过 \| 相连。白名单允许为 `*.*`，黑名单不允许 `.` 前面一段指定的是 `*`，则后面的也必须是 `.*`。例如不允许 `*.table1`。 |
| full_table_name_white_list | 是 | 无 | 全名白名单列表，表名需要是全路径的。支持两段式 `database.table` 和三段式 `tenant.database.table`，但需要统一。对于每一段指定为全名称或`*`，不支持正则。多张表之间通过 \| 相连。白名单允许为 `*.*`，黑名单不允许 . 前面一段指定的是 `*`，则后面的也必须是 `.*`。例如不允许 `*.table1`。 |
| ignore_error_code | 否 | 空 | 查询 record 时，指定忽略哪些 Oracle 错误码，多个之间使用 \| 分隔。 |
| init_connection_size | 否 | 10 | 初始连接数。 |
| load_dictionary_thread_num | 否 | 16 | 启动时获取元信息的并发线程数，每个 Schema 一个任务。 |
| log_after_select_queue_size | 否 | 20000 | 回查阶段处理完后的队列大小，用于排查 pipeline 中的瓶颈。 |
| log_aggregator_queue_size | 否 | 20000 | aggregation 阶段的 queue 大小。 |
| log_analyse_queue_size | 否 | 20000 | analyse 阶段的 queue 大小。 |
| log_converter_queue_size | 否 | 20000 | converter 阶段的 queue 大小。 |
| log_entry_queue_size | 否 | 20000 | fetch 阶段的 queue 大小。 |
| master.timestamp | 是 | 无 | 指定拉取日志的起始时间戳。Store 使用时单位为秒，配置项名称前无需加 `logminer.`。直接使用 Logminer Reader 时，单位为毫秒。 无论是新启动还是重启，都使用该值作为起始拉取位点，单位为毫秒。消费 logminer-reader 的增量数据时，需要对最后消费一个事务的 committed timestamp 进行 checkpoint，重启恢复时传入上一次 checkpoint 的值。 |
| max_actively_staged_arch_logs_per_instance | 否 | Integer.MAX_VALUE | 一个 `instance(thread)` 上最多允许在本地磁盘暂存的并行拉取的归档文件的数量，达到该值后会暂停预拉取。该配置主要用于控制磁盘空间占用。暂存文件数实际会使用的值为 `Math.max(fetch_arch_logs_max_parallelism_per_instance, max_actively_staged_arch_logs_per_instance)`。 |
| max_connection_size | 否 | 无，可为空 | 该参数为空时自动计算，计算规则为 `max(load_dictionary_thread_num, selector_thread_num) + 4`。 |
| max_num_in_memory_one_transaction | 否 | 1000 | 一个事务最多可以存放在内存的日志记录数量。如果超过设置的值，日志记录会暂存至磁盘。 该参数用于解决大事务问题。 |
| max_wait_ms | 否 | 180000 | Oracle 连接的最大等待毫秒数。 |
| only_fetch_archived_log | 否 | false | 是否仅拉取归档日志。 |
| oracle.password | 是 | 无 | 用于抓取日志的用户名对应的密码。 |
| oracle.url | 是 | 无 | 需要抓取日志的 Oracle 数据库的 `ip:port` 或 `service_name`。如果是 PDB 数据库，则填写 PDB 的 `service_name`。 |
| oracle.user | 是 | 无 | 用于抓取日志的用户名。如果是 PDB 数据库，需要是 `common user`。 |
| output_rowid | 否 | false | 是否输出 ROWID。包含无主键表时，用户可以根据获得的 ROWID 去重。 |
| print_data | 否 | false | 是否打印拉取的日志，用于问题排查。 |
| read_timeout_ms | 否 | 180000 | Oracle 连接上的 read timeout。 |
| read_timeout_retry_times | 否 | 10 | 查询 Oracle 时异常的重试次数。 |
| replace_invalid_date | 否 | false | 遇到无法解析的 DATE 类型时，是否将其转换为落日志时的时间，以确保 `logminier reader` 能够继续运行。 |
| replace_null_string | 否 | " " | 需要替换空值的值，默认为一个空格。 |
| replace_rowids | 否 | 空 | 是否启动将指定 ROWID 替换为另一个值，格式为 `before1:after1\|before2:after2`。 |
| selector_thread_num | 否 | 32 | 回查线程数。INSERT LOB 和 UPDATE 需要回查，调整该参数可以提高 INSERT LOB 和 UPDATE 的处理速度。一个回查线程需要一个连接。 |
| session_timezone | 否 | Asia/Shanghai | `timestamp with local time zone` 类型根据哪个时区吐出字符串。需要和 Writer 的 `timezone` 参数匹配。 |
| skip_records | 否 | 空 | 是否跳过包含有指定字符串的记录，多个之间使用 \| 分隔。 |
| skip_transactions | 否 | 空 | 是否跳过指定 transid 的事物，多个之间使用 \| 分隔。 |
| sql_in_clause_max_parameter_num | 否 | 200 | 查询元信息时，用到 IN clause 时，一次最多查询多少张表。 |
| stage_queue_directory | 否 | 进程当前工作路径 | 预拉取的归档文件暂存目录，默认为进程当前工作路径。 |
| start_timestamp_backoff_seconds | 否 | 300 | 抓取的起始时间以断点时间后退多少秒开始。 |
| use_independent_fetcher_per_instance | 否 | false | 是否对数据库中的各个 `instance(thread)` 产生的事务日志使用独立的 fetcher 模块进行拉取，默认为 `false`。   - 取值为 `false` 时，使用之前 1.x 的合并拉取架构，最多支持 3 个 instance 组成的 RAC 集群，并且无法支持前述变更内容中红色高亮标注的特性。 - 取值为 true 时，使用新的各 instance 独立拉取的架构，支持任意 instance 数目组成的 RAC 集群，也支持一个 instance 组成的非 RAC 架构。 - 仅配置为 true 时，`fetch_arch_logs_max_parallelism_per_instance`、`max_actively_staged_arch_logs_per_instance`、`enable_stage_queue_compression` 和 `stage_queue_directory` 才有效。 |
| use_system_exit | 否 | true | 是否使用 `System.exit`。 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
