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/oceanbase二つのモードで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です。