BladePipe 1.7.0: Stronger alerts, Broader DB support, Faster KingbaseES scanning.
跳到主要内容

Oracle to ClickHouse

BladePipe supports data replication from Oracle to ClickHouse. View supported migration, sync, verification, and connector capabilities.

Target DataSource:

Connection

Basic Functions

FunctionDescription
Schema Migration

If the target schema does not exist, BladePipe will automatically generate and execute CREATE statements based on the source metadata and the mapping rule.

Full Data Migration

Migrate data by sequentially scanning data in tables and writing it in batches to the target database.

Incremental Data Sync

Sync of common DML like INSERT, UPDATE, DELETE is supported.

Data Verification

Verify all existing data. Scheduled DataTasks are supported.
For more information, see Create Verification and Correction DataJob.

Subscription Modification

Add, delete, or modify the subscribed tables with support for historical data migration. For more information, see Modify Subscription.

Position Resetting

Reset the position by timestamp or Scn to consume Oracle Redo Log in a past period again.

Table Name Mapping

Support the mapping rules, namely, keeping the name the same as that in Source, converting the text to lowercase, converting the text to uppercase, truncating the name by "_digit" suffix.

DDL Sync
  • ALTER TABLE ADD, MODIFY, DROP COLUMN
    - TRUNCATE TABLE
Metadata Retrieval

Retrieve the target metadata with filtering conditions from the source table.

Advanced Functions

FunctionDescription
Automatic Dictionary Creation

When using offline dictionaries to parse Oracle Redo files, the dictionary is automatically created during DataJob creation.

Write in Append Mode

INSERT and UPDATE statements are written in batches in append mode, and DELETE statements are executed individually through ALTER statements.

Scheduled Table Optimization

By setting the parameter autoOptimizeThresholdSec, the tables are optimized regularly.

Custom Code

For more information, see Custom Code Processing, Debug Custom Code and Logging in Custom Code.

Setting Target Primary Key

Change the primary key to another field to facilitate data aggregation and other operations.

Data Filtering Conditions

Support data filtering using WHERE conditions, with SQL-92 as the SQL language. For more information, see Data Filtering.

Limits

LimitDescription
Incremental Data Sync Performance

Due to LogMiner performance limits and BladePipe's lack of parallel analysis, the performance benchmark is set at 3000 records per second.

Data Types

Do not support BLOB and derived types.

Special Operation

Too many DELETE operations (>50 records/second) significantly affect data synchronization performance.

Target Table Engine

Only the following table engines and corresponding source table types are supported:

  • MergeTree(tables without primary keys)
  • ReplacingMergeTree(tables with primary keys)
  • ReplicatedMergeTree(tables without primary keys)
  • ReplicatedReplacingMergeTree(tables with primary keys)

Examples

TitleDetails
Oracle to ClickHouse Data Migration and Synchronization

See Synchronize Data from Oracle to ClickHouse


Source

Prerequisites

PrerequisiteDescription
Permissions for Account

See Permissions Required for Oracle.

Incremental Data Sync Preparation

See Preparation for Oracle LogMiner.

Port Preparation

Allow the migration and sync node (Worker) to connect to the Oracle port (e.g., 1521).

Parameters

ParameterDescription
fullFetchSize

Fetch size for scaning full data.

eventStoreSize

Cache size for parsed incremental events.

logminerUser

User name for connection to Oracle to execute LogMiner SQL.

logminerPasswd

Password for connection to Oracle to execute LogMiner SQL.

logminerConnectType

Way to connect to Oracle (PDB) to execute LogMiner SQL, including ORACLE_SID and ORACLE_SERVICE options.

logminerSidOrService

SID or service name for connection to Oracle (PDB) to execute LogMiner SQL.

parseRedoSqlParallel

Number of threads for parallel parsing of LogMiner data.

parseRedoSqlBufferSize

Size of the circular buffer for parsing LogMiner data.

redoFetchSize

Number of rows of LogMiner analyzed data to fetch each time.

redoOfferTransMaxSize

Maximum number of unconsumed but committed transactions in cache.

oraMiningSessionPauseSec

Interval between LogMiner sessions, in seconds.

maxEventCountPerTxInMem

Maximum number of events per transaction in memory.

logMiningScnStep

Analysis range specified when Oracle LogMiner analyzes redo logs.

abandonUnCommitTxTimeoutSec

Automatically abandon transactions that have not been committed for longer than the specified timeout.

restartTxWithDataTimeoutSec

Automatically restart DataJobs for transactions with data changes that have not been committed for longer than the specified timeout.

oraUseOnlineDic

Whether to use online logs; false means using offline logs, which may put more stress on Oracle.

oraReleaseIntervalSec

Interval for recreating connection for analysis to release Oracle server resources.

oraMiningSessionPauseSec

Interval between execution of LogMiner commands for analysis.

fallBackScnStep

Distance to keep from the latest Redo log data; 0 means to keep right behind the latest Redo log data.

sqlCaseConversionEnabled

Whether to enable DDL case conversion (according to the default case rules of the current database).

Tips: To modify the general parameters, see General Parameters and Functions.


Target

Prerequisites

PrerequisiteDescription
Permissions for Account

SELECT, INSERT and common DDL permissions.

Port Preparation

Allow the migration and sync node (Worker) to connect to the ClickHouse port (e.g., 8123).

Parameters

ParameterDescription
multiReplica

Whether there are multiple replicas in a cluster.

clusterName

Cluster name. When multiReplica is true, the ON CLUSTER clusterName clause is automatically added to DDL/DML.

ckTableEngine

The following table engines are currently supported:

  • MergeTree
  • ReplacingMergeTree
  • ReplicatedMergeTree
  • ReplicatedReplacingMergeTree
autoOptimizeThresholdSec

Interval of scheduled table optimization (optimize table final). If the value <=0, it means the feature is disabled.

enableTimeRangeClamping

Whether to enable time range clamping. Forces date and time values to be constrained within the valid ClickHouse JDBC range. Values outside this range will be clamped to the minimum or maximum values. Disabled by default (false).

Ranges after clamping(UTC):

  • Date:[1970-01-01, 2149-06-06]
  • Date32:[1925-01-01, 2283-11-11]
  • Timestamp:[1970-01-01 00:00:00, 2106-02-07 14:28:15]
  • Timestamp64:[1925-01-01 08:00:00.000, 2283-11-12 07:59:59.000]

Tips: To modify the general parameters, see General Parameters and Functions.