达梦数据库备份与还原(dm8)
1.关闭数据库服务进行脱机备份
关闭数据库服务,启动dmap服务
cd /dm8/bin
./DmServiceDMSERVER stop
./DmAPService start
2.使用dmrman工具进行数据库全量备份和增量备份
[dmdba@localhost bin]$ ./dmrman
RMAN>BACKUP DATABASE '/data/dmserver/dm.ini' FULL BACKUPSET '/home/dmdba/db_full_bak_01';
RMAN> BACKUP DATABASE '/data/dmserver/dm.ini' INCREMENT WITH BACKUPDIR '/tmp/db_full_bak_01' BACKUPSET '/home/dmdba/db_full_bak_02';
3.使用dmrman工具进行数据库还原
RMAN> restore database '/data/dmserver/dm.ini' from backupset '/home/dmdba/db_full_bak_01';
4.更新数据库魔数
RMAN> recover database '/data/dmserver/dm.ini' update db_magic;
5.启动数据库服务
[dmdba@localhost bin]$ ./DmServiceDMSERVER start
6.根据时间点进行恢复
首先创建一张表作为根据,进行备份,删除表,根据备份恢复后查看表是否存在
SQL> create table dmtest
2 (pid int,
3 pname varchar(30),
4 sex bit,
5 email varchar(50));
7.查看数据库时间
select sysdate();
8.使用manager工具进行数据库全备
9.查看备份是否成功
如果未成功,可能是未开启归档
10.删除dmtest表并恢复
SQL> drop table dmtest;
SQL> commit;
SQL>select TABLE_NAME from dba_tables;
查看表已经删除
11.使用备份进行还原
关闭数据库服务
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
[dmdba@localhost bin]$ ./dmrman
RMAN> restore database '/data/dmserver/dm.ini' from backupset '/data/backup/DB_dmserver_FULL_2022_08_30_00_16_33';
RMAN> recover database '/data/dmserver/dm.ini' with archivedir ' /data/backup' until time '2022-08-30 00:14:43';
更新数据库魔数
RMAN> recover database '/data/dmserver/dm.ini' update db_magic;
启动数据库服务
[dmdba@localhost bin]$ ./DmServiceDMSERVER start
12.查看之前删除的dmtest表
可以看到已经恢复。