ob_adminはOceanBaseデータベースに付属する運用保守ツールの一つであり、本記事ではob_adminのインストール手順と機能の紹介を行います。
ob_adminのインストール
YUMコマンドによるインストール
YUMコマンドを使用して、ツール統合パッケージ(OceanBase Utils)を直接インストールし、ob_adminを使用できます。
YUMコマンドを使用してOceanBase Utilsをインストールします。
yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo yum install oceanbase-ce-utilsインストールが成功すると、ob_adminパッケージに含まれる関連機能を使用できます。
dumpsstのヘルプを表示する例として、コマンドは次のとおりです:
ob_admin dumpsst -h
ob_utilsインストールパッケージ
ツール統合パッケージ(OceanBase Utils)をインストールすることで、ob_adminを使用できます。
OceanBaseソフトウェアダウンロードセンターページにアクセスし、
OceanBase Utilsを検索して、必要なバージョンをローカルにダウンロードします。ファイルディレクトリで以下のコマンドを実行してOceanBase Utilsをインストールします。
rpm -ivh oceanbase-ce-utils-<version>ob_adminのみが必要な場合は、rpm2cpioコマンドを使用してob_adminを取得できます。rpm2cpio oceanbase-ce-utils-<version> | cpio -idmv ./usr/bin/ob_admin cp usr/bin/ob_admin /usr/local/binインストールが成功すると、ob_adminパッケージに含まれる関連機能を使用できます。
dumpsstのヘルプを表示する例として、コマンドは次のとおりです:
ob_admin dumpsst -h
ソースコードからのコンパイル
OceanBaseデータベースのソースコードから独自にコンパイルできます。
OceanBaseデータベースのオープンソースコードをローカルにクローンします。
git clone https://github.com/oceanbase/oceanbase2つのモードでob_adminをコンパイルします。
Debugモード
bash build.sh debug --init cd build_debug make ob_admin cp tools/ob_admin/src/ob_admin /usr/local/binob_adminのコンパイル生成物は、デフォルトでDEBUG_BUILD_DIR/tools/ob_admin/src/ob_adminに保存されます。ここで、DEBUG_BUILD_DIRはコンパイルディレクトリを表し、この例ではbuild_debugです。Releaseモード
bash build.sh release --init cd build_release make ob_admin cp tools/ob_admin/src/ob_admin /usr/local/binob_adminのコンパイル生成物は、デフォルトでRELEASE_BUILD_DIR/tools/ob_admin/src/ob_adminに保存されます。ここで、RELEASE_BUILD_DIRRはコンパイルディレクトリを表し、この例ではbuild_releaseです。
インストールが成功すると、ob_adminパッケージに含まれる関連機能を使用できます。
dumpsstのヘルプを表示する例として、コマンドは次のとおりです:
ob_admin dumpsst -h
よくある質問
ob_adminの使用中に動的ライブラリlibmariadb.so.3が不足している場合は、以下の方法で解決できます。
エラー例。
$ ob_admin dumpsst -h ob_admin: error while loading shared libraries: libmariadb.so.3: cannot open shared object file: No such file or directoryOceanBaseデータベースには
libmariadb.so.3が付属しており、findコマンドを使用してそのパスを見つけます。この例では、OceanBaseデータベースのインストールパスは
/home/admin/observerです。$ find / -name libmariadb.so.3 /home/admin/observer/lib/libmariadb.so.3環境変数LD_LIBRARY_PATHに指定された動的ライブラリの検索パス。
$ export LD_LIBRARY_PATH=/home/admin/observer/libその後、ob_admin関連機能を使用します。
$ ob_admin dumpsst -h
ob_admin機能の紹介
ob_adminは、slog_tool、log_tool、dumpsst、dump_backupの機能を提供しており、主にデータの不整合、データ損失、誤ったデータなどの問題を調査するために使用されます。以下では、それぞれのサブ機能について簡単に説明します。
slog_tool
slog_toolには現在、slogファイル内のログ内容を表示するという1つの機能しかありません。コマンド形式は以下のとおりです:
$./ob_admin slog_tool -f ../store/slog/1
説明
slog_toolはパス形式に制限があり、ピリオド(.)またはスラッシュ(/)で始まる必要があります。
clogログ
通常、clogファイルにはさまざまなタイプのログが含まれており、その中でもOB_LOG_SUBMITが主要なログタイプです。これは、他のモジュール(clogモジュール以外)から送信されたログレコードを示し、トランザクションモジュールからclogに送信されるトランザクションログを含みます。
注意
clogディレクトリには、observerの実行中に生成されない他のファイルを配置することはできません。そのため、clogディレクトリ内で直接ob_adminツールを使用しないでください。
log_tool
log_toolには主に以下の機能があります:
dump clogファイル内のログ内容を提供します。- clogファイル内の各モジュールの割合を統計的に集計します。
- 指定されたフィールドでログを検索します。
具体的な使い方については、clog_toolを参照してください。
dumpsst
dumpsstは、Super Block、Macro Block、Macro Block Meta、SSTable、SSTable Metaなど、block_file ファイル内の内容を表示するために使用されます。通常、オンラインでの問題調査やデータ問題の特定などに使用されます。具体的な使い方については、dumpsstを参照してください。
dump_backup
dump_backup機能は、物理バックアップ用のデータバックアップ内容を解析できます。具体的な使い方については、dump_backupを参照してください。
説明
ob_adminは環境変数 OB_ADMIN_LOG_LEVEL を使用してログ出力レベルを制御できます。環境変数の値は、DEBUG、TRACE、INFO、WARNNING、ERRORです。