ChunkMigrationConnectionTimeout
シャーディングでは、元のシャードから新しいシャードへのデータの移行中に、特定のシャードへの接続リクエストが発生することがあります。この設定は、指定した時間内に移行が完了または失敗するまで接続リクエストを一時停止した後、リクエストされたデータを使用して正しいシャードに接続します。
宣言
// C# public int ChunkMigrationConnectionTimeout {get;set;}
プロパティ値
プールされた接続リクエストがチャンク移行または特定のチャンクのパーティションセット分割を待機して一時停止する最大時間(秒)。
備考
データが新しいシャードに移行している間、またはパーティションセット分割操作によって新しいシャードに分割されて移動している間に、特定のシャード接続リクエストが発生した場合は、この設定により、指定された時間内にデータ移行が完了するか失敗するまで接続リクエストが一時停止します。その後、要求されたデータがある正しいシャードに接続します。
デフォルトは120秒です。この設定では、接続プーリングを有効にする必要があります。
ODP.NETは、プール作成時にのみチャンク移行接続タイムアウト設定を読み取ります。新しいタイムアウト設定は、新しいプールが作成されるまで使用されません。
この設定は、次の場合に有効です
-
書込みアクセスが必要で、チャンクが読取り専用の場合、または
-
チャンク移行中またはパーティションセット分割中にチャンクが読み取れなくなる場合。
接続に読取り専用アクセスのみが必要な場合は、チャンクが使用不可になるまでこの設定は使用されません。
接続に書込みアクセスが必要で、チャンク移行の接続タイムアウトが期限切れになるまでにチャンクが書込み可能または使用可能になっていない場合は、新しい接続が作成されます。接続を作成できない場合は、OracleException
が発生します。
チャンク移行中またはパーティションセット分割中、ODP.NET接続リクエストはチャンク移行接続タイムアウトにのみ従います。他のすべての接続タイムアウト値(OracleConnection.ConnectionTimeout
など)は無視されます。
ODP.NETチャンク移行接続タイムアウトは、チャンク移動サーバー・タイムアウトより大きい値に設定することをお薦めします。このサーバー・タイムアウトを設定する1つの方法として、Global Data Services制御ユーティリティ(GDSCTL)のmove chunk
コマンドのtimeoutオプションを使用する方法があります。このサーバー側のタイムアウトは、チャンク移行にのみ適用され、パーティションセット分割には適用されません。
OracleConnection
ChunkMigrationConnectionTimeout
プロパティは、OracleConfiguration
ChunkMigrationConnectionTimeout
プロパティを継承します。OracleConnection
プロパティを個別に設定して、OracleConfiguration
クラスに設定されたプロパティをオーバーライドできます。