ユーザーテナントは、一般的なデータベース管理システムに相当し、データベースインスタンスと見なすことができます。システムテナントがビジネスニーズに応じて作成します。 ユーザーテナントは、インスタンスが備えるべきすべての特性を有しており、主なものは以下の通りです:
- 自身のユーザーを作成できる
- データベース(database、MySQL互換モードのみサポート)、テーブル(table)など、すべてのオブジェクトを作成できる
- 独立したシステムテーブルとシステムビューを持つ
- 独立したシステム変数を持つ
- データベースインスタンスが備えるその他の特性
すべてのユーザーデータのメタ情報はユーザーテナント内に格納されるため、各テナントは独自の名前空間を持ち、互いに隔離されておりアクセスできません。システムテナントはすべてのユーザーテナントを管理し、システムテナントとユーザーテナントの階層関係は以下の図のようになっています。

ユーザーテナント内で作成されたユーザーは、そのテナントにのみログイン可能であり、他のテナントからは見えません。
- MySQL互換モードのテナントでは、ビュー
mysql.userからユーザー情報を照会できます。 - Oracle互換モードのテナントでは、システムビュー
ALL_USERSからユーザー情報を照会できます。
ユーザーテナント内でテーブルを作成でき、作成後は他のテナントからは見えません。
- MySQL互換モードのテナントでは、
information_schema.tablesビューからそのテナントのすべてのユーザーテーブルの情報を照会できます。 - Oracle互換モードのテナントでは、
ALL_TABLESビューからそのテナントのすべてのユーザーテーブルの情報を照会できます。
ユーザーテナントは、自身のテナント内でのみ、自身のテナントのシステム変数を変更できます。
- MySQL互換モードのテナントでは、
information_schema.global_variablesおよびinformation_schema.session_variablesビューからシステム変数情報を照会できます。また、SHOW VARIABLESステートメントを使用して照会することもできます。 - Oracle互換モードのテナントでは、
SHOW VARIABLESステートメントを使用して、そのテナントのすべてのシステム変数を照会できます。