达梦数据库(DM8)支持通过联机执行SQL语句方式对数据库执行备份还原操作。联机方式支持数据库、用户表空间、用户表和归档的备份,用户表的还原。在进行联机库级备份、归档备份和表空间备份时,必须保证系统处于归档模式,否则联机备份不能进行。
- 在使用SQL语句中,若指定的备份名、加密算法名长度超过128个字符,会导致语法分析错误。
- 在使用
BACKUP DABASE TO backupname BACKUPSET ‘/home/db_bak/db_bak_3_01’;
命令进行数据库备份时,需要注意:1)BACKUPSET <备份集路径>缺省时,使用系统默认备份路径,如果默认备份路径没有设置,则使用系统路径。2)备份集路径=备份路径+备份集名称,在示例中,db_bak_3_01为备份集名称,/home/db_back为备份路径。3)在同一个备份路径下,备份名不能重名,否则提示【-8234】错误。4)一个备份路径下的备份名不能重名,一个备份名可以对应不同备份路径下的备份集,但是一个备份集只能对应一个备份名。5)默认备份路径中已经存在指定的备份名,那么无论备份路径是否为默认备份路径,都会提示【-8234】存在多个同名备份的错误。6、在默认备份路径下,可以使用已经在其他路径下已经存在的备份名。
假定数据库系统默认备份路径是“/home/dmdba/dmdbms/db_bak”,在该路径下已经存在备份名,BAKNAME1,BAKNAME2,在路径/home/db_bak下存在备份名XBAKNAME1(对应备份集为db_bak_3_01),那么以下语句都无法执行
BACKUP DABASE TO BAKNAME1 ;
BACKUP DABASE TO BAKNAME1 BACKUPSET ‘/home/db_bak/db_bak_4_01’;
BACKUP DABASE TO XBAKNAME1 BACKUPSET ‘/home/db_bak/db_bak_4_01’;
但是可以执行以下语句:
#备份到默认路径
BACKUP DABASE TO XBAKNAME1;
BACKUP DABASE TO XBAKNAME2 BACKUPSET ‘/home/db_bak/db_bak_4_01’;