TRIGGER_PARTITION_BALANCEは、パーティションの自動バランシングを手動でトリガーするために使用されます。
構文
DBMS_BALANCE.TRIGGER_PARTITION_BALANCE(balance_timeout BINARY_INTEGER DEFAULT NULL);
パラメータ説明
balance_timeoutパラメータは秒単位で、バックグラウンドのバランシングタスクのタイムアウト時間を制御します。
注意事項
- このシステムパッケージはユーザーテナントでのみ呼び出し可能です。sysテナントからの呼び出しは、
OB_OP_NOT_ALLOWエラーが発生します。 - テナントレベルの構成パラメータ
enable_rebalanceまたはenable_transferが無効な場合、OB_OP_NOT_ALLOWエラーが発生し、手動でのパーティションバランシングのトリガーは許可されません。 - 他のバランシングタスクが実行中の場合、
OB_OP_NOT_ALLOWエラーが発生します。現在のバランシングタスクが完了するまで待機してください。 - 現在のテナントで既にパーティションのバランシングが行われている場合、
OB_PARTITION_ALREADY_BALANCEDエラーが発生します。
例
パーティションのバランシングを1回トリガーします。バックグラウンドのバランシングタスクにタイムアウト時間はなく、終了するまで続行されます。
obclient> BEGIN DBMS_BALANCE.TRIGGER_PARTITION_BALANCE(); END;パーティションのバランシングをトリガーした後、バックグラウンドのバランシングタスクは最大2時間実行されます。終了しない場合はタイムアウトしてキャンセルされます。
obclient> BEGIN DBMS_BALANCE.TRIGGER_PARTITION_BALANCE(7200); END;