知识库

标准化实施手册及常见错误


达梦利用归档恢复数据到指定时间

<h3>一、起因</h3> <p>正式环境达梦数据库,表数据被误删除,且导致客户无法正常使用 在DM数据库中只要拥有连续的归档日志,就可以将数据库还原恢复到之前的任一时间点</p> <h3>二、备份数据库</h3> <p>首先停止数据库</p> <pre><code>#root用户执行 systemctl stop DmServiceDMSERVER.service</code></pre> <p>然后使用dmrman工具进行全库备份:</p> <pre><code>su dmdba cd /risen/soft/database/dmdbms/bin #全库备份 ./dmrman CTLSTMT=&amp;quot;BACKUP DATABASE '/risen/soft/database/dmdba/data/DMENG/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/risen/soft/database/dmdba/data/DMENG/bak/DB_DMENG_FULL_2022_02_24'&amp;quot;</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/d5feee6cb9e82725f00137a153ab5243" alt="" /></p> <h3>三、还原数据库</h3> <p>执行归档恢复前必须要先主执行全库还原 同样是使用dmrman工具,我们对数据库进行还原(恢复至昨日备份时刻):</p> <pre><code>./dmrman CTLSTMT=&amp;quot;RESTORE DATABASE '/risen/soft/database/dmdba/data/DMENG/dm.ini' FROM BACKUPSET '/risen/soft/database/dmdba/data/DMENG/bak/DB_DMENG_FULL_2022_02_23_23_30_15.bak'&amp;quot;</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/201816b67db55d9bb5c224dcbb89cc66" alt="" /></p> <h3>四、恢复数据库到指定时间</h3> <p>使用dmrman工具,利用归档日志将数据库恢复到指定时间,即误删数据的前几分钟(例如11点05分删除数据,指定恢复时间设置为11点整):</p> <pre><code>./dmrman CTLSTMT=&amp;quot;RECOVER DATABASE '/risen/soft/database/dmdba/data/DMENG/dm.ini' with archivedir '/risen/soft/database/dmdba/data/DMENG/arch' until time '2022-02-24 11:00:00'&amp;quot;</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/4fd996f55ee6d5b18d31f2c8afd4f193" alt="" /></p> <h3>五、更新DB_MAGIC</h3> <p>使用dmrman工具进行:</p> <pre><code>./dmrman CTLSTMT=&amp;quot;RECOVER DATABASE '/risen/soft/database/dmdba/data/DMENG/dm.ini' update db_magic&amp;quot;</code></pre> <p><img src="http://60.191.64.5:16100/server/index.php?s=/api/attachment/visitFile/sign/2366ed2d0fa987a3a05c3a92f8f7ff89" alt="" /></p> <h3>六、启动数据库进行验证</h3> <pre><code>#root用户执行 systemctl start DmServiceDMSERVER.service</code></pre>

页面列表

ITEM_HTML