DM8物理与逻辑备份还原 一、物理备份还原1.1 基本原理物理备份本质从数据库文件中拷贝有效的数据页保存到备份集中有效数据页包括数据文件的描述页和被分配使用的数据页。一份完整的物理备份包括数据页内容和备份时产生的重做日志备份时产生的redo日志用来确保备份集的一致性。还原与恢复还原是将备份集中的数据页写回目标数据文件是物理备份的逆过程恢复是重做备份集中的redo日志或arch日志将数据库恢复到一致性状态或指定的时间点最终需要重新生成数据库魔数对初始化数据库生成的魔数进行更新。1.2 分类1按数据库状态分类联机备份热备数据库运行中最常用不影响业务需开启归档脱机备份冷备数据库关闭需停库操作简单联机备份时数据库仍在运行业务事务可能持续修改数据此时备份读到的数据页可能并不处于同一个时间点因此联机物理备份必须依赖归档日志来保证恢复能力。没有连续归档就无法可靠地恢复到故障前的精确状态配置本地归档并开启归档模式是进行热备的前提条件。2按备份内容分类全库备份包含指定库的全部有效数据页完整数据库保护表空间备份备份指定表空间局部保护表级物理备份一次备份一张用户表特定表保护归档备份只备份归档日志文件配合数据备份形成完整恢复链3按备份完整性分类全量备份包含所有有效数据页自身即可独立恢复差异增量备份备份自上次备份以来的变化数据页基备份可以是全量或增量累积增量备份备份自上次全备以来的所有变化基备份只能是全量备份1.3 示例联机全量备份SQLALTER DATABASE MOUNT;//开启配置状态 SQLALTER DATABASE ARCHIVELOG;//开启归档 SQLALTER DATABASE ADD ARCHIVELOGDEST C:\dmdbms\data\DMOA\arch, TYPE LOCAL, FILE_SIZE 1024, SPACE_LIMIT 2048;// 添加归档配置 SQLALTER DATABASE OPEN;//开启打开状态 SQLSELECT ARCH_MODE FROM V$DATABASE;//查看验证是否开启归档模式 SQLBACKUP DATABASE;// 执行全量备份使用DMRMAN进行脱机备份与还原脱机备份首先关闭数据库服务DMOA启动DMAP服务然后进入RMAN工具执行备份RMANBACKUP DATABASEC:\dmdbms\data\DMOA\dm.ini;脱机还原以同机还原为例1.进入RMAN校验备份集RMANcheck backupsetC:\dmdbms\data\DMOA\bak\DB_DMOA_FULL_20260805_112745_6057582.还原目标库需处于关闭状态 RMANrestore databaseC:\dmdbms\data\DMOA\dm.inifrom backupsetC:\dmdbms\data\DMOA\bak\DB_DMOA_FULL_20260805_112745_6057583.恢复 RMANrecover databaseC:\dmdbms\data\DMOA\dm.inifrom backupsetC:\dmdbms\data\DMOA\bak\DB_DMOA_FULL_20260805_112745_605758更新DB_MAGICRMANrecover databaseC:\dmdbms\data\DMOA\dm.iniupdate db_magic最后重启数据库。二、逻辑备份还原2.1 基本原理本质逻辑备份是对数据库逻辑组件如表、视图、存储过程、函数、触发器、序列等数据库对象等的备份还原过程。与物理备份直接拷贝数据文件不同逻辑备份通过提取数据库对象的结构定义DDL和数据行内容生成独立于物理存储格式的备份文件.dmp。这些备份文件实质上是可读的SQL语句集合记录了对象的创建脚本和数据插入语句。核心工具dexp用于逻辑导出将数据库对象导出为.dmp文件dimp用于逻辑导入将.dmp文件导入目标数据库两个工具都是联机工具位于bin目录下。逻辑导入导出要保证源数据库和目标数据库的初始化参数一致性。2.2 逻辑备份级别1数据库级FULL对整个数据库中的所有对象进行操作包括所有用户、模式、表、视图、存储过程等全部数据库对象。dexp/dimpUSERIDSYSDBA/**ip:portFILE*.dmpLOG*.logDIRECTORY/*/*FULLY适用场景全库备份作为物理备份的补充、完整跨平台迁移、克隆测试环境。2用户级OWNER对一个或多个用户所拥有的所有对象进行操作。dexp/dimpUSERIDSYSDBA/**ip:portFILE*.dmpLOG*.logOWNERUSER01DIRECTORY/*/*适用场景迁移特定用户数据、用户级别备份、用户重部署。支持REMAP_SCHEMA将源用户映射到目标端的不同用户。3模式级SCHEMAS对一个或多个模式下的所有对象进行操作。dexp/dimpUSERIDSYSDBA/**ip:portFILE*.dmpLOG*.logSCHEMASUSER01DIRECTORY/*/*适用场景特定业务模块迁移、模式重命名迁移、部分数据同步。4表级TABLES对指定的一个或多个表进行操作。dexp/dimpUSERIDSYSDBA/**ip:portFILE*.dmpLOG*.logTABLEStable1DIRECTORY/*/*适用场景单表恢复、特定表数据导出。2.3 示例按四个不同级别逻辑导出全库导出./dexpUSERIDSYSDBA/****localhost:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEfull_backup.dmpLOGfull_export.logFULLY按用户导出./dexpUSERIDSYSDBA/****localhost:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEuser_backup.dmpLOGuser_export.logOWNERTEST_USER按模式导出./dexpUSERIDSYSDBA/****localhost:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEschema_backup.dmpLOGschema_export.logSCHEMASTEST_SCHEMA按表导出./dimpUSERIDSYSDBA/***localhost:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEfull_backup.dmpLOGfull_import.logFULLY按四个不同级别逻辑导入全库导入./dimpUSERIDSYSDBA/****192.168.138.129:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEfull_backup.dmpLOGfull_import.logFULLY按用户导入./dimpUSERIDSYSDBA/****192.168.138.129:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEuser_backup.dmpLOGuser_import.logOWNERTEST_USER按模式导入./dimpUSERIDSYSDBA/****192.168.138.129:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEschema_backup.dmpLOGschema_import.logSCHEMASTEST_SCHEMA按表导入./dimpUSERIDSYSDBA/****192.168.138.129:5236DIRECTORY/dm/dmdba/dmdbms/backupFILEtable_backup.dmpLOGtable_import.logTABLESSYSDBA.T3https://eco.dameng.com