DM8备份与还原
DM8备份还原方法
备份还原工具
Disql **工具:**联机数据备份与还原,包括库备份、表空间备份与还原、表备份与还原;
DMRMAN **工具:**脱机数据库备份还原与恢复;
客户端工具 MANAGER和CONSOLE:对应命令行工具DIsql和DMRMAN的功能,分别用于联机和脱机备份还原数据。
DM8备份还原方法-归档配置
1、使用SQL语句联机配置归档:
2、手动配置归档:
DM8备份还原方法-联机执行SQL语句进行备份还原
在进行联机库级备份、表空间备份和表空间还原时,必须保证系统处于归档模式。
1、数据库备份
最简单的数据库备份语句:
SQL> BACKUP DATABASE BACKUPSET 'db_bak_01';
指定备份集路径、设置备份名、指定介质类型、添加备份描述、限制备份片大小、备份压缩、并行备份:
SQL> BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET ‘/home/****dm_bak****/db_bak_3_02’ DEVICE TYPE TAPE BACKUPINFO ‘****完全备份’****MAXPIECESIZE 300 COMPRESSED LEVEL 5 PARALLEL 8;
1、数据库备份
完全备份
• FULL参数可省略,默认为完全备份:
SQL> BACKUP DATABASE FULL BACKUPSET '/home/****dm_bak****/db_full_bak_01';
增量备份
SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/****dm_bak****' BACKUPSET '/home/****dm_bak****/db_increment_bak_02';
2、表空间备份
最简单的表空间备份语句:
SQL> BACKUP TABLESPACE MAIN BACKUPSET 'ts_bak_01';
指定基备份目录(不指定则搜索最近一次完全**/****增量备份作基备份)
SQL>BACKUP TABLESPACE MAIN INCREMENT **BASE ON** BACKUPSET'ts_full_bak_01' BACKUPSET 'ts_increment_bak_02';
(其他备份选项设置参考前述库备份)
完全备份(FULL参数可省略,默认为完全备份)
SQL> BACKUP TABLESPACE MAIN FULL BACKUPSET '/home/dm_bak/ts_full_bak_01';
增量备份
SQL> BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET '/home/dm_bak/ts_increment_bak_02';
注:备机状态/MOUNT状态/MPP和RAC环境均不允许表空间备份。
3、表备份
表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之说。
最简单的表备份语句:
SQL> BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01';
(其他备份选项设置参考前述库备份)
注:备机状态/MOUNT状态/MPP和RAC环境均不允许表备份还原。
4、归档备份
归档备份拷贝指定归档目录下的所有的归档文件到备份集中。
备份归档需要服务器配置归档。
SQL>BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';
5. 使用Disql执行还原
表还原:
不需配置归档、系统处于OPEN状态下、表还原是联机完全备份还原,因此还原后不需要恢复
DM8备份还原方法-使用DMRMAN工具进行备份还原
DMRMAN(DM RECOVERY MANEGER)是** **DM8****的脱机备份还原管理工具,由它来统一 负责库级脱机备份、脱机还原、数据库恢复等相关操作。
1、DMRMAN备份数据库
数据库处于脱机状态。
创建完全备份:
RMAN>BACKUP DATABASE '/opt/****dmdbms****/data/DAMENG/dm.ini' FULL BACKUPSET '/home/****dm_bak****/db_full_bak_01';
创建增量备份:
RMAN>BACKUP DATABASE '/opt/****dmdbms****/data/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/home/****dm_bak** **' BACKUPSET '/home/****dm_bak****/db_increment_bak_02';
2、DMRMAN备份归档
创建归档备份:
RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/****dmdbms****/data/DAMENG/dm.ini'
BACKUPSET '/home/****dm_bak****/arch_all_bak_01';
创建设置条件的归档备份:
通过设置 LSN 或者时间点,控制需要备份归档的范围。
RMAN>BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND 20000 DATABASE '/opt/****dmdbms****/data/DAMENG/dm.ini'
BACKUPSET '/home/****dm_bak****/db_increment_bak_02';
3、备份高级主题——备份加密
例:数据库完全备份,创建加密密码为“cdb546”,加密算法为“rc4”,复杂数据库加密备份:
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET'/home/dm_bak/db_bak_for_encrypt_04' IDENTIFIED BY "cdb546" WITH ENCRYPTION 2 ENCRYPT WITH RC4;
其中,参数WITH ENCRYPTION(默认值为 1 ,简单加密)和ENCRYPT WITH(默认加密算法AES256_CFB)可不指定。
3、备份高级主题——设置跟踪日志文件
与DIsql不同:DMRMAN不可在备份时指定参数生成跟踪文件,只能使用CONFIGURE命令进行事先配置。
例:为数据库脱机备份设置跟踪日志文件:
1)用CONFIGURE命令配置生成跟踪日志文件:
RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log ' TRACE LEVEL 2;
2)备份数据库:
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/****dm_bak****/db_bak_for_trace_01' ;
4.管理备份
备份集查看
备份集校验
备份集删除
1、查看备份集信息:
RMAN>SHOW BACKUPSET '/home/****dm_bak****/db_bak_for_show_01';
2、校验特定备份集:
RMAN>CHECK BACKUPSET 'db_bak_for_check_02' DATABASE '/opt/****dmdbms****/data/DAMENG/dm.ini';
3、删除备份集:
RMAN>REMOVE BACKUPSET '/home/****dm_bak****/db_bak_for_remove_01';
批量删除所有备份集:
RMAN>REMOVE BACKUPSETS WITH BACKUPDIR '/home/dm_bak';
批量删除指定时间之前的备份集:
RMAN>REMOVE BACKUPSETS WITH BACKUPDIR '/home/dm_bak' UNTIL TIME'2015-11-1 00:00:00';
5.数据库还原和恢复
数据库还原
例:1)联机备份数据库:
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
- 准备目标库。还原目标库可以是已经存在的数据库,也可使用dminit工具初始化一个新库。
3)校验待还原备份集的合法性(如果确定合法该步可省略)
RMAN>CHECK BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
- 还原数据库
RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
数据库恢复
更新DB_MAGIC恢复
从备份集恢复
从归档恢复
1、更新DB_MAGIC恢复:
当备份集为脱机备份即备份过程中无日志生成,可以直接更新DB_MAGIC完成数据库恢复。
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' UPDATE DB_MAGIC;
2、从备份集恢复
如果备份集在备份过程中生成了日志,且这些日志在备份集中有完整备份(如联机数据库备份),在执行库还原后,可重做备份集中备份的日志,将数据库恢复到备份时的状态,即从备份集恢复。
例:1)联机备份数据库。
- 准备目标库。
3)校验待还原备份集的合法性。
- 还原数据库。
5)从备份集恢复数据库:
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET'/home/dm_bak/db_full_bak_for_recover_backupset';
3、从归档恢复:
从归档恢复是利用重做本地归档日志来恢复数据的过程。
允许恢复到指定的时间点及指定的LSN值。
例:1)联机备份数据库。2) 准备目标库。3)校验备份集。4) 还原数据库。
5)查看备份集的数据库信息,获取源库的DB_MAGIC。
RMAN>SHOW BACKUPSET '/home/dm_bak/db_full_bak_for_recover_arch' INFO DB;
6)利用归档恢复数据库。
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265;
数据库恢复高级场景
数据库恢复到指定时间点/LSN
例:1)联机备份数据库。2) 修改一些数据,产生归档(SELECT SYSDATE-时间点t1;SELECT FILE_LSN FROM V$RLOG命令查询此时的LSN:50857)。3)误删除表数据(时间点t2;LSN50861)。 4) 还原数据库。
5)要恢复数据库至步骤2的状态,可以指定UNTIL TIME或UNTIL LSN参数重做部分归档:
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL TIME'2015-11-16 10:56:40.624931';
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265 UNTIL LSN 50857;
查看操作日志
整个操作过程中可能涉及的日志或跟踪文件位于DM数据库的log 目录中。操作日志类型包括:
全局日志文件dm_DMSERVER_xxx.log
备份还原日志文件dm_bakres_xxx.log
SBT接口跟踪文件dm_SBTTRACE_xxx.log
0:56:40.624931’;
RMAN>RECOVER DATABASE ‘/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini’ WITH ARCHIVEDIR’/home/dm_arch/arch’ USE DB_MAGIC 1447060265 UNTIL LSN 50857;
``
查看操作日志
整个操作过程中可能涉及的日志或跟踪文件位于DM数据库的log 目录中。操作日志类型包括:
全局日志文件dm_DMSERVER_xxx.log
备份还原日志文件dm_bakres_xxx.log
SBT接口跟踪文件dm_SBTTRACE_xxx.log
更多资讯请上达梦技术社区了解: https://eco.dameng.com