”E11000重复键错误'是您在恢复过程中可能遇到的错误。在本博客中,我们将讨论在什么情况下为PITR(时间点恢复)恢复Oplog时可能会遇到这种错误。
您可能想知道为什么在PITR期间会出现这个错误,因为Oplog中的操作是幂等的,这意味着无论执行多少次,它们总是导致对数据库的相同更改。现在让我们看看在应用Oplog时,在哪种情况下可能会遇到这种错误。
我创建了一个集合年代pan>书有四个具有唯一复合索引的文档。因此,根据应用程序逻辑,首先插入、更新和删除文档,但是当重新插入新文档时,将使用创建唯一索引的相同键和值创建新文档。年代pan>
指数:
|
1
2
3.
4
5
6
7
8
9
|
{年代pan>
“v”年代pan>
:年代pan>
2年代pan>
,年代pan>
“独一无二”年代pan>
:年代pan>
真正的年代pan>
,年代pan>
“关键”年代pan>
:年代pan>
{年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
1年代pan>
}年代pan>
,年代pan>
“名称”年代pan>
:年代pan>
“number_1_author_1”年代pan>
}年代pan>
|
对象中插入、更新、删除并再次插入具有相同值的文档的方式编写了应用程序逻辑年代pan>数量而且年代pan>作者在其上创建唯一索引的键。下面我们已经插入了四个文档,现在,我们将更新下面的一个文档。年代pan>
- 首先插入:
123.45678卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11c1d0495f80ac5e610f”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “消磨时光”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 08年代pan> :年代pan> 45年代pan> :年代pan> 55年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>
Oplog中对应的操作:年代pan>
123.456卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “london.book”年代pan> }年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561151年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:45:51.775z”年代pan> )年代pan> }年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561151年代pan> ,年代pan> 2年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:45:51.778z”年代pan> )年代pan> }年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561151年代pan> ,年代pan> 3.年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:45:51.781z”年代pan> )年代pan> }年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11c1d0495f80ac5e610f”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “消磨时光”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561153年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:45:53.302z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 后更新:
123.45678910卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> .update年代pan> (年代pan> {年代pan> “数量”年代pan> :年代pan> 4年代pan> }年代pan> ,年代pan> {年代pan> $年代pan> 集年代pan> :年代pan> {年代pan> 标题年代pan> :年代pan> “奴才”年代pan> }年代pan> }年代pan> )年代pan>WriteResult年代pan> (年代pan> {年代pan> “nMatched”年代pan> :年代pan> 1年代pan> ,年代pan> “nUpserted”年代pan> :年代pan> 0年代pan> ,年代pan> “nModified”年代pan> :年代pan> 1年代pan> }年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 08年代pan> :年代pan> 47年代pan> :年代pan> 29年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11c1d0495f80ac5e610f”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “奴才”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>
Oplog中对应的op:
123.卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “london.book”年代pan> }年代pan> )年代pan> .sort年代pan> (年代pan> {年代pan> $年代pan> 自然年代pan> :年代pan>-<年代pan class="crayon-cn">1年代pan> }年代pan> )年代pan> .limit年代pan> (年代pan> 1年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “u”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “v”美元年代pan> :年代pan> 1年代pan> ,年代pan> “美元”年代pan> :年代pan> {年代pan> “标题”年代pan> :年代pan> “奴才”年代pan> }年代pan> }年代pan> ,年代pan> “氧气”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11c1d0495f80ac5e610f”年代pan> )年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561243年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:47:23.448z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 删除后:
123.456789卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> .remove年代pan> (年代pan> {年代pan> 数量年代pan> :年代pan> 4年代pan> }年代pan> )年代pan>WriteResult年代pan> (年代pan> {年代pan> “nRemoved”年代pan> :年代pan> 1年代pan> }年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 08年代pan> :年代pan> 48年代pan> :年代pan> 37年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>
Oplog中对应的op:
123.卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “london.book”年代pan> }年代pan> )年代pan> .sort年代pan> (年代pan> {年代pan> $年代pan> 自然年代pan> :年代pan>-<年代pan class="crayon-cn">1年代pan> }年代pan> )年代pan> .limit年代pan> (年代pan> 1年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “d”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11c1d0495f80ac5e610f”年代pan> )年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561315年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:48:35.203z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 下面我们将插入一个新文档:
123.45678910卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> .insert年代pan> (年代pan> {年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> )年代pan>WriteResult年代pan> (年代pan> {年代pan> “nInserted”年代pan> :年代pan> 1年代pan> }年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 08年代pan> :年代pan> 50年代pan> :年代pan> 46年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>
Oplog中对应的op:
123.卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “london.book”年代pan> }年代pan> )年代pan> .sort年代pan> (年代pan> {年代pan> $年代pan> 自然年代pan> :年代pan>-<年代pan class="crayon-cn">1年代pan> }年代pan> )年代pan> .limit年代pan> (年代pan> 1年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561444年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:50:44.861z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 以database london的mongodb为例:
123.456# mongodump年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 52年代pan> :年代pan> 01.032年代pan>+<年代pan class="crayon-cn">0000年代pan> 写作年代pan> 管理年代pan> 系统的年代pan> .version年代pan> 来年代pan> 转储年代pan>/<年代pan class="crayon-i">管理年代pan>/<年代pan class="crayon-i">系统年代pan> .version年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 52年代pan> :年代pan> 01.033年代pan>+<年代pan class="crayon-cn">0000年代pan> 完成年代pan> 倾销年代pan> 管理年代pan> 系统的年代pan> .version年代pan> (年代pan> 1年代pan> 文档年代pan> )年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 52年代pan> :年代pan> 01.033年代pan>+<年代pan class="crayon-cn">0000年代pan> 写作年代pan> 伦敦年代pan> .book年代pan> 来年代pan> 转储年代pan>/<年代pan class="crayon-i">伦敦年代pan>/<年代pan class="crayon-i">书年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 52年代pan> :年代pan> 01.034年代pan>+<年代pan class="crayon-cn">0000年代pan> 完成年代pan> 倾销年代pan> 伦敦年代pan> .book年代pan> (年代pan> 4年代pan> 文档年代pan> )年代pan>#年代pan> - 我们将再次插入一个新文档:
123.4567891011卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> .insert年代pan> (年代pan> {年代pan> “数量”年代pan> :年代pan> 5年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> )年代pan>WriteResult年代pan> (年代pan> {年代pan> “nInserted”年代pan> :年代pan> 1年代pan> }年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 08年代pan> :年代pan> 52年代pan> :年代pan> 37年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c1352673573868f17cacf”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 5年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>
Oplog中对应的op:
123.卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “london.book”年代pan> }年代pan> )年代pan> .sort年代pan> (年代pan> {年代pan> $年代pan> 自然年代pan> :年代pan>-<年代pan class="crayon-cn">1年代pan> }年代pan> )年代pan> .limit年代pan> (年代pan> 1年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 cb7ae0a - 6974 - 4363 - ae24 - 0 - de30f0cd915”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c1352673573868f17cacf”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 5年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679561554年代pan> ,年代pan> 1年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t08:52:34.739z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 采用增量式Oplog备份。
第一次Oplog转储后:
123.4567891011121314151617181920.21# mongodb——db=local——collection=oplog。r年代--query '{"ts":{"$gte":{"$timestamp": {"i":1, "t": 1679561120}}, "$lte":{"$timestamp": {"i":2, "t": 1679561151}}}}'年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 59年代pan> :年代pan> 29.667年代pan>+<年代pan class="crayon-cn">0000年代pan> 写作年代pan> 当地的年代pan> .oplog年代pan> r年代pan> 来年代pan> 转储年代pan>/<年代pan class="crayon-i">当地的年代pan>/<年代pan class="crayon-i">oplog年代pan> r年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t08年代pan> :年代pan> 59年代pan> :年代pan> 29.668年代pan>+<年代pan class="crayon-cn">0000年代pan> 完成年代pan> 倾销年代pan> 当地的年代pan> .oplog年代pan> r年代pan> (年代pan> 7年代pan> 文档年代pan> )年代pan>#年代pan># CD dump/local/年代pan># ls -ltrh年代pan>总计年代pan> 8.0 k年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 193年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog年代pan> r年代pan> . metadata年代pan> . json年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 1.1 k年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog年代pan> r年代pan> .bson年代pan>oplog_1.rs.metadata.json年代pan># oplog_1.rs.bson年代pan># ls -ltr年代pan>总计年代pan> 8年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 193年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog_1年代pan> r年代pan> . metadata年代pan> . json年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 1.1 k年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog_1年代pan> r年代pan> .bson年代pan>#年代pan># bsondump oplog_1.rs。Bson | tail -n 1年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 01年代pan> :年代pan> 50.590年代pan>+<年代pan class="crayon-cn">0000年代pan> 7年代pan> 对象年代pan> 发现年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c11bfd0495f80ac5e610d”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “2.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561151年代pan> ,年代pan> “我”年代pan> :年代pan> 2年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561151778”年代pan> }年代pan> }年代pan> }年代pan>#年代pan>
上面是第一次Oplog备份的最后一个文档,即till年代pan>{" $时间戳":{“t”:1679561151,“我”:2}}年代pan>.年代pan>第二次Oplog转储(增量)后:
123.456789101112131415# mongodb——db=local——collection=oplog。r年代--query '{"ts":{"$gt":{"$timestamp": {"i":2, "t": 1679561151}}, "$lte":{"$timestamp": {"i":1, "t": 1679562180}}}}'年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 03年代pan> :年代pan> 27.070年代pan>+<年代pan class="crayon-cn">0000年代pan> 写作年代pan> 当地的年代pan> .oplog年代pan> r年代pan> 来年代pan> 转储年代pan>/<年代pan class="crayon-i">当地的年代pan>/<年代pan class="crayon-i">oplog年代pan> r年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 03年代pan> :年代pan> 27.071年代pan>+<年代pan class="crayon-cn">0000年代pan> 完成年代pan> 倾销年代pan> 当地的年代pan> .oplog年代pan> r年代pan> (年代pan> 107年代pan> 文档年代pan> )年代pan>#年代pan># ls -ltrh年代pan>总计年代pan> 24 k年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 193年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog_1年代pan> r年代pan> . metadata年代pan> . json年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 1.1 k年代pan> 3月年代pan> 23年代pan> 08年代pan> :年代pan> 59年代pan> oplog_1年代pan> r年代pan> .bson年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 193年代pan> 3月年代pan> 23年代pan> 09年代pan> :年代pan> 03年代pan> oplog年代pan> r年代pan> . metadata年代pan> . json年代pan>-<年代pan class="crayon-i">rw年代pan>-<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-i">r年代pan>--<年代pan class="crayon-h"> 1年代pan> 根年代pan> 根年代pan> 12 k年代pan> 3月年代pan> 23年代pan> 09年代pan> :年代pan> 03年代pan> oplog年代pan> r年代pan> .bson年代pan>#年代pan># bsondump oplog.rs.bson | head -n年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 04年代pan> :年代pan> 28.976年代pan>+<年代pan class="crayon-cn">0000年代pan> 107年代pan> 对象年代pan> 发现年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c11bfd0495f80ac5e610e”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “3.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561151年代pan> ,年代pan> “我”年代pan> :年代pan> 3.年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561151781”年代pan> }年代pan> }年代pan> }年代pan>#年代pan>上面是第二次/增量Oplog备份的开始文档,即:年代pan>美元的时间戳”:{“我”,“t”:1679561151:3}}年代pan>
- 删除数据库:
123.45678910111213141516卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .dropDatabase年代pan> (年代pan> )年代pan>{年代pan>“下降”年代pan> :年代pan> “伦敦”年代pan> ,年代pan>“ok”年代pan> :年代pan> 1年代pan> ,年代pan>“clusterTime美元”年代pan> :年代pan> {年代pan>“clusterTime”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562380年代pan> ,年代pan> 2年代pan> )年代pan> ,年代pan>“签名”年代pan> :年代pan> {年代pan>“希”年代pan> :年代pan> BinData年代pan> (年代pan> 0年代pan> ,年代pan> " AAAAAAAAAAAAAAAAAAAAAAAAAAA = "年代pan> )年代pan> ,年代pan>“keyId”年代pan> :年代pan> NumberLong年代pan> (年代pan> 0年代pan> )年代pan>}年代pan>}年代pan> ,年代pan>“operationTime”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562380年代pan> ,年代pan> 2年代pan> )年代pan>}年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> 日期年代pan> (年代pan> )年代pan>星期四年代pan> 3月年代pan> 23年代pan> 2023年代pan> 09年代pan> :年代pan> 06年代pan> :年代pan> 37年代pan> 格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan> (年代pan> UTC年代pan> )年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>Oplog中对应的op:
123.卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .oplog年代pan> r年代pan> ;年代pan> (年代pan> {年代pan> ns年代pan> :年代pan> “伦敦cmd美元。”年代pan> }年代pan> )年代pan> .sort年代pan> (年代pan> {年代pan> $年代pan> 自然年代pan> :年代pan>-<年代pan class="crayon-cn">1年代pan> }年代pan> )年代pan> .limit年代pan> (年代pan> 1年代pan> )年代pan>{年代pan> “人事处”年代pan> :年代pan> “c”年代pan> ,年代pan> “ns”年代pan> :年代pan> “伦敦cmd美元。”年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “dropDatabase”年代pan> :年代pan> 1年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562380年代pan> ,年代pan> 2年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t09:06:20.121z”年代pan> )年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan> - 首先,我们将从所接收的转储中恢复数据库年代pan>第五步年代pan>:
123.456789# mongorestore dump/london/book.bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.433年代pan>+<年代pan class="crayon-cn">0000年代pan> 检查年代pan> 为年代pan> 集合年代pan> 数据年代pan> 在年代pan> 转储年代pan>/<年代pan class="crayon-i">伦敦年代pan>/<年代pan class="crayon-i">书年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.433年代pan>+<年代pan class="crayon-cn">0000年代pan> 阅读年代pan> 元数据年代pan> 为年代pan> 伦敦年代pan> .book年代pan> 从年代pan> 转储年代pan>/<年代pan class="crayon-i">伦敦年代pan>/<年代pan class="crayon-i">书年代pan> . metadata年代pan> . json年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.448年代pan>+<年代pan class="crayon-cn">0000年代pan> 恢复年代pan> 伦敦年代pan> .book年代pan> 从年代pan> 转储年代pan>/<年代pan class="crayon-i">伦敦年代pan>/<年代pan class="crayon-i">书年代pan> .bson年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.490年代pan>+<年代pan class="crayon-cn">0000年代pan> 完成了年代pan> 恢复年代pan> 伦敦年代pan> .book年代pan> (年代pan> 4年代pan> 文档年代pan> ,年代pan> 0年代pan> 失败年代pan> )年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.490年代pan>+<年代pan class="crayon-cn">0000年代pan> 恢复年代pan> 索引年代pan> 为年代pan> 集合年代pan> 伦敦年代pan> .book年代pan> 从年代pan> 元数据年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.490年代pan>+<年代pan class="crayon-cn">0000年代pan> 指数年代pan> :年代pan> idx年代pan> .IndexDocument年代pan> {年代pan> 选项年代pan> :年代pan> 原始的年代pan> .M年代pan> {年代pan> “名称”年代pan> :年代pan> “number_1_author_1”年代pan> ,年代pan> “独一无二”年代pan> :年代pan> 真正的年代pan> ,年代pan> “v”年代pan> :年代pan> 2年代pan> }年代pan> ,年代pan> 关键年代pan> :年代pan> 原始的年代pan> .D年代pan> {年代pan> 原始的年代pan> .E年代pan> {年代pan> 关键年代pan> :年代pan> “数量”年代pan> ,年代pan> 价值年代pan> :年代pan> 1年代pan> }年代pan> ,年代pan> 原始的年代pan> .E年代pan> {年代pan> 关键年代pan> :年代pan> “作者”年代pan> ,年代pan> 价值年代pan> :年代pan> 1年代pan> }年代pan> }年代pan> ,年代pan> PartialFilterExpression年代pan> :年代pan> 原始的年代pan> .D年代pan> (年代pan> 零年代pan> )年代pan> }年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 09年代pan> :年代pan> 05.526年代pan>+<年代pan class="crayon-cn">0000年代pan> 4年代pan> 文档年代pan> (年代pan> 年代年代pan> )年代pan> 恢复年代pan> 成功年代pan> .年代pan> 0年代pan> 文档年代pan> (年代pan> 年代年代pan> )年代pan> 失败的年代pan> 来年代pan> 恢复年代pan> .年代pan>#年代pan>上述恢复的文件匹配直到年代pan>第五步年代pan>在转储伦敦数据库之前:
123.456卢比年代pan> :年代pan> 主要的年代pan> >年代pan> db年代pan> .book年代pan> ;年代pan> (年代pan> )年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan>{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>卢比年代pan> :年代pan> 主要的年代pan> >年代pan>从dump恢复后,Oplog中对应的操作:
123.4567{年代pan> “lsid”年代pan> :年代pan> {年代pan> “id”年代pan> :年代pan> UUID年代pan> (年代pan> “ce17fa90 - 9 - f06 - 4710 - 9 - b3b 3 - f4e9484e213”年代pan> )年代pan> ,年代pan> “uid”年代pan> :年代pan> BinData年代pan> (年代pan> 0年代pan> ,年代pan> “47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan> )年代pan> }年代pan> ,年代pan> “txnNumber”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 e30c316-b21a-4f43-bbcc-d80593001391”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 5年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t09:09:05.451z”年代pan> )年代pan> ,年代pan> “stmtId”年代pan> :年代pan> 3.年代pan> ,年代pan> “prevOpTime”年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 4年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> }年代pan> }年代pan>{年代pan> “lsid”年代pan> :年代pan> {年代pan> “id”年代pan> :年代pan> UUID年代pan> (年代pan> “ce17fa90 - 9 - f06 - 4710 - 9 - b3b 3 - f4e9484e213”年代pan> )年代pan> ,年代pan> “uid”年代pan> :年代pan> BinData年代pan> (年代pan> 0年代pan> ,年代pan> “47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan> )年代pan> }年代pan> ,年代pan> “txnNumber”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 e30c316-b21a-4f43-bbcc-d80593001391”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610e”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 3.年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 4年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t09:09:05.451z”年代pan> )年代pan> ,年代pan> “stmtId”年代pan> :年代pan> 2年代pan> ,年代pan> “prevOpTime”年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 3.年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> }年代pan> }年代pan>{年代pan> “lsid”年代pan> :年代pan> {年代pan> “id”年代pan> :年代pan> UUID年代pan> (年代pan> “ce17fa90 - 9 - f06 - 4710 - 9 - b3b 3 - f4e9484e213”年代pan> )年代pan> ,年代pan> “uid”年代pan> :年代pan> BinData年代pan> (年代pan> 0年代pan> ,年代pan> “47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan> )年代pan> }年代pan> ,年代pan> “txnNumber”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 e30c316-b21a-4f43-bbcc-d80593001391”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610d”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 2年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 3.年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t09:09:05.451z”年代pan> )年代pan> ,年代pan> “stmtId”年代pan> :年代pan> 1年代pan> ,年代pan> “prevOpTime”年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 2年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> }年代pan> }年代pan>{年代pan> “lsid”年代pan> :年代pan> {年代pan> “id”年代pan> :年代pan> UUID年代pan> (年代pan> “ce17fa90 - 9 - f06 - 4710 - 9 - b3b 3 - f4e9484e213”年代pan> )年代pan> ,年代pan> “uid”年代pan> :年代pan> BinData年代pan> (年代pan> 0年代pan> ,年代pan> “47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan> )年代pan> }年代pan> ,年代pan> “txnNumber”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> UUID年代pan> (年代pan> “9 e30c316-b21a-4f43-bbcc-d80593001391”年代pan> )年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c11bfd0495f80ac5e610c”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 1年代pan> ,年代pan> “标题”年代pan> :年代pan> 《哈利波特》年代pan> ,年代pan> “作者”年代pan> :年代pan> “莎士比亚”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 1679562545年代pan> ,年代pan> 2年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan> 1年代pan> )年代pan> ,年代pan> “v”年代pan> :年代pan> NumberLong年代pan> (年代pan> 2年代pan> )年代pan> ,年代pan> “墙”年代pan> :年代pan> ISODate年代pan> (年代pan> “2023 - 03 - 23 - t09:09:05.451z”年代pan> )年代pan> ,年代pan> “stmtId”年代pan> :年代pan> 0年代pan> ,年代pan> “prevOpTime”年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 时间戳年代pan> (年代pan> 0年代pan> ,年代pan> 0年代pan> )年代pan> ,年代pan> “t”年代pan> :年代pan> NumberLong年代pan> (年代pan>-<年代pan class="crayon-cn">1年代pan> )年代pan> }年代pan> }年代pan> - 现在,我们将检查Oplog备份数据已恢复到哪个文档,以及我们需要从哪个Oplog文件应用ops。年代pan>我们可以看到第一个Oplog备份中的文档已经在第9步中恢复。为了验证,下面是第一次Oplog备份中的最后一个ops条目:
123.4# bsondump oplog_1.rs。Bson | tail -n 1年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 11年代pan> :年代pan> 40.539年代pan>+<年代pan class="crayon-cn">0000年代pan> 7年代pan> 对象年代pan> 发现年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c11bfd0495f80ac5e610d”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “2.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> 《权力的游戏》年代pan> ,年代pan> “作者”年代pan> :年代pan> “奇”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561151年代pan> ,年代pan> “我”年代pan> :年代pan> 2年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561151778”年代pan> }年代pan> }年代pan> }年代pan>#年代pan>
现在我们需要在drop命令ops之前重放第二次Oplog备份(我们在第8步中已经有了drop database命令的时间),用于PITR(我们可以看到下面的ops已经可用,但我们不能根据时间或ops分割BSON文件,所以我们需要应用完整的Oplog切片):
123.4567891011121314# bsondump oplog.rs.bson | head -n年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 12年代pan> :年代pan> 31.646年代pan>+<年代pan class="crayon-cn">0000年代pan> 107年代pan> 对象年代pan> 发现年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c11bfd0495f80ac5e610e”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “3.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> “2的国家”年代pan> ,年代pan> “作者”年代pan> :年代pan> “彼得”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561151年代pan> ,年代pan> “我”年代pan> :年代pan> 3.年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561151781”年代pan> }年代pan> }年代pan> }年代pan>#年代pan># mongorestore——oplogFile = oplog.rs。bson——oplogReplay——oplogLimit 1679562370:1 /root/dump/local/年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 准备年代pan> 集合年代pan> 来年代pan> 恢复年代pan> 从年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 不年代pan>'<年代pan class="crayon-i">t年代pan> 知道年代pan> 什么年代pan> 来年代pan> 做年代pan> 与年代pan> 文件年代pan> “/根/转储/地方/ oplog.rs.bson”年代pan> ,年代pan> 跳过年代pan>...2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 不年代pan>'<年代pan class="crayon-i">t年代pan> 知道年代pan> 什么年代pan> 来年代pan> 做年代pan> 与年代pan> 文件年代pan> “/根/转储/地方/ oplog.rs.metadata.json”年代pan> ,年代pan> 跳过年代pan>...2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 不年代pan>'<年代pan class="crayon-i">t年代pan> 知道年代pan> 什么年代pan> 来年代pan> 做年代pan> 与年代pan> 文件年代pan> “/根/转储/地方/ oplog_1.rs.bson”年代pan> ,年代pan> 跳过年代pan>...2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 不年代pan>'<年代pan class="crayon-i">t年代pan> 知道年代pan> 什么年代pan> 来年代pan> 做年代pan> 与年代pan> 文件年代pan> “/根/转储/地方/ oplog_1.rs.metadata.json”年代pan> ,年代pan> 跳过年代pan>...2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.969年代pan>+<年代pan class="crayon-cn">0000年代pan> 重放年代pan> oplog年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.978年代pan>+<年代pan class="crayon-cn">0000年代pan> 失败的年代pan> :年代pan> 恢复年代pan> 错误年代pan> :年代pan> 错误年代pan> 应用年代pan> oplog年代pan> :年代pan> applyOps年代pan> :年代pan> (年代pan> DuplicateKey年代pan> )年代pan> E11000年代pan> 重复的年代pan> 关键年代pan> 错误年代pan> 集合年代pan> :年代pan> 伦敦年代pan> .book年代pan> 指数年代pan> :年代pan> number_1_author_1年代pan> dup年代pan> 关键年代pan> :年代pan> {年代pan> 数量年代pan> :年代pan> 4.0年代pan> ,年代pan> 作者年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 13年代pan> :年代pan> 18.978年代pan>+<年代pan class="crayon-cn">0000年代pan> 0年代pan> 文档年代pan> (年代pan> 年代年代pan> )年代pan> 恢复年代pan> 成功年代pan> .年代pan> 0年代pan> 文档年代pan> (年代pan> 年代年代pan> )年代pan> 失败的年代pan> 来年代pan> 恢复年代pan> .年代pan>#年代pan>我们可以看到Oplog重放由于唯一的索引约束而失败,因为我们可以看到与的操作相关联年代pan>{数字:4.0,作者:“Graham”}已经存在于数据库中:
1{年代pan> “_id”年代pan> :年代pan> ObjectId年代pan> (年代pan> “641 c12e4d0495f80ac5e6111”年代pan> )年代pan> ,年代pan> “数量”年代pan> :年代pan> 4年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan>下面是来自与之关联的增量Oplog备份片的操作年代pan>{数字:4.0,作者:“Graham”}.所以如果你看到下面的第一个操作是一个带有不同_id的插入操作年代pan>(“o”:{" _id ": {" $ oid”:“年代pan>641年c11c1d0495f80ac5e610f"})年代pan>这是在开头插入的。当Oplog尝试重放下面的操作时,它看到已经有一个文档具有不同的年代pan>_id与年代pan>{数字:4.0,作者:“Graham”},由于唯一的索引违反,它不能应用此操作。因此未能应用Oplog和PITR。
123.456# bsondump oplog.rs.bson | grep Graham年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c11c1d0495f80ac5e610f”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “4.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> “消磨时光”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561153年代pan> ,年代pan> “我”年代pan> :年代pan> 1年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561153302”年代pan> }年代pan> }年代pan> }年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c12e4d0495f80ac5e6111”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “4.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561444年代pan> ,年代pan> “我”年代pan> :年代pan> 1年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561444861”年代pan> }年代pan> }年代pan> }年代pan>{年代pan> “人事处”年代pan> :年代pan> “我”年代pan> ,年代pan> “ns”年代pan> :年代pan> “london.book”年代pan> ,年代pan> “用户界面”年代pan> :年代pan> {年代pan> “二元美元”年代pan> :年代pan> {年代pan> “base64”年代pan> :年代pan> “nLeuCml0Q2OuJA3jDwzZFQ = = "年代pan> ,年代pan> “子类型”年代pan> :年代pan> “04”年代pan> }年代pan> }年代pan> ,年代pan> “o”年代pan> :年代pan> {年代pan> “_id”年代pan> :年代pan> {年代pan> “oid美元”年代pan> :年代pan> “641 c1352673573868f17cacf”年代pan> }年代pan> ,年代pan> “数量”年代pan> :年代pan> {年代pan> “numberDouble美元”年代pan> :年代pan> “5.0”年代pan> }年代pan> ,年代pan> “标题”年代pan> :年代pan> “陌生人”年代pan> ,年代pan> “作者”年代pan> :年代pan> “格雷厄姆”年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “时间戳”美元年代pan> :年代pan> {年代pan> “t”年代pan> :年代pan> 1679561554年代pan> ,年代pan> “我”年代pan> :年代pan> 1年代pan> }年代pan> }年代pan> ,年代pan> “t”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1”年代pan> }年代pan> ,年代pan> “v”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “2”年代pan> }年代pan> ,年代pan> “墙”年代pan> :年代pan> {年代pan> “美元日期”年代pan> :年代pan> {年代pan> “numberLong美元”年代pan> :年代pan> “1679561554739”年代pan> }年代pan> }年代pan> }年代pan>2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t09年代pan> :年代pan> 14年代pan> :年代pan> 34.118年代pan>+<年代pan class="crayon-cn">0000年代pan> 107年代pan> 对象年代pan> 发现年代pan>#年代pan>
以上问题有两种解决方案:年代pan>
-
- 如果增量Oplog备份只有从数据库备份中的最后一个操作开始的操作。年代pan>
- 有雷竞技下载官网MongoDB的Percona备份(PBM)配置,并让PBM自动处理所有上述手动过程(恢复转储+为PITR应用Oplog)。
为了克服上述问题,我配置了年代pan>PBM在相同的副本集上,并进行了备份(包括完整和增量Oplog)。这是如何安装、设置和配置PBM.年代pan>
下面是我从第1步到第6步再一次执行PBM的过程,下面是Oplog中对应的操作:
|
1
2
3.
4
5
6
7
8
9
|
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
db年代pan>
.oplog年代pan>
r年代pan>
;年代pan>
(年代pan>
{年代pan>
ns年代pan>
:年代pan>
“london.book”年代pan>
}年代pan>
)年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df8”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《哈利波特》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“莎士比亚”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679571722年代pan>
,年代pan>
2年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t11:42:02.988z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df9”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
2年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《权力的游戏》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“奇”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679571722年代pan>
,年代pan>
3.年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t11:42:02.990z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75dfa”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
3.年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“2的国家”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“彼得”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679571722年代pan>
,年代pan>
4年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t11:42:02.992z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0b6eddc54ce4f75dfb”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
4年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“消磨时光”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679571723年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t11:42:03.840z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“u”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“v”美元年代pan>
:年代pan>
1年代pan>
,年代pan>
“美元”年代pan>
:年代pan>
{年代pan>
“标题”年代pan>
:年代pan>
“奴才”年代pan>
}年代pan>
}年代pan>
,年代pan>
“氧气”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0b6eddc54ce4f75dfb”年代pan>
)年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679571914年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t11:45:14.026z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“d”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0b6eddc54ce4f75dfb”年代pan>
)年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679573573年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t12:12:53.817z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c42519662ff210d35343e”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
4年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679573585年代pan>
,年代pan>
3.年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t12:13:05.567z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c433b474b755a080f10bb”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
5年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679573819年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t12:16:59.806z”年代pan>
)年代pan>
}年代pan>
|
下面是两个完全备份+增量Oplog备份:
|
1
2
3.
4
5
6
7
|
# PBM列表年代pan>
备份年代pan>
快照年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t11年代pan>
:年代pan>
52年代pan>
:年代pan>
05年z年代pan>
<年代pan>
逻辑年代pan>
>年代pan>
[年代pan>
restore_to_time年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t11年代pan>
:年代pan>
52年代pan>
:年代pan>
10 z年代pan>
]年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23个病人年代pan>
:年代pan>
14年代pan>
:年代pan>
04 z年代pan>
<年代pan>
逻辑年代pan>
>年代pan>
[年代pan>
restore_to_time年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23个病人年代pan>
:年代pan>
14年代pan>
:年代pan>
08年z年代pan>
]年代pan>
PITR年代pan>
<年代pan>
从年代pan>
>年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t11年代pan>
:年代pan>
52年代pan>
:年代pan>
11 z年代pan>
-<年代pan class="crayon-h">
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
06年代pan>
:年代pan>
45 z年代pan>
#年代pan>
|
上面,你可以看到最新的备份被采取直到年代pan>2023 - 03 - 23 t12:14:08进行增量Oplog备份直到年代pan>2023 - 03 - 23 - t13:06:45。
现在我们将删除数据库:
|
1
2
3.
4
5
6
7
8
9
10
11
12
13
14
15
|
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
db年代pan>
.dropDatabase年代pan>
(年代pan>
)年代pan>
{年代pan>
“下降”年代pan>
:年代pan>
“伦敦”年代pan>
,年代pan>
“ok”年代pan>
:年代pan>
1年代pan>
,年代pan>
“clusterTime美元”年代pan>
:年代pan>
{年代pan>
“clusterTime”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576445年代pan>
,年代pan>
4年代pan>
)年代pan>
,年代pan>
“签名”年代pan>
:年代pan>
{年代pan>
“希”年代pan>
:年代pan>
BinData年代pan>
(年代pan>
0年代pan>
,年代pan>
" AAAAAAAAAAAAAAAAAAAAAAAAAAA = "年代pan>
)年代pan>
,年代pan>
“keyId”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
0年代pan>
)年代pan>
}年代pan>
}年代pan>
,年代pan>
“operationTime”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576445年代pan>
,年代pan>
4年代pan>
)年代pan>
}年代pan>
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
日期年代pan>
(年代pan>
)年代pan>
星期四年代pan>
3月年代pan>
23年代pan>
2023年代pan>
13年代pan>
:年代pan>
00年代pan>
:年代pan>
51年代pan>
格林尼治时间年代pan>+<年代pan class="crayon-cn">0000年代pan>
(年代pan>
UTC年代pan>
)年代pan>
|
现在我们将恢复数据库并使用PBM执行PITR:
|
1
|
# pbm restore——time="2023-03-23T13:00:44"年代pan>
|
下面是还原+ PITR的日志:
|
1
2
3.
4
5
6
7
8
9
10
|
# PBM日志——tail=100 | grep -i restore . #年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
得到了年代pan>
命令年代pan>
pitrestore年代pan>
[年代pan>
名字年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
,年代pan>
点年代pan>-<年代pan class="crayon-st">在年代pan>-<年代pan class="crayon-r">时间年代pan>
ts年代pan>
:年代pan>
1679576444年代pan>
]年代pan>
<年代pan>
ts年代pan>
:年代pan>
1679576857年代pan>
>年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
来年代pan>
时间年代pan>
:年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
00年代pan>
:年代pan>
44 z年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
复苏年代pan>
开始年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
38 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
移动年代pan>
来年代pan>
状态年代pan>
运行年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
41 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
恢复年代pan>
用户年代pan>
而且年代pan>
角色年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
41 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
移动年代pan>
来年代pan>
状态年代pan>
dumpDone年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
43 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
开始年代pan>
oplog年代pan>
重播年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
43 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
oplog年代pan>
重播年代pan>
完成了年代pan>
在年代pan>
{年代pan>
1679576440年代pan>
2年代pan>
}年代pan>
2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
44 z年代pan>
我年代pan>
[年代pan>
卢比年代pan>/<年代pan class="crayon-cn">127.0.0.1年代pan>
:年代pan>
27017年代pan>
]年代pan>
[年代pan>
pitrestore年代pan>/<年代pan class="crayon-cn">2023年代pan>-<年代pan class="crayon-cn">03年代pan>-<年代pan class="crayon-cn">23 t13年代pan>
:年代pan>
07年代pan>
:年代pan>
37.410117048 z年代pan>
]年代pan>
复苏年代pan>
成功年代pan>
完成了年代pan>
|
以下是通过PBM恢复+ PITR后的文件:
|
1
2
3.
4
5
6
7
|
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
db年代pan>
.book年代pan>
;年代pan>
(年代pan>
)年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df8”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《哈利波特》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“莎士比亚”年代pan>
}年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df9”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
2年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《权力的游戏》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“奇”年代pan>
}年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75dfa”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
3.年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“2的国家”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“彼得”年代pan>
}年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c42519662ff210d35343e”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
4年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c433b474b755a080f10bb”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
5年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
|
下面是PBM恢复后的Oplog条目,我们可以看到PBM首先恢复了相关的基本备份,并在基本备份中的最后一个操作之后开始应用Oplog。
|
1
2
3.
4
5
6
7
8
|
卢比年代pan>
:年代pan>
主要的年代pan>
>年代pan>
db年代pan>
.oplog年代pan>
r年代pan>
;年代pan>
(年代pan>
{年代pan>
ns年代pan>
:年代pan>/ ^<年代pan class="crayon-i">伦敦年代pan>/<年代pan class="crayon-sy">}年代pan>
)年代pan>
.sort年代pan>
(年代pan>
{年代pan>
$年代pan>
自然年代pan>
:年代pan>-<年代pan class="crayon-cn">1年代pan>
}年代pan>
)年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c433b474b755a080f10bb”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
5年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576863年代pan>
,年代pan>
9年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:43.222z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“c”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“伦敦cmd美元。”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“commitIndexBuild”年代pan>
:年代pan>
“书”年代pan>
,年代pan>
“indexBuildUUID”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“c95a669a - 9 - e62 - 4的事故- 974 a - a702c52127da”年代pan>
)年代pan>
,年代pan>
“索引”年代pan>
:年代pan>
[年代pan>
{年代pan>
“v”年代pan>
:年代pan>
2年代pan>
,年代pan>
“独一无二”年代pan>
:年代pan>
真正的年代pan>
,年代pan>
“关键”年代pan>
:年代pan>
{年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
1年代pan>
}年代pan>
,年代pan>
“名称”年代pan>
:年代pan>
“number_1_author_1”年代pan>
}年代pan>
]年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
8年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.159z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“人事处”年代pan>
:年代pan>
“c”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“伦敦cmd美元。”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“startIndexBuild”年代pan>
:年代pan>
“书”年代pan>
,年代pan>
“indexBuildUUID”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“c95a669a - 9 - e62 - 4的事故- 974 a - a702c52127da”年代pan>
)年代pan>
,年代pan>
“索引”年代pan>
:年代pan>
[年代pan>
{年代pan>
“v”年代pan>
:年代pan>
2年代pan>
,年代pan>
“独一无二”年代pan>
:年代pan>
真正的年代pan>
,年代pan>
“关键”年代pan>
:年代pan>
{年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
1年代pan>
}年代pan>
,年代pan>
“名称”年代pan>
:年代pan>
“number_1_author_1”年代pan>
}年代pan>
]年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
6年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.152z”年代pan>
)年代pan>
}年代pan>
{年代pan>
“lsid”年代pan>
:年代pan>
{年代pan>
“id”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“6 ec94b0c - 098 - b - 4986 - a971 - 078 c36761cf5”年代pan>
)年代pan>
,年代pan>
“uid”年代pan>
:年代pan>
BinData年代pan>
(年代pan>
0年代pan>
,年代pan>
“47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan>
)年代pan>
}年代pan>
,年代pan>
“txnNumber”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
3.年代pan>
)年代pan>
,年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c42519662ff210d35343e”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
4年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“陌生人”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“格雷厄姆”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
4年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.006z”年代pan>
)年代pan>
,年代pan>
“stmtId”年代pan>
:年代pan>
3.年代pan>
,年代pan>
“prevOpTime”年代pan>
:年代pan>
{年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
3.年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
}年代pan>
}年代pan>
{年代pan>
“lsid”年代pan>
:年代pan>
{年代pan>
“id”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“6 ec94b0c - 098 - b - 4986 - a971 - 078 c36761cf5”年代pan>
)年代pan>
,年代pan>
“uid”年代pan>
:年代pan>
BinData年代pan>
(年代pan>
0年代pan>
,年代pan>
“47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan>
)年代pan>
}年代pan>
,年代pan>
“txnNumber”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
3.年代pan>
)年代pan>
,年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75dfa”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
3.年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
“2的国家”年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“彼得”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
3.年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.006z”年代pan>
)年代pan>
,年代pan>
“stmtId”年代pan>
:年代pan>
2年代pan>
,年代pan>
“prevOpTime”年代pan>
:年代pan>
{年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
2年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
}年代pan>
}年代pan>
{年代pan>
“lsid”年代pan>
:年代pan>
{年代pan>
“id”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“6 ec94b0c - 098 - b - 4986 - a971 - 078 c36761cf5”年代pan>
)年代pan>
,年代pan>
“uid”年代pan>
:年代pan>
BinData年代pan>
(年代pan>
0年代pan>
,年代pan>
“47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan>
)年代pan>
}年代pan>
,年代pan>
“txnNumber”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
3.年代pan>
)年代pan>
,年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df9”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
2年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《权力的游戏》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“奇”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
2年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.006z”年代pan>
)年代pan>
,年代pan>
“stmtId”年代pan>
:年代pan>
1年代pan>
,年代pan>
“prevOpTime”年代pan>
:年代pan>
{年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
}年代pan>
}年代pan>
{年代pan>
“lsid”年代pan>
:年代pan>
{年代pan>
“id”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“6 ec94b0c - 098 - b - 4986 - a971 - 078 c36761cf5”年代pan>
)年代pan>
,年代pan>
“uid”年代pan>
:年代pan>
BinData年代pan>
(年代pan>
0年代pan>
,年代pan>
“47 deqpj8hbsa + /记时显示+ 5 jceuqerkm5nmpjwzg3hsufu = "年代pan>
)年代pan>
}年代pan>
,年代pan>
“txnNumber”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
3.年代pan>
)年代pan>
,年代pan>
“人事处”年代pan>
:年代pan>
“我”年代pan>
,年代pan>
“ns”年代pan>
:年代pan>
“london.book”年代pan>
,年代pan>
“用户界面”年代pan>
:年代pan>
UUID年代pan>
(年代pan>
“5959 bd53 - 6986 - 4 - d0d a72a - 9 - fac81113934”年代pan>
)年代pan>
,年代pan>
“o”年代pan>
:年代pan>
{年代pan>
“_id”年代pan>
:年代pan>
ObjectId年代pan>
(年代pan>
“641 c3b0a6eddc54ce4f75df8”年代pan>
)年代pan>
,年代pan>
“数量”年代pan>
:年代pan>
1年代pan>
,年代pan>
“标题”年代pan>
:年代pan>
《哈利波特》年代pan>
,年代pan>
“作者”年代pan>
:年代pan>
“莎士比亚”年代pan>
}年代pan>
,年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
1679576861年代pan>
,年代pan>
1年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
1年代pan>
)年代pan>
,年代pan>
“v”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>
2年代pan>
)年代pan>
,年代pan>
“墙”年代pan>
:年代pan>
ISODate年代pan>
(年代pan>
“2023 - 03 - 23 - t13:07:41.006z”年代pan>
)年代pan>
,年代pan>
“stmtId”年代pan>
:年代pan>
0年代pan>
,年代pan>
“prevOpTime”年代pan>
:年代pan>
{年代pan>
“t”年代pan>
:年代pan>
时间戳年代pan>
(年代pan>
0年代pan>
,年代pan>
0年代pan>
)年代pan>
,年代pan>
“t”年代pan>
:年代pan>
NumberLong年代pan>
(年代pan>-<年代pan class="crayon-cn">1年代pan>
)年代pan>
}年代pan>
}年代pan>
|
在上面,您可以看到PBM应用了最新的备份并自动执行了PITR。我们没有面对的原因是年代pan>E11000重复键错误年代pan>在使用PBM的PITR期间,PBM自动处理它,它需要从其中的Oplog条目应用从完全备份恢复后的操作。在恢复完全备份+增量Oplog备份时,PBM将确保一致性。年代pan>
这是如何Pe雷竞技下载官网rcona备份MongoDB工作.年代pan>
结论
上面,我们可以看到如何使用PBM自动避免“E11000重复键错误”。另一种方法也是可能的,如上所述,但这将需要手动过程。当PBM是开源的,不需要任何许可证,并且可以自动处理时,为什么要使用手动流程呢?
请查看我们的产品雷竞技下载官网MongoDB的Percona服务器,雷竞技下载官网MongoDB的Percona备份,雷竞技下载官网MongoDB的Percona操作符.我们也推荐你去看看我们的博客MongoDB:当开源已经覆盖时,为什么要为企业付费?
雷竞技下载官网Percona Distribution for MongoDB是一个免费提供的MongoDB数据库替代方案,为您提供了一个单一的解决方案,它结合了来自开源社区的最佳和最重要的企业组件,并进行了设计和测试,以协同工作。年代tr在g>







You had me really hoping — but I’m using PBM to restore automatically and I’m seeing that exact duplicate key error when restoring my database, which had no collection or database drops I’m running out of ideas on how to fix it.