OceanBaseデータベースでは、システム変数recyclebinを使用してごみ箱の有効化と無効化を制御します。デフォルトではごみ箱は無効になっています。ごみ箱機能が有効になっている場合、特定のデータベースオブジェクトまたはテナントに対してDrop操作を実行すると、そのオブジェクトまたはテナントはごみ箱に移動します。
背景
OceanBaseデータベースのシステム変数は、グローバル変数とセッション変数に分かれます。ゴミ箱を開始または停止する際には、必要に応じて適切な設定方法を選択できます。
グローバル変数:Globalレベルの変更を示し、データベース内の同一テナント内の異なるユーザーがグローバル変数を共有します。グローバル変数の変更は、セッションの終了によって無効になることはありません。さらに、グローバル変数の変更は現在開いているセッションには反映されず、新たにセッションを再確立する必要があります。
セッション変数:Sessionレベルの変更を示します。クライアントがデータベースに接続すると、データベースはグローバル変数をコピーして自動的にSession変数を生成します。Session変数の変更は、現在のSessionにのみ有効です。
OceanBaseデータベースでは、sysテナントとユーザーテナントが管理できるゴミ箱オブジェクトは以下のとおりです。
sysテナントでゴミ箱が有効になると、管理できるゴミ箱オブジェクトにはデータベース、テーブル、インデックス、およびテナントが含まれます。MySQLユーザーテナントでゴミ箱が有効になると、管理できるゴミ箱オブジェクトにはデータベース、テーブル、およびインデックスが含まれます。
Oracleユーザーテナントでゴミ箱が有効になると、管理できるゴミ箱オブジェクトにはテーブルとインデックスが含まれます。
操作手順
sysテナントまたはユーザーテナントのテナント管理者としてデータベースにログインします。説明
MySQLテナントの管理者ユーザーは
rootユーザー、Oracleテナントの管理者ユーザーはSYSユーザーです。接続例は以下のとおりです。データベースへの接続時は、実際の環境に基づいてください。
obclient -h10.xx.xx.xx -P2883 -uroot@sys#obdemo -p***** -Aデータベースへの接続方法の詳細については、データベース接続の概要(MySQLモード)およびデータベース接続の概要(Oracleモード)を参照してください。
以下のステートメントを実行して、ごみ箱の状態を確認します。
obclient [(none)]> SHOW VARIABLES LIKE 'recyclebin'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | recyclebin | ON | +---------------+-------+ 1 row in setビジネスニーズに応じて、適切な方法でごみ箱機能を有効または無効にします。
変数
recyclebinはBoolean型の変数であるため、複数の値をサポートしています。その中で:on、1、またはtrue:ごみ箱を有効にすることを示します。off、0、またはfalse:ごみ箱を無効にすることを示します。テナント全体(Global)でごみ箱を有効または無効にする
グローバル設定はテナント全体で有効になります。設定後、現在のセッションには無効であり、再ログインして新しいセッションを確立した場合にのみ有効になります。
ステートメントは次のとおりです:
obclient [(none)]> SET GLOBAL recyclebin = on; obclient [(none)]> SET GLOBAL recyclebin = off;または
obclient [(none)]> SET GLOBAL recyclebin = 1; obclient [(none)]> SET GLOBAL recyclebin = 0;または
obclient [(none)]> SET GLOBAL recyclebin = true; obclient [(none)]> SET GLOBAL recyclebin = false;現在のセッション(Session)でごみ箱を有効または無効にする
セッション設定は現在のセッションにのみ有効です。
obclient [(none)]> SET @@recyclebin = on; obclient [(none)]> SET @@recyclebin = off;または
obclient [(none)]> SET @@recyclebin = 1; obclient [(none)]> SET @@recyclebin = 0;または
obclient [(none)]> SET @@recyclebin = true; obclient [(none)]> SET @@recyclebin = false;
関連ドキュメント
ごみ箱に関する詳細は、以下のドキュメントを参照してください: