OceanBase logo

OceanBase

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

デプロイを自由に

OceanBase Cloud

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

エンタープライズ版

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

オープンソース版を試す

コミュニティ版

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

OceanBase seekdb

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

顧客事例

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

さらに見る
利用シーン別

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

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

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

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

複数インスタンスの統合

ドキュメント

会社概要

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

OceanBaseについて

法的情報

お問い合わせ

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

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

デプロイを自由に

OceanBase Cloud

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

エンタープライズ版

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

オープンソース版を試す

コミュニティ版

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

OceanBase seekdb

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

顧客事例

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

さらに見る
利用シーン別

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

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

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

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

複数インスタンスの統合

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

OceanBaseについて

法的情報

お問い合わせ

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

OceanBaseデータベース

V4.3.5

    OceanBase logo

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

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

    © OceanBase 2026. All rights reserved

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

    OceanBaseデータ移行ツールを使用したOceanBaseクラスタのOracleテナント間でのデータ移行

    最終更新日:2026-04-09 02:53:56  更新
    シェア
    このページの内容
    OceanBaseデータエクスポート・インポートツールの概要
    操作手順
    データのエクスポートとインポートの例
    テーブル構造の移行
    テーブルデータの移行

    折りたたみ

    シェア

    本記事では、OceanBaseデータ移行ツールを使用して、OceanBaseクラスタのOracleテナントから別のOracleテナントへデータを移行する方法について説明します。

    OceanBaseデータエクスポート・インポートツールの概要

    OceanBaseデータエクスポート・インポートツールには、エクスポートツールobdumperとインポートツールobloaderが含まれます。

    • obdumperは、Javaで開発されたクライアントエクスポートツールです。このツールを使用して、OceanBaseデータベースで定義されたオブジェクトとデータをファイルにエクスポートできます。obdumperの詳細については、obdumperの概要を参照してください。

    • obloaderは、Javaで開発されたクライアントインポートツールです。このツールは非常に柔軟なコマンドラインオプションを提供しており、さまざまな複雑なシナリオで定義とデータをOceanBaseにインポートできます。obloaderの詳細については、obloaderの概要を参照してください。

    操作手順

    1. obdumperとobloaderの実行環境を準備します。環境の準備およびツールのダウンロードを参照してください。

    2. エクスポートデータを格納するディレクトリを作成します。

    3. テーブル構造/データをエクスポートします。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obdumper -h <ホストIP> -P <ポート> -u <ユーザー> -p <パスワード> [--sys-user <sysテナント内のユーザー名> --sys-password <sysテナント内の特定ユーザーのパスワード>] -c <クラスタ名> -t <テナント> -D <スキーマ名> [--ddl] [--csv|--sql] [--all|--table 'テーブル名'] -f <データファイルまたはディレクトリ>
      

      説明

      • OceanBase物理ノードのホストアドレスとポートを使用してデータをエクスポートする場合、-cオプションを指定する必要はありません。
      • obdumperコマンドラインオプションの詳細については、コマンドラインオプションを参照してください。
    4. テーブル構造/データをインポートします。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obloader -h <ホストIP> -P <ポート> -u <ユーザー> -p <パスワード>  --sys-user <sysテナント内のrootユーザーまたはproxyroユーザー> --sys-password <sysテナント内のアカウントパスワード> -c <クラスタ> -t <テナント> -D <スキーマ名> [--ddl] [--csv|--sql] [--all|--table 'テーブル名'] -f <データファイルまたはディレクトリ>
      

      説明

      • OceanBase物理ノードのホストアドレスとポートを使用してデータをインポートする場合、-cオプションを指定する必要はありません。
      • obloaderコマンドラインオプションの詳細については、コマンドラインオプションを参照してください。

    データのエクスポートとインポートの例

    以下の表は、例で使用されるデータベース情報です。

    データベース情報 サンプル値
    クラスタ名 test4000
    OceanBase DataBase Proxy (ODP) ホストアドレス xxx.xxx.xxx.xxx
    OceanBase DataBase Proxy (ODP) ポート番号 2883
    sysテナントのrootユーザーのパスワード ******
    ソーステナント名(Oracleモード) oracle001
    テナントoracle001のユーザーアカウント(読み書き権限が必要) obdumper_user01
    テナントoracle001のユーザーobdumper_user01のパスワード ******
    テナントoracle001のSchemaデータベース名 OBDUMPER_USER01
    ターゲットテナント名(Oracleモード) oracle002
    テナントoracle002のユーザーアカウント(読み書き権限が必要) obloader_user01
    テナントoracle002のユーザーobloader_user01のパスワード ******
    テナントoracle002のSchemaデータベース名 OBLOADER_USER01

    テーブル構造の移行

    obdumperとobloaderを使用してテーブル構造を移行する際は、--sys-userおよび--sys-passwordオプションを指定して、テーブル構造のメタデータ情報を取得する必要があります。これらのオプションを指定しない場合、エクスポート/インポート機能およびパフォーマンスに大きな影響を与える可能性があります。

    説明

    --sys-userオプションは、sysテナント内で特定の権限を持つユーザーに接続するために使用されます。エクスポート時にこの--sys-userオプションを指定しない場合、デフォルトでは--sys-user rootが指定されます。

    DDL定義ファイルのエクスポート

    シナリオの説明:クラスタtest4000のテナントoracle001内のスキーマOBDUMPER_USER01から、サポートされているすべてのオブジェクト定義ステートメントを/home/admin/test_migrate_data/ddl_dataディレクトリにエクスポートします。

    • サンプルステートメントは以下のとおりです。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obdumper -h xxx.xxx.xxx.xxx -P 2883 -u obdumper_user01 -p ****** -c test4000 -t oracle001 -D obdumper_user01 --sys-user root --sys-password ****** --ddl --all -f /home/admin/test_migrate_data/ddl_data
      2022-12-26 18:41:07 [INFO] Parsed args:
      [--ddl] true
      [--file-path] /home/admin/test_migrate_data/ddl_data
      [--host] xxx.xxx.xxx.xxx
      [--port] 2883
      [--user] obdumper_user01
      [--tenant] oracle001
      [--cluster] test4000
      [--password] ******
      [--database] obdumper_user01
      [--sys-user] root
      [--sys-password] ******
      [--all] true
      
      2022-12-26 18:41:07 [INFO] Load jdbc driver class: "com.oceanbase.jdbc.Driver" finished
      2022-12-26 18:41:07 [INFO] The manifest file: "/home/admin/test_migrate_data/ddl_data/data/MANIFEST.bin" has been saved
      2022-12-26 18:41:07 [INFO] Query column metadata for the table: "TEST_TBL1" finished
      2022-12-26 18:41:07 [INFO] Query column metadata for the table: "TEST_TBL2" finished
      2022-12-26 18:41:07 [INFO] Found 2 empty tables before dump out records. Elapsed: 11.61 ms
      2022-12-26 18:41:07 [WARN] No views are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No triggers are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No functions are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No procedures are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No types are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No type bodies are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No packages are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No package bodies are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No synonyms are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No public synonyms are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No sequences are exist in the schema: "OBDUMPER_USER01"
      2022-12-26 18:41:07 [WARN] No table groups are exist in the tenant: "oracle001"
      2022-12-26 18:41:07 [INFO] Generate 1 dump tasks finished. Total Elapsed: 3.876 ms
      2022-12-26 18:41:07 [INFO] Start 3 schema dump threads for 1 dump tasks finished.
      2022-12-26 18:41:07 [INFO] Build direct com.alibaba.druid.pool.DruidDataSource finished
      2022-12-26 18:41:07 [INFO] No need to acquire DataSource for xxx@sys, as observer is 4.0.0.0
      2022-12-26 18:41:07 [INFO] Return the latest compatible version: 4.0.0.0 -> 4.0.0.0
      2022-12-26 18:41:07 [INFO] Dump create objects success. DbType: OBORACLE Version: 4.0.0.0
      2022-12-26 18:41:07 [INFO] ObOracle(4.0.0.0) is older than 4.0.0.0 ? false
      2022-12-26 18:41:07 [INFO] Load meta/oboracle/oboracle22x.xml, meta/oboracle/oboracle40x.xml successed
      2022-12-26 18:41:07 [INFO] Query 0 dependencies elapsed 41.82 ms
      2022-12-26 18:41:08 [INFO] Query table: "TEST_TBL1" attr finished. Remain: 0
      2022-12-26 18:41:08 [INFO] Query table: "TEST_TBL2" attr finished. Remain: 0
      2022-12-26 18:41:08 [INFO] Query 2 tables elapsed 285.4 ms
      2022-12-26 18:41:08 [INFO] Dump [TABLE] TEST_TBL1 to "/home/admin/test_migrate_data/ddl_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1-schema.sql " finished
      2022-12-26 18:41:08 [INFO] Dump [TABLE] TEST_TBL2 to "/home/admin/test_migrate_data/ddl_data/data/OBDUMPER_USER01/TABLE/TEST_TBL2-schema.sql " finished
      2022-12-26 18:41:08 [INFO] No.1 It has dumped 2 TABLEs finished. Remain: 0
      2022-12-26 18:41:08 [INFO] Total dumped 2 TABLEs finished. Elapsed: 376.1 ms
      2022-12-26 18:41:08 [INFO] Dump the ddl of schema: "OBDUMPER_USER01" finished
      2022-12-26 18:41:08 [INFO] Close connection count: 19 of the DataSource. Key: xxx.xxx.xxx.xxx_11532_840547833_obdumper_user01
      2022-12-26 18:41:08 [INFO] Shutdown task context finished
      2022-12-26 18:41:08 [INFO] ----------   Finished Tasks: 1       Running Tasks: 0        Progress: 100.00%                                                            ----------
      2022-12-26 18:41:08 [INFO]
      
      All Dump Tasks Finished:
      
      ----------------------------------------------------------------------------------------------------------------------------
              No.#        |        Type        |             Name             |            Count             |       Status
      ----------------------------------------------------------------------------------------------------------------------------
              1          |       TABLE        |          TEST_TBL2           |              1               |      SUCCESS
              2          |       TABLE        |          TEST_TBL1           |              1               |      SUCCESS
      ----------------------------------------------------------------------------------------------------------------------------
      
      Total Count: 2          End Time: 2022-12-26 18:41:08
      
      2022-12-26 18:41:08 [INFO] Dump schema finished. Total Elapsed: 1.070 s
      2022-12-26 18:41:08 [INFO] Unnecessary to upload the data files to the remote cloud storage service
      2022-12-26 18:41:08 [INFO] System exit 0
      
    • エクスポートディレクトリ構造は以下のとおりです。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $tree /home/admin/test_migrate_data/ddl_data
      /home/admin/test_migrate_data/ddl_data
      ├── data
      │   ├── CHECKPOINT.bin
      │   ├── MANIFEST.bin
      │   └── OBDUMPER_USER01
      │       └── TABLE
      │           ├── TEST_TBL1-schema.sql
      │           └── TEST_TBL2-schema.sql
      └── logs
          ├── ob-loader-dumper.error
          ├── ob-loader-dumper.info
          └── ob-loader-dumper.warn
      
      4 directories, 7 files
      
    • エクスポート結果ファイルを確認します。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $cat /home/admin/test_migrate_data/ddl_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1-schema.sql
      CREATE TABLE "TEST_TBL1" (
              "COL1" NUMBER(11,0) NOT NULL,
              "COL2" VARCHAR2(20 BYTE),
              "COL3" NUMBER(11,0),
              CONSTRAINT "TEST_TBL1_OBPK_1672051192536124" PRIMARY KEY ("COL1")
      );
      

    DDL定義ファイルのインポート

    シナリオの説明:クラスタtest4000のテナントoracle001にあるスキーマOBDUMPER_USER01から、サポートされているすべての定義情報を/home/admin/test_migrate_data/ddl_dataディレクトリにエクスポートし、クラスタtest4000のテナントoracle002にあるスキーマOBLOADER_USER01にインポートします。

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

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obloader -h xxx.xxx.xxx.xxx -P 2883 -u obloader_user01 -p ****** --sys-user root --sys-password ****** -c test4000 -t oracle002 -D obloader_user01 --ddl --all -f /home/admin/test_migrate_data/ddl_data
      2022-12-26 18:48:20 [INFO] Parsed args:
      [--ddl] true
      [--file-path] /home/admin/test_migrate_data/ddl_data
      [--host] xxx.xxx.xxx.xxx
      [--port] 2883
      [--user] obloader_user01
      [--tenant] oracle002
      [--cluster] test4000
      [--password] ******
      [--database] obloader_user01
      [--sys-user] root
      [--sys-password] ******
      [--all] true
      
      2022-12-26 18:48:20 [INFO] Load jdbc driver class: "com.oceanbase.jdbc.Driver" finished
      2022-12-26 18:48:20 [INFO] The manifest file: "/home/admin/test_migrate_data/ddl_data/data/MANIFEST.bin" has been saved
      2022-12-26 18:48:20 [INFO] Init writer thread pool finished
      2022-12-26 18:48:20 [WARN] The object type : "SEQUENCE" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "TABLE_GROUP" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [INFO] Start 128 schema file loader threads successed
      2022-12-26 18:48:20 [INFO] No.1 sql of the file: "/home/admin/test_migrate_data/ddl_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1-schema.sql" exec success. Elapsed: 124.9 ms
      2022-12-26 18:48:20 [INFO] Load file: "TEST_TBL1-schema.sql" succeeded
      2022-12-26 18:48:20 [INFO] No.1 sql of the file: "/home/admin/test_migrate_data/ddl_data/data/OBDUMPER_USER01/TABLE/TEST_TBL2-schema.sql" exec success. Elapsed: 182.3 ms
      2022-12-26 18:48:20 [INFO] Load file: "TEST_TBL2-schema.sql" succeeded
      2022-12-26 18:48:20 [WARN] The object type : "VIEW" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "FUNCTION" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "PROCEDURE" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "TRIGGER" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "PACKAGE" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "TYPE" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "PACKAGE_BODY" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "TYPE_BODY" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "SYNONYM" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "PUBLIC_SYNONYM" doesn't exist in the -schema.sql files
      2022-12-26 18:48:20 [WARN] The object type : "FILE" doesn't exist in the -schema.sql files
      2022-12-26 18:48:21 [INFO] Close connection count: 1 of the DataSource. Key: xxx.xxx.xxx.xxx_11532_1905901800_obloader_user01
      2022-12-26 18:48:21 [INFO] Shutdown task context finished
      2022-12-26 18:48:21 [INFO] ----------   Finished Tasks: 2       Running Tasks: 0        Progress: 100.00%                                                            ----------
      2022-12-26 18:48:21 [INFO]
      
      All Load Tasks Finished:
      
      ----------------------------------------------------------------------------------------------------------------------------
              No.#        |        Type        |             Name             |            Count             |       Status
      ----------------------------------------------------------------------------------------------------------------------------
              1          |       TABLE        |          TEST_TBL2           |            1 -> 1            |      SUCCESS
              2          |       TABLE        |          TEST_TBL1           |            1 -> 1            |      SUCCESS
      ----------------------------------------------------------------------------------------------------------------------------
      
      Total Count: 2          End Time: 2022-12-26 18:48:21
      
      2022-12-26 18:48:21 [INFO] Load schema finished. Total Elapsed: 1.064 s
      2022-12-26 18:48:21 [INFO] System exit 0
      
    • インポートしたテーブル構造を確認します。

      obclient [OBLOADER_USER01]> SHOW CREATE TABLE test_tbl1\G
      *************************** 1. row ***************************
          TABLE: TEST_TBL1
      CREATE TABLE: CREATE TABLE "TEST_TBL1" (
      "COL1" NUMBER(11) CONSTRAINT "TEST_TBL1_OBNOTNULL_1672051700809789" NOT NULL ENABLE,
      "COL2" VARCHAR2(20),
      "COL3" NUMBER(11),
      CONSTRAINT "TEST_TBL1_OBPK_1672051192536124" PRIMARY KEY ("COL1")
      ) COMPRESS FOR ARCHIVE REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
      1 row in set
      

    テーブルデータの移行

    以下では、CSVデータファイルのエクスポートとインポートを例に、obdumperとobloaderを使用したテーブルデータの移行方法を説明します。

    CSVデータファイルのエクスポート

    ファイルタイプの定義:CSVデータファイル(拡張子名.csv)は、カンマ区切り値ファイル形式であり、CSVデータファイルはテキスト形式でテーブルデータを格納しており、テキストエディタなどのツールやExcelで開くことができます。

    シナリオの説明:クラスタtest4000のテナントoracle001内のスキーマOBDUMPER_USER01から、サポートされているすべてのオブジェクトのデータをCSV形式で/home/admin/test_migrate_data/csv_dataディレクトリにエクスポートします。

    • サンプルステートメントは以下のとおりです。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obdumper -h xxx.xxx.xxx.xxx -P 2883 -u obdumper_user01 -p ****** -c test4000 -t oracle001 -D obdumper_user01 --sys-user root --sys-password ****** --csv --table '*' -f /home/admin/test_migrate_data/csv_data
      2022-12-27 10:02:20 [INFO] Parsed args:
      [--csv] true
      [--file-path] /home/admin/test_migrate_data/csv_data
      [--host] xxx.xxx.xxx.xxx
      [--port] 2883
      [--user] obdumper_user01
      [--tenant] oracle001
      [--cluster] test4000
      [--password] ******
      [--database] obdumper_user01
      [--sys-user] root
      [--sys-password] ******
      [--table] [*]
      
      2022-12-27 10:02:20 [INFO] Load jdbc driver class: "com.oceanbase.jdbc.Driver" finished
      2022-12-27 10:02:21 [INFO] The manifest file: "/home/admin/test_migrate_data/csv_data/data/MANIFEST.bin" has been saved
      2022-12-27 10:02:21 [INFO] Query column metadata for the table: "TEST_TBL1" finished
      2022-12-27 10:02:21 [INFO] Query column metadata for the table: "TEST_TBL2" finished
      2022-12-27 10:02:21 [INFO] Query partition names for table: "TEST_TBL1" success. (Non-partitioned)
      2022-12-27 10:02:21 [INFO] Query partition names for table: "TEST_TBL2" success. (Non-partitioned)
      2022-12-27 10:02:21 [INFO] Query primary key for table: "TEST_TBL1" success. Elapsed: 160.8 ms
      2022-12-27 10:02:21 [INFO] Query primary key for table: "TEST_TBL2" success. Elapsed: 160.8 ms
      2022-12-27 10:02:21 [INFO] Query table entry for table: "TEST_TBL2" success. Remain: 0. Elapsed: 4.120 ms
      2022-12-27 10:02:21 [INFO] Query table entry for table: "TEST_TBL1" success. Remain: 0. Elapsed: 4.203 ms
      2022-12-27 10:02:21 [INFO] Query all table entries success. Total: 2. Elapsed: 208.0 ms
      2022-12-27 10:02:21 [INFO] ....Splitting rows for non-partitioned table: "TEST_TBL2" success. Batch: 1
      2022-12-27 10:02:21 [INFO] ....Splitting rows for non-partitioned table: "TEST_TBL1" success. Batch: 1
      2022-12-27 10:02:21 [INFO] ....Splitting rows for non-partitioned table: "TEST_TBL2" success. Batch: 2
      2022-12-27 10:02:21 [INFO] ....Splitting rows for non-partitioned table: "TEST_TBL1" success. Batch: 2
      2022-12-27 10:02:21 [INFO] Split rows for non-partitioned table(with primary key): "TEST_TBL2" success. Ranges: 2. Elapsed: 48.60 ms
      2022-12-27 10:02:21 [INFO] Split rows for non-partitioned table(with primary key): "TEST_TBL1" success. Ranges: 2. Elapsed: 48.60 ms
      2022-12-27 10:02:21 [INFO] Generate 4 dump tasks finished. Total Elapsed: 62.72 ms
      2022-12-27 10:02:21 [INFO] Start 128 record dump threads for 4 dump tasks finished
      2022-12-27 10:02:21 [INFO] Dump 5 rows OBDUMPER_USER01.TEST_TBL2 to "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL2.1.*.csv" finished
      2022-12-27 10:02:21 [INFO] Dump 5 rows OBDUMPER_USER01.TEST_TBL1 to "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1.1.*.csv" finished
      2022-12-27 10:02:22 [INFO] Close connection count: 12 of the DataSource. Key: xxx.xxx.xxx.xxx_11532_840547833_obdumper_user01
      2022-12-27 10:02:22 [INFO] Shutdown task context finished
      2022-12-27 10:02:22 [INFO] ----------   Finished Tasks: 4       Running Tasks: 0        Progress: 100.00%                                                            ----------
      2022-12-27 10:02:22 [INFO]
      
      All Dump Tasks Finished:
      
      ----------------------------------------------------------------------------------------------------------------------------
              No.#        |        Type        |             Name             |            Count             |       Status
      ----------------------------------------------------------------------------------------------------------------------------
              1          |       TABLE        |          TEST_TBL2           |              5               |      SUCCESS
              2          |       TABLE        |          TEST_TBL1           |              5               |      SUCCESS
      ----------------------------------------------------------------------------------------------------------------------------
      
      Total Count: 10         End Time: 2022-12-27 10:02:22
      
      2022-12-27 10:02:22 [INFO] Unnecessary to merge the data files. As --file-name is missing
      2022-12-27 10:02:22 [INFO] Dump record finished. Total Elapsed: 1.356 s
      2022-12-27 10:02:22 [INFO] Unnecessary to upload the data files to the remote cloud storage service
      2022-12-27 10:02:22 [INFO] System exit 0
      
    • エクスポートディレクトリ構造は以下のとおりです。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $tree /home/admin/test_migrate_data/csv_data
      /home/admin/test_migrate_data/csv_data
      ├── data
      │   ├── CHECKPOINT.bin
      │   ├── MANIFEST.bin
      │   └── OBDUMPER_USER01
      │       └── TABLE
      │           ├── TEST_TBL1.1.0.csv
      │           └── TEST_TBL2.1.0.csv
      └── logs
          ├── ob-loader-dumper.error
          ├── ob-loader-dumper.info
          └── ob-loader-dumper.warn
      
      4 directories, 7 files
      
    • エクスポート結果ファイルを確認します。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $cat /home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1.1.0.csv
      'COL1','COL2','COL3'
      1,'China',86
      2,'Taiwan',886
      3,'Hong Kong',852
      4,'Macao',853
      5,'North Korea',850
      

    CSVデータファイルのインポート

    シナリオの説明:クラスタtest4000のテナントoracle001にあるスキーマOBDUMPER_USER01から、サポートされているすべてのCSVデータファイルを/home/admin/test_migrate_data/csv_dataディレクトリにエクスポートし、クラスタtest4000のテナントoracle002にあるスキーマOBLOADER_USER01にインポートします。

    • サンプルステートメントは以下のとおりです。

      [xxx@xxx /ob-loader-dumper-4.0.0-RELEASE/bin]
      $./obloader -h xxx.xxx.xxx.xxx -P 2883 -u obloader_user01 -p ****** --sys-user root --sys-password ****** -c test4000 -t oracle002 -D obloader_user01 --csv --table '*' -f /home/admin/test_migrate_data/csv_data
      2022-12-27 10:10:36 [INFO] Parsed args:
      [--csv] true
      [--file-path] /home/admin/test_migrate_data/csv_data
      [--host] xxx.xxx.xxx.xxx
      [--port] 2883
      [--user] obloader_user01
      [--tenant] oracle002
      [--cluster] test4000
      [--password] ******
      [--database] obloader_user01
      [--sys-user] root
      [--sys-password] ******
      [--table] [*]
      
      2022-12-27 10:10:36 [INFO] Load jdbc driver class: "com.oceanbase.jdbc.Driver" finished
      2022-12-27 10:10:37 [INFO] The manifest file: "/home/admin/test_migrate_data/csv_data/data/MANIFEST.bin" has been saved
      2022-12-27 10:10:37 [INFO] Query column metadata for the table: "TEST_TBL1" finished
      2022-12-27 10:10:37 [INFO] Query column metadata for the table: "TEST_TBL2" finished
      2022-12-27 10:10:37 [INFO] File: "/home/admin/test_migrate_data/csv_data/data/CHECKPOINT.bin" is unmatched on the suffix[.csv], ignore it
      2022-12-27 10:10:37 [INFO] File: "/home/admin/test_migrate_data/csv_data/data/MANIFEST.bin" is unmatched on the suffix[.csv], ignore it
      2022-12-27 10:10:37 [INFO] Binding table: "TEST_TBL2" to the file: "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL2.1.0.csv" finished
      2022-12-27 10:10:37 [INFO] Binding table: "TEST_TBL1" to the file: "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1.1.0.csv" finished
      2022-12-27 10:10:37 [INFO] Splitted 2 csv subfiles by 64.0 MB. Elapsed: 19.13 ms
      2022-12-27 10:10:37 [INFO] Generate 2 subfiles finished
      2022-12-27 10:10:37 [INFO] Ignore to clean any tables as --truncate-table or --delete-from-table is not specified
      2022-12-27 10:10:37 [INFO] Query table entry and primary key for table: "TEST_TBL2" finished. Remain: 1
      2022-12-27 10:10:37 [INFO] Query table entry and primary key for table: "TEST_TBL1" finished. Remain: 0
      2022-12-27 10:10:37 [INFO] Query the leader location of "TEST_TBL1" finished. Remain: 0
      2022-12-27 10:10:37 [INFO] Query the leader location of "TEST_TBL2" finished. Remain: 0
      2022-12-27 10:10:37 [INFO] Calculate leader: xxx.xxx.xxx.xxx:2881 of table: "TEST_TBL2", part: 0. Remain: 0
      2022-12-27 10:10:37 [INFO] Calculate leader: xxx.xxx.xxx.xxx:2881 of table: "TEST_TBL1", part: 0. Remain: 1
      2022-12-27 10:10:37 [INFO] Waiting to refresh observer load status ......
      2022-12-27 10:10:38 [INFO] Refresh observer load status success. Table: "TEST_TBL2". Remain: 1
      2022-12-27 10:10:38 [INFO] Refresh observer load status success. Table: "TEST_TBL1". Remain: 0
      2022-12-27 10:10:38 [INFO] Refresh observer load status finished. Elapsed: 36.97 ms
      2022-12-27 10:10:38 [INFO] Use c.l.d.PhasedBackoffWaitStrategy as available cpu(s) is 64
      2022-12-27 10:10:38 [INFO] Create 4096 slots for ring buffer finished. [xxx.xxx.xxx.xxx:2881]
      2022-12-27 10:10:38 [INFO] Start 128 database writer threads finished. [xxx.xxx.xxx.xxx:2881]
      2022-12-27 10:10:38 [INFO] Start 128 csv file reader threads successed
      2022-12-27 10:10:38 [INFO] File: "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL2.1.0.csv" has been parsed finished
      2022-12-27 10:10:38 [INFO] File: "/home/admin/test_migrate_data/csv_data/data/OBDUMPER_USER01/TABLE/TEST_TBL1.1.0.csv" has been parsed finished
      2022-12-27 10:10:39 [INFO] Wait for the all the workers to drain of published events then halt the workers
      2022-12-27 10:10:39 [INFO] Close connection count: 37 of the DataSource. Key: xxx.xxx.xxx.xxx_11532_1905901800_obloader_user01
      2022-12-27 10:10:39 [INFO] Shutdown task context finished
      2022-12-27 10:10:39 [INFO] ----------   Finished Tasks: 2       Running Tasks: 0        Progress: 100.00%                                                            ----------
      2022-12-27 10:10:39 [INFO]
      
      All Load Tasks Finished:
      
      ----------------------------------------------------------------------------------------------------------------------------
              No.#        |        Type        |             Name             |            Count             |       Status
      ----------------------------------------------------------------------------------------------------------------------------
              1          |       TABLE        |          TEST_TBL2           |            5 -> 5            |      SUCCESS
              2          |       TABLE        |          TEST_TBL1           |            5 -> 5            |      SUCCESS
      ----------------------------------------------------------------------------------------------------------------------------
      
      Total Count: 10         End Time: 2022-12-27 10:10:39
      
      2022-12-27 10:10:39 [INFO] Load record finished. Total Elapsed: 2.583 s
      2022-12-27 10:10:39 [INFO] System exit 0
      
    • インポートしたテーブルデータを確認します。

      obclient [OBLOADER_USER01]> SELECT * FROM test_tbl1;
      +------+-------------+------+
      | COL1 | COL2        | COL3 |
      +------+-------------+------+
      |    1 | China       |   86 |
      |    2 | Taiwan      |  886 |
      |    3 | Hong Kong   |  852 |
      |    4 | Macao       |  853 |
      |    5 | North Korea |  850 |
      +------+-------------+------+
      5 rows in set
      

    前のトピック

    OceanBaseデータ移行ツールを使用して、OceanBaseクラスタのMySQLテナントからOracleテナントへデータを移行する
    最後

    次のトピック

    OceanBaseデータ移行ツールを使用して、OceanBaseクラスタのOracleテナントからMySQLテナントへデータを移行する
    次
    このページの内容
    OceanBaseデータエクスポート・インポートツールの概要
    操作手順
    データのエクスポートとインポートの例
    テーブル構造の移行
    テーブルデータの移行