OceanBase logo

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

ドキュメント

会社概要

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

日本 - 日本語
International - English
中国站 - 简体中文
クラウドで始める

OceanBase

トランザクション処理、分析、AIワークロードに最適な分散データベース

プロダクト概要
デプロイを自由に

OceanBase Cloud

OceanBaseの導入とスケーリングを最適化

エンタープライズ版

自社インフラ上での運用・管理に対応

オープンソース版を試す

コミュニティ版

開発者向けオープンソース分散データベース

OceanBase seekdb

AIネイティブなオープンソースの検索データベース

顧客事例

さまざまな業界の企業による導入事例を紹介します。

さらに見る
利用シーン別

あらゆるシナリオに対応するOLTP

ハイブリッドクラウドソリューション

大容量ストレージデータベースのコスト削減

リアルタイム分析混合ワークロード

複数インスタンスの統合

OceanBaseの企業情報、パートナーシップ、そして信頼性・セキュリティへの取り組みについて紹介します。

OceanBaseについて

トラストセンター

法的情報

お問い合わせ

クラウドで始める
编组
すべての製品
    • データベース
    • アイコンOceanBaseデータベース
    • アイコンOceanBase Cloud
アイコン

OceanBaseデータベース

SQL - V4.4.2

    OceanBase ロゴ

    AI時代を支える分散データベース

    日本 - 日本語
    International - English
    中国站 - 简体中文
    プロダクト
    OceanBase Cloudエンタープライズ版コミュニティ版OceanBase seekdb
    会社概要
    OceanBaseについてトラストセンター法的情報お問い合わせ
    公式アカウント
    ConnpassXQiitaLumaGitHub

    © OceanBase 2026. All rights reserved

    クラウドサービス契約個人情報保護ポリシーセキュリティ
    お問い合わせ
    ドキュメントフィードバック
    1. ホーム
    2. OceanBaseデータベース
    3. SQL
    4. V4.4.2
    アイコンOceanBaseデータベース
    SQL - V 4.4.2
    データベース
    • OceanBaseデータベース
    • OceanBase Cloud
    SQL
    KV
    • V 4.4.2
    • V 4.3.5

    空のスタンバイテナントを作成する

    最終更新日:2026-06-15 02:31:32  更新
    シェア
    このページの内容
    ステップ1:ビューにアクセスする専用ユーザーの作成
    MySQLモード
    Oracleモード
    ステップ2:スタンバイテナントを作成する
    関連ドキュメント

    折りたたみ

    シェア

    空のスタンバイテナントを作成する方法は、プライマリテナントが新規作成された場合、またはそのプライマリテナントが作成後から現在までの完全なログを保持していることが確認できる場合に適用されます。

    ステップ1:ビューにアクセスする専用ユーザーの作成

    スタンバイテナントがプライマリテナントに接続する際には、プライマリテナントの一部のシステムビューにアクセスする必要があります。そのため、ビューにアクセスする専用ユーザーがこれらのシステムビューに対するクエリ権限を持っている必要があります。既存の権限を持つプライマリテナントのユーザーを利用するか、プライマリテナント上でスタンバイテナント専用の新しいユーザーを作成して関連権限を付与することもできます。

    スタンバイテナントがアクセスする必要があるシステムビューは以下の通りです:

    • GV$OB_LOG_STAT:プライマリテナントのマシンリスト、レプリカサービスのログストリームLSN範囲、ロール(リーダーかどうか)などの情報を取得するために使用されます。

      GV$OB_LOG_STAT ビューの詳細については、GV$OB_LOG_STATを参照してください。

    • GV$OB_UNITS:プライマリテナントのすべてのUnit情報を照会し、レプリカの状態、ゾーン、リージョンなどの情報を取得します。これは、テナントのマシン接続のフィルタリング、取得、およびメンテナンスに使用されます。

      GV$OB_UNITS ビューの詳細については、GV$OB_UNITSを参照してください。

    • GV$OB_PARAMETERS: プライマリテナントの cluster_id、tenant_id など、サービスに必要なメタ情報を照会するために使用されます。

      GV$OB_PARAMETERS ビューの詳細については、GV$OB_PARAMETERSを参照してください。

    • DBA_OB_ACCESS_POINT: アクセスポイント情報を取得するために使用されます。プライマリテナントのレプリケーション移行やディザスタリカバリなどのシナリオで、アクセスポイントが変更された場合、スタンバイテナントは自動的に検知でき、ユーザーが手動で変更する必要はありません。

      DBA_OB_ACCESS_POINT ビューの詳細については、DBA_OB_ACCESS_POINTを参照してください。

    • DBA_OB_TENANTS:プライマリテナントの互換モードを取得します。

      DBA_OB_TENANTS ビューの詳細については、DBA_OB_TENANTSを参照してください。

    • DBA_OB_LS: プライマリテナントのログストリームリストおよびログストリームの状態を取得します。

      DBA_OB_LS ビューの詳細については、DBA_OB_LSを参照してください。

    ビューにアクセスする専用ユーザーを作成し、権限を付与する具体的な操作は以下の通りです。

    注意

    OceanBaseデータベースのユーザー名と権限情報はプライマリテナントとスタンバイテナント間で同期されます。スタンバイテナント単独ではユーザーの作成や権限の付与は許可されていません。したがって、現在のスタンバイテナントのソースが別のスタンバイテナントの場合は、対応するプライマリテナント上でビューにアクセスする専用ユーザーを作成し、権限を付与する必要があります。

    MySQLモード

    1. 管理ユーザーでプライマリテナントにログインします。

    2. 以下のコマンドを実行して、新しいユーザーを作成します。

      obclient [oceanbase]> CREATE USER rep_user IDENTIFIED BY '******';
      
    3. ユーザーに権限を付与します。

      以下の例では、oceanbase データベース内のすべてのテーブルに対する SELECT 権限をこのユーザーに付与します。または、oceanbase データベース内の GV$OB_LOG_STAT、GV$OB_UNITS、GV$OB_PARAMETERS、DBA_OB_ACCESS_POINT、DBA_OB_TENANTS、DBA_OB_LS などのビューに対する SELECT 権限のみを付与することもできます。

      obclient [oceanbase]> GRANT SELECT ON oceanbase.* TO rep_user;
      

    Oracleモード

    1. 管理ユーザーでプライマリテナントにログインします。

    2. 新しいユーザーを作成します。

      obclient [SYS]> CREATE USER rep_user IDENTIFIED BY ******;
      
    3. ロール STANDBY_REPLICATION を新しいユーザー rep_user に付与します。

      STANDBY_REPLICATION はシステムのデフォルトロールであり、デフォルトで CREATE SESSION システム権限および以下のビューに対するクエリ権限が含まれています:

      • GV$OB_LOG_STAT
      • GV$OB_UNITS
      • GV$OB_PARAMETERS
      • DBA_OB_ACCESS_POINT
      • DBA_OB_TENANTS
      • DBA_OB_LS
      • DBA_OB_LS_HISTORY

      ステートメントは以下のとおりです:

      obclient [SYS]> GRANT STANDBY_REPLICATION TO rep_user;
      

    ステップ2:スタンバイテナントを作成する

    1. rootユーザーで、作成対象のスタンバイテナントが存在するクラスタのsysテナントにログインします。

    2. 以下のコマンドを実行して、スタンバイテナントに必要なUnit仕様を作成します。

      例えば、CPUが1コア、メモリが5GBのUnit仕様unit1を作成します。

      obclient [oceanbase]> CREATE RESOURCE UNIT unit1 MAX_CPU 1, MEMORY_SIZE = '5G';
      

      Unit仕様の詳細な作成手順については、テナントの作成を参照してください。

    3. スタンバイテナントに必要なリソースプールを作成します。

      例えば、リソースプールpool_for_standbyを作成します。

      obclient [oceanbase]> CREATE RESOURCE POOL pool_for_standby UNIT = 'unit1', UNIT_NUM = 1, ZONE_LIST = ('zone1','zone2','zone3');
      

      リソースプールの詳細な作成手順については、テナントの作成を参照してください。

    4. 以下のコマンドを実行して、空のスタンバイテナントを作成します。

      SQLステートメントは以下のとおりです:

      CREATE STANDBY TENANT [IF NOT EXISTS] tenant_name
        LOG_RESTORE_SOURCE [=] string_value
        [tenant_characteristic_list];
      
      tenant_characteristic_list:
      tenant_characteristic [, tenant_characteristic...]
      
       tenant_characteristic:
         COMMENT 'string'
       | PRIMARY_ZONE [=] zone_name
       | RESOURCE_POOL_LIST [=](pool_name [, pool_name...])
       | LOCALITY [=] 'locality description'
      

      主なパラメータの説明は以下のとおりです:

      • tenant_name:作成対象のスタンバイテナント名。必須。テナント名はOceanBaseデータベースのキーワードであってはなりません。

      • IF NOT EXISTS:作成対象のテナント名が既に存在し、IF NOT EXISTSが指定されていない場合、システムはエラーを返します。オプションです。

      • LOG_RESTORE_SOURCE:ログ復元ソースの設定。必須。形式は次のとおりです:'SERVICE=$ip_list USER=$user_name@$tenant_name PASSWORD=$password';。このパラメータに記入する情報はALTER SYSTEM SET LOG_RESTORE_SOURCEコマンドと一致しています。

        ここで:

        • $ip_list:プライマリテナントが存在するレプリカのOBServerノードのIPアドレスとSQLポート番号(デフォルトは2881)。プライマリテナントでDBA_OB_ACCESS_POINTビューをクエリすることで取得できます。複数のOBServerノード情報がある場合、すべてのOBServerノードの情報を記入する必要はありません。
        • $user_name:先ほど作成したビューにアクセスするための専用ユーザー。
        • $tenant_name:接続対象のプライマリテナント名。
        • $password:ビューにアクセスするための専用ユーザーのパスワード。
      • COMMENT:コメント。オプションです。

      • RESOURCE_POOL_LIST:スタンバイテナントが使用するリソースプールのリストを指定します。必須です。

      • PRIMARY_ZONE:スタンバイテナントが存在するPrimary Zoneを指定します。オプションです。

      • LOCALITY:スタンバイテナントのレプリカのZone間での分散状況を指定します。オプションです。

      例:

      obclient [oceanbase]> CREATE STANDBY TENANT IF NOT EXISTS standby_tenant LOG_RESTORE_SOURCE = "SERVICE=xx.xx.xx.1:2881;xx.xx.xx.2:2881;xx.xx.xx.3:2881 USER=rep
      _user@mysql PASSWORD=******" RESOURCE_POOL_LIST=('pool_for_standby');
      
    5. 以下のコマンドを実行して、テナントの状態を確認します。

      obclient [oceanbase]> SELECT TENANT_NAME, TENANT_TYPE, CREATE_TIME, STATUS, TENANT_ROLE,SCN_TO_TIMESTAMP(SYNC_SCN) FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME = 'standby_tenant';
      

      クエリ結果は次のとおりです:

      +----------------+-------------+----------------------------+--------+-------------+----------------------------+
      | TENANT_NAME    | TENANT_TYPE | CREATE_TIME                | STATUS | TENANT_ROLE | SCN_TO_TIMESTAMP(SYNC_SCN) |
      +----------------+-------------+----------------------------+--------+-------------+----------------------------+
      | standby_tenant | USER        | 2023-04-14 21:06:48.787550 | NORMAL | STANDBY     | 2023-04-14 21:12:59.183293 |
      +----------------+-------------+----------------------------+--------+-------------+----------------------------+
      1 row in set
      

      クエリ結果によると、TENANT_ROLEの値がSTANDBY、STATUSの値がNORMALであれば、スタンバイテナントの状態は正常で、スタンバイテナントは正常に作成されたことを意味します。

      この方法で作成されたスタンバイテナントは、作成後自動的に継続同期モードに入ります。

    関連ドキュメント

    • スタンバイテナント作成前の準備

    • ログ付きバックアップ・リストア機能を使用したスタンバイテナントの作成

    • BACKUP DATABASE PLUS ARCHIVELOG機能を使用したスタンバイテナントの作成

    • ログ復元ソースの設定

    前のトピック

    スタンバイテナント作成前の準備
    最後

    次のトピック

    バックアップ・リストア(ログあり)機能を使用してスタンバイテナントを作成する
    次
    このページの内容
    ステップ1:ビューにアクセスする専用ユーザーの作成
    MySQLモード
    Oracleモード
    ステップ2:スタンバイテナントを作成する
    関連ドキュメント