前言:在数据库目录规划时,数据库安装路径和数据文件存储的物理路径是必须要提前规划好的,并且需要定期对其进行巡检,数据库安装目录下的log目录中日志文件是我们需要特别关注的,很多报错、告警信息都被记录在里面;数据存储路径中,用于存放数据库所需的各类物理文件,因此对磁盘空间需求较高,现场经常由于巡检不及时造成各类问题,其中数据盘被占满十分常见,本次主要介绍数据盘被占满的恢复思路及实际操作。
数据盘被占满时数据库无法提供服务,如何解决我们有两种思路,一是将数据盘中的部分文件挪到新的文件存储路径中,但经常由于现场无其他挂载磁盘或其他盘容量较小,迁移的文件过小也无法保障后续的数据库使用;二是想办法启动数据库,将部分历史数据压缩迁移走或将无用的备份数据删除,这点要提前与客户确认。这两点都需要先将数据库服务器数据盘释放出一定空间。
在空间释放前,我们需要知道数据目录下我们需要挪移走哪些文件,如何挪移。大家都知道DM数据库启动所需文件和Oracle十分类似,其必要的物理文件有:参数文件、控制文件、数据文件、联机日志文件,默认情况下均存放在数据目录下。
其中控制文件和参数文件较小,及时挪移走也无法释放较大空间。
本次处理过程中发现数据文件均较大,每个都超过了其他盘的剩余容量,因此我们把迁移的对象放在了联机日志文件上。
经查看发现联机日志文件DAMENG01.log DAMENG02.log大小均为2G,我们现将日志文件挪到其他dmdba有权限的目录下,然后修改控制文件中的日志文件存储路径,让数据库在启动时能够识别到挪移走到日志文件。
如果是现网环境,进行操作期间为避免业务干扰,最好将dm.ini中数据库端口参数进行修改,防止业务连库。
一切准备就绪后,此时就要用的我们达梦的dmctlcvt工具,对控制文件内容进行修改。
具体步骤为:先将cm.ctl参数文件转换为可读取的文本文件,修改其文本文件,再利用修改后的文本文件重新生成cm.ctl控制文件。(这一步记得备份之前的控制文件或者将之前的文件mv,以防修改出问题。)其对应步骤分别为途中的
TYPE=1
在数据库可以正常启动后,最好做一次数据库全备。
数据库能够使用后,可以与客户沟通,如何将库内历史数据迁移走或删除,之后再还原dm.ini内的数据库端口参数,数据库即可恢复使用。
达梦社区地址 https://eco.dameng.com
文章
阅读量
获赞