OceanBaseデータベースでは、システム変数 recyclebin を使用してごみ箱の有効化と無効化を制御します。デフォルトではごみ箱は無効な状態です。ごみ箱機能を有効にすると、データベースオブジェクトやテナントに対してDrop操作を実行すると、そのオブジェクトやテナントはごみ箱に移動します。
背景
OceanBaseデータベースのシステム変数は、グローバル変数とセッション変数に分類されます。ゴミ箱を有効または無効にする際には、必要に応じて適切な設定方法を選択できます。
グローバル変数:グローバルレベルでの変更を示します。データベース内の同一テナント内の異なるユーザー間でグローバル変数は共有されます。グローバル変数の変更は、セッションの終了によって無効になることはありません。ただし、グローバル変数を変更しても、その変更は現在開いているセッションには反映されません。変更を有効にするには、新しいセッションを確立する必要があります。
セッション変数:セッションレベルでの変更を示します。クライアントがデータベースに接続すると、データベースはグローバル変数をコピーして自動的にセッション変数を生成します。セッション変数の変更は、現在のセッション内でのみ有効です。
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はBool型の変数であるため、複数の値をサポートしています。具体的には:on、1、またはtrue:ごみ箱が有効であることを示します。off、0、またはfalse:ごみ箱が無効であることを示します。テナント全体(Global)でごみ箱を有効または無効にする
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)でごみ箱を有効または無効にする
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;
関連ドキュメント
ごみ箱に関するその他の情報については、以下を参照してください: