1. 查询指定数据库的集合当前可用的存储空间
use fragment
> db.test2.storageSize() --1396736
2. 查询指定数据库的集合分配的存储空间
> db.baseSe.totalSize() --1731952
3.为数据库写数据(同步到磁盘)加锁
>db.runCommand({fsync:1,lock:1})
说明:
该操作已经对数据库上锁,不允许执行写数据操作,一般在执行数据库备份时有用。执行命令,结果示例如下:
4.查看当前锁状态
db.currentOp()
说明:
查询结果如下所示:
其中,fsyncLock为1表示MongoDB的fsync进程(负责将写入改变同步到磁盘)不允许其他进程执行写数据操作
- {
- "inprog" : [ ],
- "fsyncLock" : 1,
- "info" : "use db.$cmd.sys.unlock.findOne() to terminate the fsync write/snapshot lock"
- }
5、解锁
use admin
db.$cmd.sys.unlock.findOne()
db.$cmd.sys.unlock.findOne()
说明:
执行解锁,结果如下所示:
可以执行命令查看锁状态:
db.currentOp()
状态信息如下:
说明当前没有锁,可以执行写数据操作。
- { "ok" : 1, "info" : "unlock requested" }
db.currentOp()
状态信息如下:
- { "inprog" : [ ] }