DM8物理备份学习笔记

本文详细介绍了数据库的物理备份工具,包括disql和drman方式,以及重要概念如LSN、CKPT_LSN等。讲解了全备、增量备份、表空间备份和表备份的命令行操作。同时,阐述了恢复过程,包括使用DRMAN进行脱机状态的备份还原,并提供了加密备份和日志跟踪的设置。此外,还涉及了备份集的管理及验证、删除操作。最后,展示了如何通过命令行进行数据还原,包括表数据的恢复和数据库的完整恢复流程。
摘要由CSDN通过智能技术生成

物理备份工具:
1、disql方式
2、drman方式

重要概念:
CKPT_LSN:最后一次落盘的LSN好
LSN:log sequence number
FILE_LSN:联机日志redo 中记录的最大LSN
PWR:page write record 

备份集也记录了两个LSN
BEGIN_LSN:备份集开始的LSN
END_LSN:备份机结束的LSN

备份时 BEGIN_LSN=CKPT_LSN  FILE_LSN=END_LSN

恢复过程中需要的归档日志范围时CKPT_LSN和FILE_LSN之前全部的归档日志和联机日志

PWR:可以在备份时评估需要备份的数据页,降低备份集的大小,提高备份速度。

命令行备份:
BACKUP DATABASE [[[FULL] [DDL_CLONE]]| INCREMENT [CUMULATIVE][WITH BACKUPDIR '<
基备份搜索目录>'{,'<基备份搜索目录>'}]|[BASE ON BACKUPSET '<基备份目录>']][TO <备份
名>][BACKUPSET '<备份集路径>']
[DEVICE TYPE <介质类型> [PARMS '<介质参数>']] 
[BACKUPINFO '<备份描述>'] [MAXPIECESIZE <备份片限制大小>] 
[LIMIT <read_limit>|<write_limit>] 
[IDENTIFIED BY <密码>|”<密码>” [WITH ENCRYPTION <TYPE>][ENCRYPT WITH <加密算法>]]
[COMPRESSED [LEVEL <压缩级别>]] [WITHOUT LOG]
[TRACE FILE '<TRACE 文件名>'] [TRACE LEVEL <TRACE 日志级别>]
[TASK THREAD <线程数>][PARALLEL [<并行数>] [READ SIZE <拆分块大小>]];
<read_limit>::= READ SPEED <读速度上限> [WRITE SPEED <写速度上限>]
<write_limit>::= WRITE SPEED <写速度上限>

最简单备份命令
全备
备份机位置数据文件所在目录中 /dmdata/DAMENG/bak/bak_full01
1、backup database backupset 'bak_full01';

2、指定备份机位置,备份设备类型,单个备份机最大300M,压缩等级5,并行度8
BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET  '/dmbk/bak_full01'  DEVICE TYPE DISK BACKUPINFO '备份描述' MAXPIECESIZE 300 COMPRESSED LEVEL 5 PARALLEL 8;

3、只备份结构DDL_CLONE
backup database DDL_CLONE TO NOROW_FULL_BAK backupset '/dmbk/bak_full01bak_full01' DEVICE TYPE DISK BACKUPINFO '只备份结构';

4、增量备份
--需要有一个full 备份
BACKUP DATABASE FULL BACKUPSET '/dmbk/db_full_bak_01';
BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmbk' BACKUPSET '/dmbk/db_increment_bak_02';

表空间备份:
BACKUP TABLESPACE MAIN BACKUPSET 'ts_bak_01';  
BACKUP TABLESPACE MAIN FULL BACKUPSET '/dmbk/ts_full_bak_01'; --全备
BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET '/dmbk/ts_full_bak_01' BACKUPSET '/dmbk/ts_increment_bak_02'; --要有全备作为基备然后才可以增备

表备份 都为联机备份,没有增备和归档备份

BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01';

归档备份

BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01';


加密备份 --指定加密秘钥,加密级别和加密算法,DM8 默认密码规则长度大于等于9
BACKUP DATABASE BACKUPSET '/dmbk/db_bak_for_encrypt_01' IDENTIFIED BY "123456789" WITH ENCRYPTION 2 ENCRYPT WITH RC4;

--设置trace 文件
BACKUP DATABASE BACKUPSET '/dmbk/db_bak_for_trac_01' TRACE FILE  '/dmbk/db_bak_trace.log' TRACE LEVEL 2;

备份机管理
相关视图
V$BACKUPSET:显示备份集基本信息。
V$BACKUPSET_DBINFO:显示备份集的数据库相关信息。
V$BACKUPSET_DBF:显示备份集中数据文件的相关信息。 
V$BACKUPSET_ARCH:显示备份集的归档信息。 
V$BACKUPSET_RLOG:显示备份集的日志信息。 
V$BACKUPSET_BKP:显示备份集的备份片信息。 
V$BACKUPSET_SEARCH_DIRS:显示备份集搜索目录。 
V$BACKUPSET_TABLE:显示表备份集中备份表信息。 
V$BACKUPSET_INDEX:显示表备份集中备份索引信息。 
V$BACKUPSET_SUBS:显示并行备份中生成的子备份集信息。

相关管理函数

SF_RMAN_ADD_BACKUP_DIR:添加备份目录。 
SF_RMAN_REMOVE_BACKUP_DIR:指定删除内存中的备份目录。 
SF_RMAN_REMOVE_BACKUP_DIR_ALL:删除内存中全部的备份 目录。 
SF_RMAN_BAKSET_CHECK:校验指定的备份文件。 
SF_RMAN_BAKSET_REMOVE:删除指定的备份集。
SP_RMAN_BATCH_DEL_DB_BAKSET:批量删除数据库备份集。
SP_RMAN_BATCH_DEL_TS_BAKSET:批量删除表空间备份集。 
SP_RMAN_BATCH_DEL_TAB_BAKSET:批量删除表备份集。 

命令行还原指令
命令行只支持表的数据还原,表空间和库的备份还原需要借助DRMAN,所以需要保证表结构一致

还原示例:

CREATE TABLE TAB_FOR_RES_01(C1 INT);

BACKUP TABLE TAB_FOR_RES_01 BACKUPSET '/dmbk/tab_bak_for_res_01';

SELECT SF_BAKSET_CHECK('DISK','/dmbk/tab_bak_for_res_01');
drop table TAB_FOR_RES_01  

select * from TAB_FOR_RES_01;

RESTORE TABLE TAB_FOR_RES_01 FROM BACKUPSET '/dmbk/tab_bak_for_res_01';


DRMAN备份还原 DMRMAN是脱机状态备份

BACKUP DATABASE '/dmdata/DAMENG/dm.ini' FULL BACKUPSET '/dmbk/db_full_bak_01';
BACKUP DATABASE '/dmdata/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/dmbk' BACKUPSET 'db_increment_bak_02';

BACKUP ARCHIVE LOG ALL DATABASE '/dmdata/DAMENG/dm.ini' BACKUPSET '/dmbk/arch_all_bak_01';

--配置trace log
CONFIGURE DEFAULT TRACE FILE '/dmbk/trace.log ' TRACE LEVEL 2


SHOW BACKUPSET '/dmbk/db_full_bak_01';
CHECK BACKUPSET '/dmbk/db_full_bak_01' DATABASE '/dmdata/DAMENG/dm.ini';
REMOVE BACKUPSET '/dmbk/db_full_bak_01';

DMRMAN 备份还原实例:
1、联机备份数据库
BACKUP DATABASE BACKUPSET '/dmbk/db_full_bak_for_restore';
2、初始化一个新库
3、检查备份集
DRMAN>CHECK BACKUPSET '/dmbk/db_full_bak_for_restore';
SHOW BACKUPSET '/dmbk/db_full_bak_for_restore' INFO DB; --确认DB_MAGIC 值1078888870
4、模拟数据文件丢失
5、还原数据库restore --保证dm.ini 存在并且控制文件也在
RESTORE DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmbk/db_full_bak_for_restore';

6、恢复数据库 recover 

    --从备份集恢复

    RECOVER DATABASE '/dmdata/DAMENG/dm.ini' FROM BACKUPSET '/dmbk/db_full_bak_for_restore';
        
        --从归档恢复
        1、确认备份集的 DB_MAGIC
        2、确认归档文件所在路径
        3、执行recover指令
        RECOVER DATABASE '/dmdata/DAMENG/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265;
       
        --不完全恢复指令
        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;

7、恢复完成后更新DB_MAGIC
RECOVER DATABASE '/dmdata/DAMENG/dm.ini' UPDATE DB_MAGIC;

8、启动数据库
elect * from v$instance; 确认状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值