DM备份数据库
前提条件:数据库已开启归档日志
- 检查数据库是否开启归档日志
打开DM管理工具,在查询窗口执行如下语句:
SELECT ARCH_DEST, ARCH_FILE_SIZE, ARCH_SPACE_LIMIT FROM V$DM_ARCH_INI WHERE ARCH_TYPE='LOCAL' AND ARCH_IS_VALID='Y'; |
查询结果为空,则表示数据库没有开启归档日志,执行操作:配置归档日志。
查询结果存在,则表示数据库已经开启归档日志,则可以执行操作:备份数据库。
- 配置归档日志
打开DM管理工具,在查询窗口执行如下语句:
ALTER DATABASE MOUNT; ALTER DATABASE ADD ARCHIVELOG 'DEST = /opt/dmdbms/data/arch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 10240'; ALTER DATABASE ARCHIVELOG; ALTER DATABASE OPEN; |
再次查询,显示结果为设置的当前目录,说明归档开启成功。
备份数据库
打开DM管理工具,在查询窗口执行如下语句:
backup database full to nxxtdb_fullbak_* bakfile '/opt/dmdbms/data/nxxtdb/bak/nxxtdb_fullbak_*.bak'; |
执行结果如下图所示:执行成功则表示数据库完全备份成功。
DM还原数据库
前提条件:数据库服务已关闭,有效备份文件和归档日志
- 关闭数据库服务
打开操作系统终端,在终端执行如下语句:
su - dmdba service DmServicenxxtdb status #如数据库服务显示running,则执行命令:关闭数据库服务 service DmServicenxxtdb stop |
- 还原到备份文件状态
打开操作系统终端,在终端执行如下语句:
su - dmdba /opt/dmdbms/bin/dmrestore ini_path=/opt/dmdbms/data/nxxtdb/dm.ini file=/opt/dmdbms/data/nxxtdb/bak/nxxtdb_fullbak_*.bak |
备注:根据实际情况填写具体的备份文件名 |
2、还原到归档最新状态-备份文件+归档日志
打开操作系统终端,在终端执行如下语句:
su dmdba /opt/dmdbms/bin/dmrestore ini_path=/opt/dmdbms/data/nxxtdb/dm.ini file=/opt/dmdbms/data/nxxtdb/bak/nxxtdb_fullbak_*.bak ARCHIVE_DIR=/opt/dmdbms/data/arch |
备注:根据实际情况填写具体的备份文件名 |
- 还原完成后启动数据库服务
打开操作系统终端,在终端执行如下语句:
su dmdba service DmServicenxxtdb start |
注意事项
需要定期检查现场机器存储容量,避免存储剩余容量不足导致问题。
打开操作系统终端,在终端执行如下语句:
#查看系统存储容量使用情况 df -h |
注意:需要根据现场的存储容量合理规划归档日志总大小的设置。
下面语句中SPACE_LIMIT = 10240 表示 归档日志总大小是10240M ,即10G。现场根据实际情况调整此参数值。
ALTER DATABASE ADD ARCHIVELOG 'DEST = /opt/dmdbms/data/arch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 10240'; |
需要根据现场的存储容量、数据量规模、备份文件大小和归档日期有效性;合理设置手动备份的周期。保证存在一个备份文件的备份时间是大于归档日志的有效时间。
打开操作系统终端,在终端执行如下语句:
#查看备份文件的信息 du -sh /opt/dmdbms/data/nxxtdb/bak/* #查看归档日志信息 ls -al /opt/dmdbms/data/arch/ |
如上图所示,标红内容进行比较,备份文件的时间要大于第一个有效归档日志时间。才能保证备份文件+归档日志的还原方式成功还原到归档最新状态。
关于达梦数据库更多的相关问题请浏览达梦云适配技术社区
达梦云适配技术社区
https://eco.dameng.com/