达梦归档、备份与还原
1、归档配置1.1为什么需要配置归档a.数据安全与恢复允许数据库进行联机热备份。在非归档模式NOARCHIVELOG下只能进行冷备份数据库需要关闭。b.时间点恢复结合备份和归档日志可以将数据库恢复到自备份以来的任意时间点最大程度减少数据丢失。c.数据同步主备集群如数据守护、DSC等高级功能都依赖于归档日志的传输和应用。1.2、配置归档的步骤检查数据库环境是否是归档模式如果显示Y则为归档模式否则为非归档模式。SQL select arch_mode from v$database;配置数据库到MOUNT状态SQL alter database mount;开启归档模式SQL alter database archivelog;配置归档路径SQL ALTER DATABASE ADD ARCHIVELOG ‘DEST /dm8/dmbak, FILE_SIZE 2048, TYPE LOCAL’;配置数据库到open状态SQL alter database open;验证配置SQL select arch_mode from vdatabase; 查询已配置的归档目的地信息 SQL SELECT ARCH_DEST, ARCH_FILE_SIZE, ARCH_SPACE_LIMIT FROM VDM_ARCH_INI;2、sql 日志2.1 什么是 SQL 日志与记录数据物理变化的归档日志Archive Log 不同SQL 日志记录的是逻辑操作即客户端发起的每一条 SQL 语句、执行时间、用户信息、影响行数等。它主要用于a.安全审计追踪谁在什么时间执行了什么操作b.性能分析找出执行缓慢的 SQL 语句慢查询c.故障排查重现问题发生前后执行的 SQL 序列d.SQL回放为数据复制、迁移等场景提供源数据。2.2开启和关闭 SQL 日志2.2.1 检查当前状态SQL SELECT SF_GET_PARA_VALUE(1, ‘SVR_LOG’);如果返回 0 表示关闭1 表示开启。2.2.2 开启 SQL 日志SQL SELECT SF_GET_PARA_VALUE(1, ‘SVR_LOG’);2.2.3 关闭 SQL 日志SQL SP_SET_PARA_VALUE(1, ‘SVR_LOG’, 0);3、配置 SQL 日志sqllog.ini3.1 配置文件结构SQL日志配置部分[SLOG_ALL][SLOG_ALL]FILE_PATH …/log # 日志文件存放目录PART_STOR 0 # 是否分区存储0 不分1 按时间分2 按大小分SWITCH_MODE 2 # 日志切换模式0 不切换1 按大小2 按时间SWITCH_LIMIT 256 # 切换限制。按大小(MB)或时间(分钟)ASYNC_FLUSH 1 # 是否异步刷盘0 否1 是FILE_NUM 100 # 保留的日志文件个数ITEMS 0 # 记录哪些内容0 全部可组合 (见下文)SQL_TRACE_MASK ‘’ # SQL匹配掩码如 ‘LIKE%’ 只记录LIKE开头的SQLMIN_EXEC_TIME 0 # 最小执行时间(ms)大于此值的SQL才记录用于抓慢SQL3.2 关键参数详解3.2.1 ITEMS最重要的参数之一决定记录哪些信息。它是一个位掩码可以通过相加来组合功能。1记录 SQL 语句2记录事务相关提交、回滚4记录执行计划性能分析神器8记录绑定参数16记录执行时间开始、结束时间戳32记录影响行数64记录执行结果成功/失败0 或 (1248163264) 127表示记录所有信息。3.2.2 MIN_EXEC_TIME抓取慢查询。例如设置为 1000则只记录执行时间超过 1 秒的 SQL。3.2.3 SQL_TRACE_MASK / USER_MASK用于过滤只记录特定模式或用户的 SQL避免日志量过大。3、备份和还原3.1 物理备份与还原3.1.1 物理备份a.关闭数据库systemctl stop DmServiceDMSERVER.serviceb.启动dmrman[dmdbalocalhost ~]$ /dm8/dmdbms/bin/dmrmanc.在dmrman命令行中执行备份RMAN BACKUP DATABASE ‘/dm8/data/DAMENG/dm.ini’ FULL TO BAK_FULL_OFFLINE BACKUPSET ‘/dm8/dmbak/full_offline_bak’;3.1.2 物理还原a.关闭数据库systemctl stop DmServiceDMSERVER.serviceb.启动dmrman[dmdbalocalhost ~]$ /dm8/dmdbms/bin/dmrmanc.还原数据库指定数据库的dm.ini文件和备份集位置RESTORE DATABASE ‘/dm8/data/DAMENG/dm.ini’ FROM BACKUPSET ‘/dm8/dmbak/full_offline_bak/’;d.如果还有归档备份也需要指定RMAN RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ WITH ARCHIVEDIR ‘/dm8/dmbak’;e.更新数据库魔数DB_MAGIC恢复后必做RMAN RECOVER DATABASE ‘/dm8/data/DAMENG/dm.ini’ UPDATE DB_MAGIC;3.2 逻辑备份与还原3.2.1 dexp 逻辑导出a.全库导出 (FULL)./dexp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEfull_exp.dmp LOGfull_exp.log FULLYb.按模式导出 (SCHEMAS) - 最常用./dexp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical1 FILEschema_exp.dmp LOGschema_exp.log SCHEMASDMUSER1,DMUSER2c.按表导出 (TABLES)./dexp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEtable_exp.dmp LOGtable_exp.log TABLESDMUSER1.TABLE1,DMUSER1.TABLE23.2.2 dimp 逻辑导入a.全库导入 (FULL) - 需要导入元数据用户、权限等./dimp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEfull_exp.dmp LOGfull_imp.log FULLYb.按模式导入 (SCHEMAS) - 导入到原模式./dimp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEschema_exp.dmp LOGschema_imp.log SCHEMASDMUSER1,DMUSER2c.按模式导入 (SCHEMAS) - 导入到新模式 (REMAP_SCHEMA)./dimp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEschema_exp.dmp LOGschema_imp.log SCHEMASDMUSER1 REMAP_SCHEMADMUSER1:DMUSER_NEWd.按表导入 (TABLES)./dimp USERID用户/密码127.0.0.1:5236 DIRECTORY/dm8/backup/logical FILEtable_exp.dmp LOGtable_imp.log TABLESDMUSER1.TABLE1,DMUSER1.TABLE2