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

fsyncUnlock

項目一覧

  • 定義
  • 互換性
  • 構文
fsyncUnlock

サーバーまたはクラスターのロック数を軽減します。 書込み (write) 操作を有効にするには、ロック カウントが 0 である必要があります。

MongoDB 5.0.22以降では、 fsync } コマンドとfsyncUnlockコマンドをmongosで実行して、シャーディングされたクラスターをロックおよびロック解除します。

バックアップ操作の完了後に、このコマンドを使用して書込みのブロックを解除します。

重要

サーバーは fsync ロック カウントを維持します。 lockフィールドをtrueに設定するfsyncコマンドはロック数を増加させ、 fsyncUnlockコマンドはロック数を減算します。 ロックされたサーバーまたはクラスターで書込みを有効にするには、ロック数が 0 になるまでfsyncUnlockコマンドを呼び出します。

fsyncUnlockは管理操作です。 通常、データベースのfsyncUnlock バックアップ操作 の後に使用します。

Tip

mongoshでは、このコマンドはdb.fsyncUnlock()ヘルパー メソッドを通じて実行することもできます。

ヘルパー メソッドはmongoshユーザーには便利ですが、データベースコマンドと同じレベルの情報は返されない可能性があります。 便宜上必要ない場合、または追加の戻りフィールドが必要な場合は、 データベースコマンドを使用します。

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

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

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

fsyncUnlockコマンドを実行するには、 db.adminCommand()メソッドを使用します。

db.adminCommand(
{
fsyncUnlock: 1,
comment: <any>
}
)

commentフィールドは任意であり、任意のデータ型のコメントを含めることができます。

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

フィールド
説明

info

操作のステータスに関する情報

lockCount

操作後にインスタンス上に残っているロックの数。

ok

ステータス コード。

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

db.adminCommand( { fsyncUnlock: 1 } )

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

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

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

db.adminCommand( { fsyncUnlock: 1 } )

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

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

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

戻る

fsync