一、配置归档
例如,联机归档配置如下:
[root@RB-192 bin]# ./disql
1、修改数据库为MOUNT状态
SQL>ALTER DATABASE MOUNT;
2、配置本地归档
SQL>ALTER DATABASE ADD ARCHIVELOG ‘DEST = /opt/dmdbms/data/DAMENG/bak, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048’;
3、开启归档模式
SQL>ALTER DATABASE ARCHIVELOG;
4、修改数据库为OPEN状态
SQL>ALTER DATABASE OPEN;
二、数据库备份(联机备份,也叫热备)
[root@RB-192 bin]# ./disql
SQL>BACKUP DATABASE BACKUPSET ‘db_bak_01’;
语句执行完后会在默认的备份路径下生成名为“db_bak_01”的备份集目录,默认的备份路径为dm.ini中BAK_PATH配置的路径,若未配置,则使用SYSTEM_PATH下的bak 目录。这是最简单的数据库备份语句,如果要设置其他的备份选项需了解联机备份数据库的语法。
三、DMRMAN工具操作介绍
1、DMRMAN控制台输入命令
如下所示:
[root@RB-192 bin]# ./dmrman
RMAN> 输入以下用于执行的DMRMAN命令:
RMAN>HELP
RMAN>BACKUP DATABASE’/opt/dmdbms/data/DAMENG/dm.ini’;
(注:大多数的 DMRMAN 命令会设置多个参数,命令的结尾可以加分号结束,也可以不使用分号)
2、DMRMAN控制台可以执行脚本
如创建一个名为cmd_file.txt的文件,文件中包含“BACKUP DATABASE’/opt/dmdbms/data/DAMENG/dm.ini’”命令,保存到 /home/dm_cmd目录下,执行方式如下:
RMAN>`/home/dm_cmd/cmd_file.txt
四、数据库还原(只能脱机还原)
1、校验备份,校验待还原备份集的合法性。校验备份有两种方式,联机和脱机,此处使用脱机校验。
RMAN>CHECK BACKUPSET ‘/opt/dmdbms/data/DAMENG/bak/db_bak_01’;
2、还原数据库。启动DMRMAN,输入以下命令:
RMAN>RESTORE DATABASE ‘/opt/dmdbms/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/opt/dmdbms/data/DAMENG/bak/db_bak_01’;
3、恢复数据库(recover database)
RMAN> recover database ‘/opt/dmdbms/data/DAMENG/dm.ini’ from backupset ‘/opt/dmdbms/data/DAMENG/bak/db_bak_01’
五、冷备份(可能会丢数据)
1、数据库关闭
[dmdba@dm1 DAMENG]$ /etc/rc.d/init.d/DmServiceTEST status
[dmdba@dm1 DAMENG]$ /etc/rc.d/init.d/DmServiceTEST stop
2、damp服务要开启
[dmdba@dm1 DAMENG]$ /etc/rc.d/init.d/DmAPService status
注意:提示管道文件已存在?
删除安装目录bin下的DM_PIPE_DMAP_LSNR_*,再启动dmap
3、执行备份
[dmdba@dm1 bin]$ cd /dm/bin
[dmdba@dm1 bin]$ ./dmrman
RMAN> backup database ‘/dm/data/DAMENG/dm.ini’ backupset ‘/dm/backup/20200429’
[dmdba@dm1 20200429]$ ls
20200429.bak(备份文件) 20200429.meta(备份的元数据)
4、还原备份
假设数据库崩溃,利用冷备份还原
1)restore database
RMAN> restore database ‘/dm7/data/DAMENG/dm.ini’ from backupset ‘/dm7/backup/20200429’
此时打开数据库会报错
[dmdba@dm1 ~]$ /etc/rc.d/init.d/DmServiceTEST start
Starting DmServiceTEST: [ FAILED ]
version info: enterprise
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V7.6.0.197-Build(2019.09.12-112648)ENT startup…
License will expire on 2020-09-10
instance TEST is restored,should be recovered.
2)recover database
RMAN> recover database ‘/dm/data/DAMENG/dm.ini’ from backupset ‘/dm7/backup/20200429’