Docs Menu
Docs Home
/
MongoDBマニュアル
/ / /

db.fsyncUnlock()

項目一覧

  • 定義
  • 互換性
  • WiredTiger との互換性
db.fsyncUnlock()

サーバーのロック数を減らして書込み操作を有効にします。

MongoDB 7.1以降( 7.0.2以降でも利用可能 )、 6.0.11と5.0 。 22 ) db.fsyncLock()およびdb.fsyncUnlock()メソッドをmongosで実行すると、シャーディングされたクラスターのロックとロックが解除されます。

重要

mongosh メソッド

このページでは、mongosh メソッドについて説明します。ただし、データベースコマンドや Node.js などの言語固有のドライバーのドキュメントには該当しません

データベースコマンドについては、fsyncUnlock コマンドを参照してください。

MongoDB API ドライバーについては、各言語の MongoDB ドライバー ドキュメントを参照してください。

サーバーは fsync ロック カウントを維持します。 fsyncLock()メソッドはロック数を増加させ、 fsyncUnlock()メソッドはロック数を減算します。 サーバーまたはクラスターへの書込みをロックするには、ロック数が 0 になるまでfsyncUnlock()メソッドを呼び出します。

db.fsyncUnlock()は管理操作です。 この方法を使用して、バックアップ操作後にサーバーまたはクラスターのロックを解除します

db.fsyncUnlock() の構文は次のとおりです。

db.fsyncUnlock()

この操作は、次のフィールドを含むドキュメントを返します。

info
操作のステータスに関する情報。
lockCount
操作後にインスタンス上に残っているロックの数。
ok
ステータス コード。

db.fsyncUnlock() メソッドは、fsyncUnlock コマンドをラップします。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

db.fsyncLock()は、 cpscptarなどの低レベルのバックアップ ユーティリティを使用してデータファイルを安全にコピーすることを保証します。 コピーされた ファイルを使用して開始されたmongodには、ロックされたmongodのユーザーが記述したデータと区別できないユーザーが記述したデータが含まれています。

ロックされたmongodのデータファイルは、ジャーナリング同期WiredTiger スナップショットなどの操作によって変更される可能性があります。 これは論理データ(例: クライアントがアクセスするデータ)では、一部のバックアップ ユーティリティがこれらの変更を検出して警告を発したり、エラーで失敗したりすることがあります。 MongoDB が推奨するバックアップ ユーティリティと手順の詳細については、「自己管理型配置のバックアップ メソッド 」を参照してください。

db.fsyncLock()が 2 回発行された状況を考えてみましょう。 次のdb.fsyncUnlock()操作は、 db.fsyncLock()が取得したロックを1ずつ削減します。

db.fsyncUnlock()

この操作を実行すると次のドキュメントが返されます。

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(1), "ok" : 1 }

lockCountが 0 より大きいため、 mongodインスタンスは書き込みに対してロックされます。 インスタンスの書き込みロックを解除するには、 db.fsyncLock()を再度実行します。

db.fsyncUnlock()

この操作を実行すると次のドキュメントが返されます。

{ "info" : "fsyncUnlock completed", "lockCount" : NumberLong(0), "ok" : 1 }

mongodインスタンスは書き込み用にロックが解除されています。

戻る

db.fsyncLock