定義
fsyncUnlockサーバーまたはクラスターのロック数を軽減します。 書込み (write) 操作を有効にするには、ロック カウントが 0 である必要があります。
MongoDB 7.1以降( 7.0.2以降でも利用可能 )、 6.0.11と5.0 。 22 )
fsyncコマンドとfsyncUnlockコマンドをmongosで実行すると、シャーディングされたクラスターのロックとロックが解除されます。バックアップ操作の完了後に、このコマンドを使用して書込みのブロックを解除します。
重要
サーバーはfsyncロックカウントを維持します。
fsynclockフィールドを に設定するtrueコマンドはロック数を増加させ、fsyncUnlockコマンドはロック数を減算します。ロックされたサーバーまたはクラスターで書込みを有効にするには、ロック数が 0 になるまでfsyncUnlockコマンドを呼び出します。fsyncUnlockは 管理操作です。通常、データベースのバックアップ操作の後にfsyncUnlockを使用します。Tip
mongoshでは、このコマンドはdb.fsyncUnlock()ヘルパーメソッドを通じて実行することもできます。ヘルパー メソッドは
mongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、データベースコマンド を使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
構文
このコマンドの構文は、次のとおりです。
db.adminCommand( { fsyncUnlock: 1, comment: <any> } )
commentフィールドは任意であり、任意のデータ型のコメントを含めることができます。
結果
この操作は、次のフィールドを含むドキュメントを返します。
フィールド | 説明 |
|---|---|
| 操作のステータスに関する情報 |
| 操作後にインスタンス上に残っているロックの数。 |
| ステータス コード。 |
例
db.fsyncLock()が 2 回発行された状況を考えてみましょう。次のfsyncUnlock 操作は、 によって取得されたロックをdb.fsyncLock() だけ削減します。1
db.adminCommand( { fsyncUnlock: 1 } )
この操作を実行すると次のドキュメントが返されます。
{ "info" : "fsyncUnlock completed", "lockCount" : Long(1), "ok" : 1 }
lockCountが 0 より大きいため、 mongodインスタンスは書き込みに対してロックされます。 インスタンスの書き込みをロックするには、ロック操作を再度実行します。
db.adminCommand( { fsyncUnlock: 1 } )
この操作を実行すると次のドキュメントが返されます。
{ "info" : "fsyncUnlock completed", "lockCount" : Long(0), "ok" : 1 }
mongodインスタンスは書き込み用にロックが解除されています。