达梦单机数据库服务器磁盘空间占满问题
首先说一下关于达梦数据库中用户表空间数据文件磁盘占用问题,在达梦数据库中,用户表空间是不能回缩的,即使删除掉表空间中的表,对应的数据文件在磁盘中的大小不会变小,但是数据文件中的可用空间会变大。每个数据文件的大小以及可用空间大小可以通过V$DATAFILE查询:
SELECT PATH,TOTAL_SIZE,FREE_SIZE,PAGE_SIZE FROM V$DATAFILE;
其中TOTAL_SIZE和FREE_SIZE的单位为页数,PAGE_SIZE为页大小,单位为BYTE。
达梦系统表空间中,TEMP表空间的大小在每次数据库重启后会回缩。
然后开始讲单机情况下,服务器磁盘空间被占满的处理方法,可以分为以下两种情况:
- 服务器磁盘空间被占满,但数据库服务还在,执行数据插入操作时报错“磁盘空间不足”;
- 服务器磁盘空间被占满,导致数据库服务异常终止;
对于第一种情况,解决方法比较简单:
首先给服务器加存储,存储挂载步骤及开机自动挂载这里不详细展开,需要注意的是,开机自动挂载一定要配置,避免服务器重启后磁盘没挂上导致数据库异常。
存储挂载完成后(假设挂在了/data2目录下),需要修改该目录的所属用户及组信息(注意,如果服务是用root启动则不用修改,但一般建议服务使用dmdba用户启动):
chown -R dmdba:dinstall /data2
然后,使用管理工具连接数据库,右键查看每个表空间的属性,找出空间使用率较高的表空间(我这里是测试环境,空间占用率都不高,一般磁盘满的情况下,会有表空间的使用率达到百分之九十以上):
找出空间使用率较高的表空间之后,在对应的表空间上右键、修改、添加数据文件:
文件路径写新磁盘挂载路径+数据文件名,如:/data2/MAIN_02.DBF,文件大小可以不用修改,自动扩充改为打开,剩下的参数也不用修改。然后点击确定。
对所有使用率较高的表空间重复以上操作即可。操作完成后,去操作系统上检查新创建的数据文件是否存在。
对于第二种情况,当数据库服务已经异常退出了,首先查看服务器上有没有可以删除的文件,如冗余的备份、归档文件等(注意,数据库目录下一般会有两个后缀为.log的文件,默认名字是DAMENG01.log和DAMENG02.log,不能删!!不能删!!!),清理出一部分空间后再试着重启数据库服务,看能否正常启动。若能,则转上述情况一处理;若不能,则按以下步骤操作:
首先还是挂载存储、配置开机自动挂载、修改挂载目录的所属用户和组。
然后找到原来的数据库目录,用du -sh *.DBF查看每个数据文件的大小,挑选一到两个较大但又不是特别大的DBF文件,用cp命令拷贝到新挂载的路径下(用cp!不要用mv!),拷贝完成后,再次修改新挂载路径的所属用户和组为dmdba:dinstall。
然后,进入数据库bin目录,使用dmctlcvt工具,将dm.ctl文件(位于数据库目录下,和dm.ini同一目录)转换成文本格式,如:
./dmctlcvt type=1 src=/opt/dameng/data/DAMENG/dm.ctl dest=/opt/dmctl.txt
注意:dmctlcvt工具的用法不同版本可能不一样,可以使用./dmctlcvt help来查看具体用法。
打开转换之后的dmctl.txt文件,找到之前cp的数据文件,修改原路径为cp之后的路径。修改完成之后保存退出。
然后将原来数据库目录下的dm.ctl文件备份一下,如:mv dm.ctl dm_bak.ctl
然后再回到数据库bin目录下,将修改之后的dmctl.txt再使用dmctlcvt工具转换成ctl文件,如:
./dmctlcvt type=2 src=/opt/dmctl.txt dest=/opt/dameng/data/DAMENG/dm.ctl
转换完成后,进入数据库目录,修改新生成的dm.ctl文件的所属用户及组:
chown -R dmdba:dinstall dm.ctl
然后启动数据库服务。这时,服务应该能正常启动了。
使用管理工具连接数据库,查询V$DATAFILE,确认移动之后的数据文件路径准确,这时可以去源路径下删除已经移走的数据文件了(注意不要删错了!!!!)
然后可以继续使用情况一中的方式,为其它空间使用率较高的表空间新加数据文件到新路径下。
OK,至此圆满解决。
达梦单机数据库服务器磁盘空间占满问题相关推荐
- 关于Linux服务器磁盘空间占满问题的解决方法
下面给大家分享一篇关于Linux服务器磁盘占满问题解决方法(/dev/sda3 满了),需要的的朋友参考下吧 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望 ...
- (转)Linux服务器磁盘空间占满问题
转自:https://www.cnblogs.com/cindy-cindy/p/6796684.html 下面我们一起来看一篇关于Linux服务器磁盘占满问题解决(/dev/sda3 满了),希望碰 ...
- java检测服务器磁盘空间占满_Java性能检测工具-记录一次通过jstack排查Linux服务器CPU占用率很高的实践...
一.问题描述 Linux服务器的配置是4核16G,将war包部署到tomcat后,启动tomcat,发现内存占用率不高,但是CPU一直高达100%:浏览器输入相关url也无法访问该项目,且tomcat ...
- 服务器磁盘空间占满了排查原因
前言 提示:我遇到过很多次磁盘被占满的情况,觉得这个问题可能大家也会经常遇到,特意记录在此,希望对大家有所帮助- 文章目录 前言 一.查看磁盘空间使用情况 二.排查过程 1.切换到/目录下(从/目录开 ...
- 问题解决:Ubuntu 磁盘空间占满如何清理
磁盘空间占满了,有两种解决办法:开源节流.这里我讲节流. 一个命令(从根目录开始): du -h --max-depth=1 该命令用于罗列当前目录下一级以内东西大小,转换成普通人能看的. 递归. 找 ...
- 达梦单机数据库安装(for linux)
安装前准备和检查 1.1检查磁盘调度算法 --检查sda磁盘的调度算法 [root@~]# cat /sys/block/vdc/queue/scheduler --永久修改,修改内核引导参数,加入e ...
- 服务器磁盘空间已满但并没有什么文件,win10 D盘没多少文件,但磁盘却满了
满意答案 莫知我哀2000 2017.04.08 采纳率:41% 等级:9 已帮助:265人 软官方发布的信息显示,电脑升级Win10,至少需要满足以下基本硬件条件:CPU支持SSE2.NX;物 ...
- 记录一次Centos磁盘空间占满的解决办法
这里写链接内容 解决前 磁盘使用情况: 第二块磁盘使用率达到97% [root@feng020 ~]# df -l Filesystem 1K-blocks Used Available Use% M ...
- BenchmarkSQL测试工具 对 DM 达梦单机数据库进行tpcc测试
1 下载BenchmarkSQL 自行去官网下载 ,此处不贴下载链接: 略 : 自行去官网下载 ,个人实验用的是5.0版本 上传到到DM服务器并解压缩 [dmdba@centos benchmarks ...
- linux系统var日志磁盘满了,Linux 系统(Centos版本)磁盘空间占满的解决办法。
这两天 ,服务器借给了朋友 搭建 三端合一的 游戏,结果没弄成. 还给我服务器的时候,卧槽!!! ,40G的硬盘,使用率 百分百,这是放种子了??? 算了 ,自己借出去的服务器,含着泪也要修好. 本 ...
最新文章
- 苛评VCL: 接口与TObject
- 为什么手机突然没有信号无服务器,手机为什么突然没有信号?
- 全球超算500强新榜发布:美国卫冕 中国力争
- [ES6] 细化ES6之 -- 函数的扩展
- RabbitMQ详解(一)
- Junit下获取src/test/resource路径
- Something about TFS
- [转][Python小记] 通俗的理解闭包 闭包能帮我们做什么?
- fft谱分析的误差有哪些原因造成的?如何减小分析误差。_频谱分析仪25问
- 关于C++的建议,仅仅为了规范代码(二)
- 【转】Java杂谈(九)--Struts
- ffmpeg 中av_rescale_rnd 的含义
- 薅羊毛php源码,薅羊毛软件-抢福袋源码分享
- ThreadPoolExecutor线程池 —————— 开开开山怪
- Spark的宽窄依赖
- 了解标量、向量和点积
- shell脚本一键装机(pxe配合kickstart无人值守)
- 轴旋转——制作别样的图片浏览器
- CSS透明度之rgba和opacity的区别
- Python实验之——输出数字金字塔
热门文章
- python使用OpenCV-Python结合百度图像识别api实现图片中的文字识别
- linux安装富士施乐打印机驱动下载,Ubuntu 8.04下安装Xerox打印机记录
- php+mysql新闻发布系统(一)
- jsp网页视频播放器
- Python爬虫自己写项目之:爬取火车站的时刻表和票务信息
- 春节要闻回顾 | 数字人民币和元宇宙被搬上春晚;美国财政部报告警告NFT可用于洗钱...
- 数字孪生:第三人称鼠标操作
- odoo16 Windows绿色版 下载就能尝试了
- 考研复试对计算机专业了解,装备学院计算机专业综合(905)2017年考研复试大纲...
- Python美女图片爬虫实战