6.5.3. Debezium Oracle コネクター設定プロパティーの説明
Debezium Oracle コネクターには、アプリケーションに適したコネクター動作を実現するために使用できる設定プロパティーが多数あります。多くのプロパティーにはデフォルト値があります。プロパティーに関する情報は、以下のように構成されています。
- 必要な Debezium Oracle コネクター設定プロパティー
Debezium がデータベース履歴トピックから読み取るイベントを処理する方法を制御する データベース履歴コネクター設定プロパティー
- データベースドライバーの動作を制御する パススルーデータベースドライバープロパティー
必要な Debezium Oracle コネクター設定プロパティー
以下の設定プロパティーは、デフォルト値がない場合は必須です。
プロパティー | デフォルト | 説明 |
デフォルトなし | コネクターの一意名。同じ名前で再登録を試みると失敗します。(このプロパティーはすべての Kafka Connect コネクターに必要です) | |
デフォルトなし |
コネクターの Java クラスの名前。Oracle コネクターには、常に | |
| このコネクターのために作成する必要のあるタスクの最大数。Oracle コネクターは常に単一のタスクを使用するため、この値を使用しません。そのため、デフォルト値は常に許容されます。 | |
デフォルトなし | Oracle データベースサーバーの IP アドレスまたはホスト名。 | |
デフォルトなし | Oracle データベースサーバーのポート番号 (整数)。 | |
デフォルトなし | Oracle データベースサーバーに接続するためにコネクターが使用する Oracle ユーザーアカウントの名前。 | |
デフォルトなし | Oracle データベースサーバーへの接続時に使用するパスワード。 | |
デフォルトなし | 接続するデータベースの名前。CDB + PDB モデルと連携する際に CDB 名である必要があります。 | |
デフォルトなし | 未処理のデータベースの JDBC URL を指定します。このプロパティーを使用すると、データベース接続を柔軟に定義できます。有効な値には、未処理の TNS 名および RAC 接続文字列が含まれます。 | |
デフォルトなし | 接続する Oracle のプラグ可能なデータベースの名前。このプロパティーは、コンテナーデータベース (CDB) インストールにのみ使用してください。 | |
デフォルトなし | コネクターが変更をキャプチャーする Oracle データベースサーバーの namespace を識別および提供する論理名。設定した値は、コネクターが出力するすべての Kafka トピック名のプレフィックスとして使用されます。Debezium 環境のすべてのコネクターで一意となる論理名を指定します。英数字、ハイフン、およびアンダースコアが有効な文字です。 | |
| データベースの変更をストリーミングするときにコネクターが使用するアダプター実装。以下の値を設定できます。
| |
Initial | コネクターがキャプチャーされたテーブルのスナップショットを取得するために使用するモードを指定します。以下の値を設定できます。
スナップショットの完了後、コネクターはデータベースのやり直し (redo) ログから変更イベントの読み取りを続行します。 | |
デフォルトなし |
スナップショットに含めるテーブル行を指定します。 | |
デフォルトなし |
変更をキャプチャーする対象とするスキーマの名前と一致する正規表現のコンマ区切りリスト (任意)。schema. | |
デフォルトなし |
変更をキャプチャーする対象としないスキーマの名前と一致する正規表現のコンマ区切りリスト (任意)。システムスキーマを除いて、名前が | |
デフォルトなし |
監視するテーブルの完全修飾テーブル識別子と一致する正規表現の任意のコンマ区切りリスト。包含リストに含まれていないテーブルは、監視から除外されます。各識別子の形式は | |
デフォルトなし |
監視から除外するテーブルの完全修飾テーブル識別子と一致する正規表現の任意のコンマ区切りリスト。コネクターは、除外リストで指定されていないすべてのテーブルから変更イベントをキャプチャーします。 | |
デフォルトなし |
変更イベントメッセージの値に含める列の完全修飾名と一致する正規表現のコンマ区切りリスト (任意)。列の完全修飾名の形式は | |
デフォルトなし |
変更イベントメッセージの値から除外する列の完全修飾名と一致する正規表現のコンマ区切りリスト (任意)。列の完全修飾名の形式は | |
デフォルトなし |
文字ベースの列の完全修飾名と一致する正規表現のコンマ区切りリスト (任意)。列の完全修飾名の形式は pdbName.schemaName.tableName.columnName.です。生成される変更イベントレコードでは、指定された列の値は仮名に置き換えられます。
仮名は、指定された hashAlgorithm と salt を適用すると得られるハッシュ化された値で構成されます。使用されるハッシュ関数に基づいて、参照整合性は維持され、列値は仮名に置き換えられます。サポートされるハッシュ関数は、Java Cryptography Architecture Standard Algorithm Name Documentationの MessageDigest section に説明されています。 column.mask.hash.SHA-256.with.salt.CzQMA0cB5K = inventory.orders.customerName, inventory.shipment.customerName
必要な場合は、仮名は自動的に列の長さに短縮されます。コネクター設定には、異なるハッシュアルゴリズムと salt を指定する複数のプロパティーを含めることができます。 | |
|
コネクターが
| |
| イベントの処理中にコネクターが例外に対応する方法を指定します。以下のオプションのいずれかを設定することができます。
| |
|
ブロッキングキューの最大サイズを指定する正の整数値。データベースログから読み取られた変更イベントは、Kafka に書き込まれる前にブロッキングキューに配置されます。このキューは、Kafka への書き込みが遅い場合や Kafka が利用できない場合などに、binlog リーダーにバックプレシャーを提供できます。キューに表示されるイベントは、コネクターが定期的に記録するオフセットには含まれません。 | |
| このコネクターの各反復中に処理するイベントの各バッチの最大サイズを指定する正の整数値。 | |
| ブロッキングキューの最大サイズ (バイト単位) の long 値。この機能を有効にするには、値を正の long データ型に設定します。 | |
| 各反復処理の実行中に新しい変更イベントが表示されるまでコネクターが待機する時間 (ミリ秒単位) を指定する正の整数値。 | |
| 削除 イベントの後に廃棄 (tombstone) イベントが続くかどうかを制御します。以下の値を使用できます。
ソースレコードの削除後に廃棄 (tombstone) イベントを出力すると (デフォルト動作)、Kafka は ログコンパクション が有効なトピックの削除された行のキーを共有するすべてのイベントを完全に削除できます。 | |
デフォルトなし |
プライマリーキーをマップする完全修飾テーブルおよび列と一致する正規表現のセミコロン区切りリスト。 | |
デフォルトなし |
長さが指定された文字数より長い場合に、変更イベントメッセージで省略する文字ベースの列の完全修飾名と一致する正規表現のコンマ区切りリスト (任意)。長さは正の整数として指定されます。設定には、異なる長さを指定する複数のプロパティーを含めることができます。 | |
デフォルトなし |
文字をアスタリスク( | |
デフォルトなし |
出力された変更メッセージの該当するフィールドスキーマに元の型および長さをパラメーターとして追加する必要がある列の完全修飾名と一致する、正規表現のコンマ区切りリスト (任意)。スキーマパラメーター | |
デフォルトなし |
出力された変更メッセージフィールドスキーマに元の型および長さをパラメーターとして追加する必要がある列のデータベース固有のデータ型名と一致する、正規表現のコンマ区切りリスト (任意)。スキーマパラメーター | |
|
コネクターがメッセージをハートビートトピックに送信する頻度をミリ秒単位で指定します。 | |
|
コネクターがハートビートメッセージを送信するトピック名のプレフィックスの文字列を指定します。 | |
デフォルトなし |
コネクターが起動してからスナップショットを取得するまで待機する間隔をミリ秒単位で指定します。 | |
| スナップショットの実行中に各テーブルから 1 度に読み取る必要がある行の最大数を指定します。コネクターは、指定したサイズの複数のバッチでテーブルの内容を読み取ります。 | |
コネクター設定が、 | Avro の命名要件に準拠するためにフィールド名を正規化するかどうかを指定します。詳しい情報は、Avro naming を参照してください。 | |
|
トランザクション境界でイベントを生成し、トランザクションメタデータでデータイベントエンベロープをエンリッチする場合は、プロパティーを 詳細は、「 トランザクションメタデータ 」を参照してください。 | |
|
mining ストラテジーは、テーブルと列 ID を名前に解決するために Oracle LogMiner が特定のデータディクショナリーをビルドし、使用する方法を制御します。 | |
| このコネクターが redo/アーカイブログから読み取りを試みる最小 SCN 間隔サイズ。また、必要に応じてコネクターのスループットを調整するため、アクティブなバッチサイズもこの値によって増加/減少します。 | |
| このコネクターが redo/アーカイブログから読み取る際に使用する最大 SCN 間隔サイズ。 | |
| コネクターが redo/アーカイブログからデータを読み取るために使用する初期 SCN 間隔サイズ。 | |
| コネクターが redo/アーカイブログからデータを読み取った後に再びデータの読み取りを開始するまでスリープする最小の時間。値はミリ秒単位です。 | |
| コネクターが redo/アーカイブログからデータを読み取った後に再びデータの読み取りを開始するまでスリープする最大の時間。値はミリ秒単位です。 | |
| コネクターが redo/アーカイブログからデータを読み取った後に再びデータの読み取りを開始するまでスリープする初期の時間。値はミリ秒単位です。 | |
| logminer からデータを読み取るときに、コネクターが最適なスリープ時間を調整するために使用する最大の増減時間。値はミリ秒単位です。 | |
| コネクターが LogMiner コンテンツビューから取得するコンテンツレコードの数。 | |
|
アーカイブログをマイニングするための、SYSDATE からの過去の時間数。デフォルト設定( | |
|
redo ログスイッチ間で長時間実行されるトランザクションを保持する時間を指定する正の整数値。 LogMiner アダプターは、実行中のすべてのトランザクションのメモリー内バッファーを維持します。トランザクションの一部となるすべての DML 操作は、コミットまたはロールバックが検出されるまでバッファーされるため、そのバッファーがオーバーフローしないように長時間実行されるトランザクションを回避する必要があります。設定されたこの値を超えるトランザクションは完全に破棄され、コネクターはトランザクションに含まれていた操作のメッセージを出力しません。 | |
デフォルトなし | Oracle Real Application Clusters (RAC) ノードのホスト名またはアドレスのコンマ区切りリスト。このフィールドは、Oracle RAC との使用を有効化するために必要です。 |
Debezium コネクターデータベース履歴設定プロパティー
Debezium では、コネクターがスキーマ履歴トピックと対話する方法を制御する database.history.*
プロパティーのセットを提供します。
以下の表は、Debezium コネクターを設定するための database.history
プロパティーについて説明しています。
プロパティー | デフォルト | 説明 |
---|---|---|
コネクターがデータベーススキーマの履歴を保存する Kafka トピックの完全名。 | ||
Kafka クラスターへの最初の接続を確立するために コネクターが使用するホストとポートのペアの一覧。このコネクションは、コネクターによって以前に保存されたデータベーススキーマ履歴の取得や、ソースデータベースから読み取られる各 DDL ステートメントの書き込みに使用されます。各ペアは、Kafka Connect プロセスによって使用される同じ Kafka クラスターを示す必要があります。 | ||
| 永続化されたデータのポーリングが行われている間にコネクターが起動/回復を待つ最大時間 (ミリ秒単位) を指定する整数値。デフォルトは 100 ミリ秒です。 | |
|
エラーでコネクターのリカバリーが失敗する前に、コネクターが永続化された履歴データの読み取りを試行する最大回数。データを受信しなかった後に待機する最大時間は recovery. | |
|
コネクターが不正または不明なデータベースのステートメントを無視するかどうか、または人が問題を修正するために処理を停止するかどうかを指定するブール値。安全なデフォルトは | |
今後のリリースで削除される予定です |
|
コネクターがすべての DDL ステートメントを記録するかどうかを指定するブール値。
安全なデフォルトは |
|
コネクターがすべての DDL ステートメントを記録するかどうかを指定するブール値。
安全なデフォルトは |
プロデューサーおよびコンシューマークライアントを設定するためのパススルーデータベース履歴プロパティー
Debezium は Kafka プロデューサーを使用して、データベース履歴トピックにスキーマ変更を書き込みます。同様に、コネクターの起動時に、Kafka コンシューマーを使用してデータベース履歴トピックから読み取ります。database.history. producer.* および
プレフィックスで始まるパススルー設定プロパティーのセットに値を割り当てて、Kafka プロデューサーおよびコンシューマークライアントの設定を定義します。パススループロデューサーおよびコンシューマーデータベース履歴プロパティーは、以下の例のようにこれらのクライアントが Kafka ブローカーとの接続をセキュリティー保護する方法など、さまざまな動作を制御します。
database.history.consumer.*
database.history.producer.security.protocol=SSL database.history.producer.ssl.keystore.location=/var/private/ssl/kafka.server.keystore.jks database.history.producer.ssl.keystore.password=test1234 database.history.producer.ssl.truststore.location=/var/private/ssl/kafka.server.truststore.jks database.history.producer.ssl.truststore.password=test1234 database.history.producer.ssl.key.password=test1234 database.history.consumer.security.protocol=SSL database.history.consumer.ssl.keystore.location=/var/private/ssl/kafka.server.keystore.jks database.history.consumer.ssl.keystore.password=test1234 database.history.consumer.ssl.truststore.location=/var/private/ssl/kafka.server.truststore.jks database.history.consumer.ssl.truststore.password=test1234 database.history.consumer.ssl.key.password=test1234
Debezium は、プロパティーを Kafka クライアントに渡す前に、プロパティー名から接頭辞を取り除きます。
Kafka プロデューサー設定プロパティー および Kafka コンシューマー設定プロパティー の詳細は、Kafka のドキュメントを参照してください。
Debezium コネクターパススルーデータベースドライバー設定プロパティー
Debezium コネクターは、データベースドライバーのパススルー設定を提供します。パススルーデータベースプロパティーは、プレフィックス database.*
で始まります。たとえば、コネクターは database.foobar=false
などのプロパティーを JDBC URL に渡します。
データベース履歴クライアントのパススループロパティー の場合と同様に、Debezium はプロパティーからプレフィックスを取り除き、データベースドライバーに渡します。