达梦数据库产生新数据归档操作

背景:前两天已经在新数据库中执行过全量数据和归档数据还原了,还需要把这几天的新数据重新还原到新数据库中

第一步:准备工作

1、进入服务器先执行
su - dmdba
2、进入目录
cd /data/dmdbms/bin

3、进入sql命令行(热备份不会影响生产的操作)

disql  用户名/密码

第二步:查看归档日志并传输归档日志到新数据库中(以下步骤需要在旧数据库中执行)

1、查看归档有没有开启(返回【Y】代表已经开启)

sql> SELECT NAME, ARCH_MODE, STATUS$ FROM V$DATABASE;

20260726092522_0e4d16069f203d2da1b859a9075211a9

 

2、登录旧数据库查看归档日志

sql> SELECT NAME, SEQUENCE#, FIRST_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

cbd447a1348ae7e50c71b51ed3d00926_66_original

 注意:我全量备份和归档是在2026-07-25 00:25:42 进行归档的,没有产生新的归档日志,可能是因为一天的数据量太小了,没有自动形成归档,需要手动执行归档。

3、 手动执行归档命令

sql> ALTER SYSTEM SWITCH LOGFILE;

4、再次查看归档日志

sql> SELECT NAME, SEQUENCE#, FIRST_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

image

 5、把归档日志传输到新的数据库中(root角色下执行)

scp /data/dmarch/ARCHIVE_LOCAL1_0xD587F18_EP0_2026-07-25_00-25-42.log dmdba@192.168.99.169:/data/dmdata/DAMENG/arch/
 
scp /data/dmarch/ARCHIVE_LOCAL1_0xD587F18_EP0_2026-07-26_09-33-13.log dmdba@192.168.99.169:/data/dmdata/DAMENG/arch/
 
注意:arch文件应赋予 dmdba 用户权限,并且赋予 755 权限
 
 第三步:登录新服务器执行归档还原操作
1、登录到新数据库服务器中,切换到用户 dmdba
  su - dmdba
2、先暂停数据库服务

重启:[dmdba@bin]# /data/dmdbms/bin/DmServiceDMS restart

停止:[dmdba@bin]# /data/dmdbms/bin/DmServiceDMS stop

启动:[dmdba@bin]# /data/dmdbms/bin/DmServiceDMS start

3、进入bin 目录(不知道目录位置执行命令【find / -name dm.ini 2>/dev/null】)

  /data/dmdbms/bin  

4、进入sql命令行

  ./dmrman

5、执行归档日志还原

  RMAN> RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini'  WITH ARCHIVEDIR '/data/dmdata/DAMENG/arch/';

6、将全量备份之后的所有事务追平,数据库达到一致性状态。

  RMAN> RECOVER DATABASE '/data/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC;

7、退出sql模式

  RMAN> exit;

8、重启数据库服务

  /data/dmdbms/bin/DmServiceDMS start

posted @ 2026-07-26 10:47  PHP小媛  阅读(24)  评论(0)    收藏  举报