1. 基本概念

1.1,重做日志

  • REDO 日志,记录了所有物理页的修改,基本信息包括操作类型、表空间号、文件号、页号、页内偏移、实际数据等。
  • 数据库中INSERT、DELETE、UPDATE 等DML操作以及CREATE TABLE等DDL操作最终都会转化为对某些数据文件、某些数据页的修改。
  • DM8默认的两个联机重做日志:DAMENG01.log,DAMENG02.log

1.2,归档日志

  • 在归档模式下,联机REDO 日志被连续拷贝到归档日志后就生成了归档日志文件。
  • 归档日志文件以归档时间命名。例如:ARCHIVE_LOCAL1_20160217171507968.log
  • 开启归档模式会对系统性能产生一定影响,但更安全。

1.3,备份集

  • 一个备份集对应一次完整备份,为一个目录,由一个或多个备份片和一个元数据文件组成。
  • 备份片(后缀为.bak)是用来存储备份数据的文件。备份时,目标数据文件内容或归档日志内容经过处理后,都会存放到这些备份片文件中。
  • 元数据
    元数据文件(后缀为.meta)用来存储备份信息。包括:
    备份集本身相关的信息
    备份源库的建库参数信息
    备份集中备份数据文件信息
    备份集中备份片的信息

2. 归档配置

2.1,联机配置归档

1.修改数据库状态:
	alter database mount;
2.配置本地归档:
	alter databse add archivelog 'dest=/home/dmdba/dm_arch/arch type=local file_size=1024 sapce_limit=2048';
3.开启归档模式:
	alter database archivelog;
4.修改数据库状态:
	alter database open;

2.2,手动配置归档

  1. 修改dm.ini文件,设置arch_int=1
  2. 在dm.ini同级目录下新建dmarch.ini文件
    [ARCHIVE_LOCAL]
    ARCHIVE_TYPE=LOCAL
    ARCH_DEST=’/home/dmdba/db_arch/arch’
    ARCHIVE_FILE_SIZE=1024
    ARCHIVE_SPACE_LIMIT=2048
  3. 启动服务器,服务器运行在归档模式

3. 备份和还原

3.1,联机

3.1.1,disql

3.1.1.1,数据库备份
全量:backup database backupset ‘/home/dmdba/dm_back/full_back_01'
增量:backup database increment with backupdir '/home/dmdba/dm_back' backupset '/home/dmdba/dm_back/increment_back_02';
3.1.1.2,归档备份:需要服务器配置归档
backup archive log all database backupset ‘/home/dmdba/dm_arch/arch‘;
3.1.1.3,表备份还原:联机使用disql
1.保证数据库为open 状态
2.创建待备份的表:
 create table tab_for_res_02(c1 int);
3.创建索引:
 create index i_tab_for_res_02 on table_for_res_02(c1);
4.备份表:
 backup table table_for_res_02 backupset ‘/home/dmdba/dm_back/table_back_for_res_02';
5.校验备份<可选步骤>;
 select SF_BAKSET_CHECR('DISK','/home/dmdba/dm_back/table_back_for_res_02');
6.执行表结构还原:
 restore table struct table_for_res_02 from backupset '/home/dmdba/dm_back/table_back_for_res_02';
7.执行表数据还原:
 restore table table_for_res_02 from backupset ‘/home/dmdba/dm_back/table_back_for_res_02’;
3.1.1.4,表空间备份
全量备份
	1,指定基备份集:
	 backup tablespace main increment base on backupsdir '/home/dmdba/dm_back' backupset '/home/dmdba/dm_back/tablespace_back_01';
	2,不指定基备份集:
	 backup tablespace main backupset 'home/dmdba/dm_back/tablespace_back_01';
增量:
    backup tablespace mian increment with backupdir '/home/dmdba/dm_back' backupset '/home/dmdba/dm_back/tablespace_increment_back_01';

3.1.2,图形化界面:使用MANAGE工具

java代码中备份恢复达梦数据库_shell

3.2,脱机

3.2.1,使用DMRMAN工具

3.2.1.1,数据库
1.备份
	全量:backup database ‘/home/dmdba/dmdbms/data/DAMENG/dnini' full backupset '/home/dmdba/dm_back/db_full_back_01';
	增量:backup database '/home/dmdba/dmdbms/data/DAMENG/dnini' increment with backupdir '/home/dmdba/db_back' backupset '/home/dmdba/dm_back/db_increment_back_02'; 
2.还原:
	可还原联机备份的数据/脱机备份的数据
	restore database '/home/dmdba/dmdbms/data/DAMENG/dnini' from backupset '/home/dmdba/dm_back/full_back_01';
3.恢复
	3.1,从备份集:
		recover database '/home/dmdba/dmdbms/data/DAMENG/dnini' from backupset '/home/dmdba/dm_back/full_back_01';
	3.2,从归档:
		recover database '/home/dmdba/dmdbms/data/DAMENG/dnini' with archivedir '/home/dmdba/dm_back/arch_all_back_01';
4.更新数据库魔数:
	recover database '/home/dmdba/dmdbms/data/DAMENG/dnini' update DB_MAGIC;
3.2.1.2,归档
备份
backup archive log all database /home/dmdba/dmdbms/data/DAMENG/dnini' backupset ‘/home/dmdba/dm_back/arch_all_back_01';

3.2.2,使用console

java代码中备份恢复达梦数据库_归档日志_02