テーブルグループの重みを設定した後、業務上の必要に応じて、元の設定をクリアできます。
注意事項
テーブルグループの重みをクリアすると、テーブルグループに設定された重みが削除されます。テーブルグループ内のテーブルにテーブルレベルまたはパーティションレベルの重みが設定されている場合、システムはテーブルレベルおよびパーティションレベルの重みを保持します。
重みのクリア
ユーザーがクラスタのMySQLテナントにログインします。
接続例は以下のとおりです。データベースへの接続時は、実際の環境に準じてください。
obclient -h10.xx.xx.xx -P2883 -uroot@mysql001#obdemo -p***** -Aテーブルグループの重み情報を取得します。
obclient(root@mysql001)[test]> SELECT TABLEGROUP_NAME, WEIGHT, TABLEGROUP_ID, OBJECT_ID FROM oceanbase.DBA_OB_OBJECT_BALANCE_WEIGHT WHERE TABLEGROUP_NAME = 'TG_DB_test';クエリ結果は次のとおりです:
+-----------------+--------+---------------+-----------+ | TABLEGROUP_NAME | WEIGHT | TABLEGROUP_ID | OBJECT_ID | +-----------------+--------+---------------+-----------+ | TG_DB_test | 10 | 500007 | 500007 | +-----------------+--------+---------------+-----------+ 1 row in setテーブルグループの重みをクリアします。
テーブルグループ
TG_DB_testの重みをクリアするステートメントは以下のとおりです。obclient(root@mysql001)[test]> CALL DBMS_BALANCE.CLEAR_TABLEGROUP_BALANCE_WEIGHT('TG_DB_test');sysテナントが指定ユーザーテナントmysql001のテーブルグループの重みをクリアすることもサポートしています。ステートメントは以下のとおりです:obclient(root@sys)[(none)]> CALL DBMS_BALANCE.CLEAR_TABLEGROUP_BALANCE_WEIGHT('TG_DB_test') TENANT = 'mysql001';テーブルグループの重みをクリアした後、再度テーブルグループの重み情報を確認できます。
obclient(root@mysql001)[test]> SELECT TABLEGROUP_NAME, WEIGHT, TABLEGROUP_ID, OBJECT_ID FROM oceanbase.DBA_OB_OBJECT_BALANCE_WEIGHT WHERE TABLEGROUP_NAME = 'TG_DB_test';クエリ結果が空の場合、テーブルグループの重みが正常にクリアされたことを意味します。
次のステップ
テーブルグループの重みをクリアすると、テーブルグループ内のテーブルのパーティション分布が不均衡になる可能性があります。ユーザーができるだけ早くパーティションの均衡を実現したい場合は、DBMS_BALANCE.TRIGGER_PARTITION_BALANCE サブプログラムを呼び出して、手動でパーティションの均衡をトリガーできます。手動でパーティションの均衡をトリガーする詳細な操作については、パーティションの均衡を手動でトリガーするを参照してください。
また、ユーザーは定期的なパーティション均衡タスクのトリガーを待つこともできます。定期的なパーティション均衡タスクの詳細については、定期的なパーティション均衡タスクの設定を参照してください。