第一章 简介
备份还原分为物理与逻辑,其中逻辑指通过dexp/dimp工具进行,物理又分为联机与脱机。
完全备份:备份的是整个数据库或者是整个表空间的数据
增量备份:备份的是上一次完全备份或者是增量备份后,以后每次备份修改过的数据页。
物理备份:备份的是使用过的有效的数据页
逻辑备份:备份的是数据库对象(表、视图、索引、过程、触发器、序列)
第二章 物理备份
2.1联机备份
1) MPP 环境仅允许库和归档备份,且各节点都会执行,生成相应的备份集,支持 DDL CLONE;
2)DSC 环境支持库备份、表空间备份和表备份,要求 DSC 环境的所有节点都处于 OPEN 状态;
3) MOUNT 状态仅支持归档备份;
4) SUSPEND 状态所有备份均不支持;
5) OPEN 状态支持所有备份,支持 DDL CLONE;
6) PRIMARY 模式支持所有备份,支持 DDL CLONE;
7) STANDBY 模式仅支持库级、表空间级和归档备份,支持 DDL CLONE;
8) DDL CLONE 必须备份归档,不允许指定 WITHOUT LOG。
#需要开启AP
#库备份
SQL>BACKUP DATABASE FULL BACKUPSET '/data/dmdbms/bak/BACKUP_FULL_01';
--全量
SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR '/data/dmdbms/bak' BACKUPSET '/data/dmdbms/bak/db_increment_bak_02'; --增量,前面是基准的路径
#表空间备份
SQL>BACKUP TABLESPACE MAIN FULL BACKUPSET '/data/dmdbms/bak/TS_FULL_01';
#表备份
SQL>BACKUP TABLE TEST1 FULL BACKUPSET '/data/dmdbms/bak/TAB_FULL_01';
#归档备份
SQL>BACKUP ARCHIVE LOG ALL BACKUPSET ' arch_bak_01';
ALL:备份所有的归档;
FROM LSN:指定备份的起始 lsn
UNTIL LSN:指定备份的截止 lsn
查询LSN
SQL>select ARCH_LSN, CLSN, PATH from V$ARCH_FILE;
SQL>BACKUP ARCHIVELOG LSN BETWEEN 50414 AND 50478 BACKUPSET '/data/dmdbms/bak/arch_bak_time_14-78';
2.2脱机备份
脱机备份支持库级和归档备份。
1) MPP 视同单机环境,仅当前节点执行备份操作;
2) 允许异常退出后备份,支持 DDL_CLONE;
3) DSC 支持库级备份,支持 DDL_CLONE;当 DSC 环境下正常节点的 CKPT_LSN 小于
故障节点的 CKPT_LSN 时,不支持脱机备份;
4) 分布式数据库不支持。
使用DMRMAN进行脱机备份
#停止服务
cd /opt/dmdbms/bin
./DmServiceDMSERVER stop
#查看AP是否启动,否则启动
ps –ef|grep dm
./DmAPService start
#进入DMRMAN
./dmrman
#备份
backup database '/data/DAMENG/dm.ini' backupset '/data/dmdbms/bak/20210104RMANBAK';
第三章 物理还原
3.1联机还原
仅支持表级还原:
1) MPP和分布式数据库不支持;
2) PRIMARY 支持;
3) SUSPEND 状态所有还原均不支持;
4) OPEN/NORMAL 支持。
3.2脱机还原
脱机还原跟目标库所处的模式、状态以及集群环境(MPP 和 DSC)无关,允许库级、
表空间级和归档还原。分布式数据库仅支持库级脱机还原恢复。
#将备份文件拷贝到另外一台机器上
scp –r dmdba@192.168.17.129:/data/dmdbms/bak/backup_full_20210105 /data/dmdbms/bak
使用DMRMAN进行脱机备份
#停止服务
cd /opt/dmdbms/bin
./DmServiceDMSERVER stop
#查看AP是否启动,否则启动
ps –ef|grep dm
./DmAPService start
#进入DMRMAN
./dmrman
检查备份:check backupset '/data/dmdbms/bak/backup_full_20210105';
恢复:restore database '/data/dmdbms/DAMENG/dm.ini' from backupset '/data/dmdbms/bak/backup_full_20210105';
还原:recover database '/data/dmdbms/DAMENG/dm.ini' from backupset '/data/dmdbms/bak/backup_full_20210105';
更新魔数:recover database '/data/dmdbms/DAMENG/dm.ini' update DB_MAGIC;
第四章 逻辑备份还原
全库导出:
[dmdba@localhost bin]$ ./dexp sysdba/Dameng123 file=full.dmp log=full.log
directory=/dm8/backup full=y
用户导出:
./dexp sysdba/Dameng123 file=TEST.dmp log=TEST.log directory=/dm8/backup owner=TEST
模式导出:
[dmdba@localhost bin]$ ./dexp sysdba/Dameng123 file=DMHR.dmp log=dmhr.log
directory=/dm8/backup schemas=dmhr
表级别导出:
[dmdba@localhost bin]$ ./dexp sysdba/Dameng123 file=employee.dmp log=employee.log directory=/dm8/backup tables=dmhr.employee
全库导入:
[dmdba@localhost bin]$ ./dimp sysdba/Dameng123 file=full.dmp log=imp_full.log
directory=/dm8/backup full=y