DBA运维小技巧之存储篇-Oracle服务器根目录满了怎么处理(1)LVM情况

故障发生了!

周末正在逛街DBA小倩接到一个客户紧急任务,客户说自己的业务数据库突然不好使了,连接也出现了问题,开发人员连库就报这个错
 

image.png


还好正在逛街的小倩同学随身带了笔记本电脑
 

image.png


小倩要来了系统的登录用户名密码,登录到了数据库服务器一看
好家伙!根目录满了。
 

image.png


仔细检查发现,之前软件实施的人员把数据库直接装到了根目录下,最后导致根目录空间耗尽,数据库无法写入审计文件,无法登录了。该服务器在系统上还只有1个硬盘。

[root@dbserver /]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
devtmpfs                devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                   tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs                   tmpfs     1.9G   12M  1.9G   1% /run
tmpfs                   tmpfs     1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        50G   50G   33M 100% /
/dev/mapper/centos-home xfs       445G   33M  445G   1% /home
/dev/sda1               xfs      1014M  151M  864M  15% /boot
tmpfs                   tmpfs     378M     0  378M   0% /run/user/0
[root@dbserver /]# ls 
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  u01  usr  var

根分区是没地方了,可是/home分区却几乎没用。
这就是之前的集成实施人员和软件实施人员没有对接好,两个人都是二把刀,导致这么个结果。

此时如何快速恢复业务呢?

经过检查/home分区下只有用户的默认文件夹,并无其它生产数据。
与客户沟通后,客户没有相关的系统维护人员,全能小倩同学只能啥都干(锅来了也得接)
 

image.png


于是小倩建议客户把/home分区删除,扩容到根分区里,快速恢复业务。
说干就干,首先,先去$ORACLE_BASE目录下释放一点文件,比如下面这些,都可以删除

/u01/app/oracle/diag/rdbms/orcl/orcl/alert   目录下的log_*.xml文件
/u01/app/oracle/diag/rdbms/orcl/orcl/trace   目录下的日志文件,alert_orcl.log如果不是很大,不建议删除。

备份一下home下的文件,检查了只有oracle目录。

[root@dbserver home]# ls -al
total 0
drwxr-xr-x.  3 root   root  20 Sep  7 21:59 .
dr-xr-xr-x. 18 root   root 255 Sep  7 22:00 ..
drwx------   2 oracle dba   62 Sep  7 21:59 oracle

这里我们用cp 直接复制/home目录下的文件到/root目录下。r表示目录下所有子目录也复制,p表进带权限复制。

cd /home/
cp * -rp /root/
cd ~

下一步,我们要卸载/home分区,把/home分区对应的lv删除。

[root@dbserver ~]# umount  /home/
[root@dbserver ~]# lvremove /dev/centos/home 
Do you really want to remove active logical volume centos/home? [y/n]: y
  Logical volume "home" successfully removed

查看VG有空闲空间,这里我们再把剩余的空间扩容到根分区所属于的名为root的lv里。扩容lv后,在线直接扩容设备/dev/mapper/centos-root对应的根文件系统。扩容成功后根分区空间立即够用了,业务立马恢复。

[root@dbserver ~]# vgs
  VG     #PV #LV #SN Attr   VSize    VFree  
  centos   1   2   0 wz--n- <499.00g 445.12g
[root@dbserver ~]# lvresize -l +100%FREE /dev/centos/root 
  Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 495.12 GiB (126751 extents).
  Logical volume centos/root successfully resized.
[root@dbserver ~]# lvs
  LV   VG     Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root centos -wi-ao---- 495.12g                                                    
  swap centos -wi-ao----  <3.88g 
[root@dbserver]# xfs_growfs /dev/mapper/centos-root 
meta-data=/dev/mapper/centos-root isize=512    agcount=4, agsize=3276800 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=13107200, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=6400, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 13107200 to 129793024
[root@dbserver]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G   12M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/centos-root  496G   50G  446G  11% /
/dev/sda1               1014M  151M  864M  15% /boot
tmpfs                    378M     0  378M   0% /run/user/0

由于上文中通过df -Th看到了/分区的文件系统是xfs格式,所以最后用xfs_growfs扩容。
如果/分区是ext4的话,最后一步需要用resize2fs来进行动态扩容

resize2fs  /dev/mapper/centos-root 

最后别忘记了把备份走文件恢复到/home目录下。

[root@dbserver ~]# cp -rp oracle/ /home/

还有就是要把/etc/fstab里的/dev/mapper/centos-home挂载选项删除,否则下次重启开不开机了。

#删除这行或者注释掉
/dev/mapper/centos-home /home                   xfs     defaults        0 0

完美收工了?

你以为这样就完了么?
没过1天,领导又找到了小倩,领导说客户觉得数据库放在本地磁盘空间太小了,性能也不好,他们又搞了个磁盘阵列,想把数据库整体迁移到存储上,想让你处理一下。
下一期我们一起来看看DBA小倩同学怎么操作

image.png

也欢迎关注我们的公众号【青年数据库学习互助会】
青学会汇集各路数据库大牛,一起互助学习、进步。

青学会公众号.jpg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874071.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AIGC之GAN生成器和判别器的公式

提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 在GAN&#xff08;生成对抗网络&#xff09;中&#xff0c;生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;通常是通过神经网络实现的&#xff0c;因此它们并没有…

林草湿地址、导出echart为word

2.导出 // 导出exportDoc () {this.loading truelet arrRefs [this.$refs.endChart, this.$refs.processChart, this.$refs.officeEndChart]setTimeout(() > {Promise.all(arrRefs.map((canvasDom) > {return this.html2canvasHandle(canvasDom)})).then(res > {let…

【AIGC】InstructPixPix:基于文本引导的图像编辑技术

github:diffusers/examples/instruct_pix2pix/train_instruct_pix2pix_sdxl.py at main huggingface/diffusers GitHub 论文&#xff1a;https://arxiv.org/pdf/2211.09800 摘要 我们提出了一种从人类指令编辑图像的方法&#xff1a;给定一个输入图像和告诉模型做什么的书面…

百度MEG数据开发治理平台-TDS

导读 百度MEG的上一代大数据产品存在平台分散、质量不均和易用性差等问题&#xff0c;导致开发效率低下、学习成本高&#xff0c;业务需求响应迟缓。为了解决这些问题&#xff0c;百度MEG内部开发了图灵3.0生态系统。图灵3.0覆盖了数据全生命周期&#xff0c;包括Turing Data …

人工智能数据基础之概率论入门-学习篇

目录 基本概念随机变量及其分布期望、方差、协方差常见概率分布大数定律与中心极限定理 一、基本概念 1. 试验、事件与样本空间&#xff1a; 试验&#xff08;Experiment&#xff09; 试验是指对一个或多个试验对象进行一次观察或测量的过程。试验具有以下几个特点&#xf…

【计算机网络】电路交换、电报交换、分组交换

【计算机网络】电路交换、电报交换、分组交换 目录 【计算机网络】电路交换、电报交换、分组交换1. 电路交换2. 电报交换3. 分组交换4. 基于分组交换~“虚电路交换”技术 1. 电路交换 电路交换&#xff08;Circuit Switching&#xff09;:通过物理线路的连接&#xff0c;动态地…

JavaScript练手小技巧:利用鼠标滚轮控制图片轮播

近日&#xff0c;在浏览网站的时候&#xff0c;发现了一个有意思的效果&#xff1a;一个图片轮播&#xff0c;通过上下滚动鼠标滚轮控制图片的上下切换。 于是就有了自己做一个的想法&#xff0c;顺带复习下鼠标滚轮事件。 鼠标滚轮事件&#xff0c;参考这篇文章&#xff1a;…

【人工智能学习笔记】4_2 深度学习基础之多层感知机

感知机概述 感知机是人工智能最早的模型,是一种有监督的算法,本质上是一个二分类问题,是神经网络和支持向量机的基础缺点:感知机智能解决单纯的线性问题 感知机的过程 多层感知机的层级结构 多层感知机的层级结构主要包括输入层、隐藏层和输出层、可以用于拟合非线性函数。…

初中生台灯哪个牌子的质量好?五款真的有护眼效果的台灯

现在市面上形形色色的打着“护眼”口号的台灯太多了&#xff0c;因为眼睛对于我们来说很重要&#xff0c;我们看到美丽的事物都因为有他&#xff0c;所以大家一听到护眼就会选择购买。初中生台灯哪个牌子的质量好&#xff1f;很多商家为了赚钱&#xff0c;随便贴个标签就说护眼…

【Mysql】系统服务启动访问报错问题处理:this is incompatible with sql_mode=only_full_group_by

一、背景&#xff1a; 本来已经正常运行的平台&#xff0c;突然有一天由于对服务器进行部分操作迁移&#xff0c;发现jar可以正常启动&#xff0c;但是访问功能一直报错&#xff0c;监控后台日志后&#xff0c;发现了问题&#xff1a; 报错的具体信息如下&#xff1a; Caused…

安全产品概述

防火墙 防火墙的核心功能是过滤掉有害的流量&#xff0c;在专用网络和公共网络之间建立保护屏障。防火墙过滤通常基于一系列规则&#xff0c;如 IP 地址、域名、协议、端口号、关键字等&#xff0c;对入站和出站的流量进行过滤。这些规则也称为访问控制列表&#xff08;ACCESS…

JSON格式

JSON&#xff08;JavaScript Object Notation, JS对象简谱&#xff09;是一种轻量级的数据交换格式。JSON 就是一种字符串格式,这种格式无论是在前端还是在后端,都可以很容易的转换成对象,所以常用于前后端数据传递 说明&#xff1a; JSON的语法 ​ var obj“{‘属性名’:‘…

Vue3.0项目实战(三)——大事件管理系统首页 layout 架子与文章分类的实现

目录 1. 首页 layout 架子 [element-plus 菜单] 1.1 基本架子拆解 2. 登录访问拦截 2.1 需求 2.2 vue3 和 vue2 中的 Vue-Router 区别 3. 用户基本信息获取&渲染 4. 退出功能 [element-plus 确认框] 5. 文章分类页面 - [element-plus 表格] 5.1 基本架子 - PageCo…

Tomcat Request Cookie 丢失问题

优质博文&#xff1a;IT-BLOG-CN 一、问题描述 生产环境偶尔(涉及到多线程处理)出现"前端传递Cookie为空"的告警&#xff0c;导致前端请求丢失&#xff0c;出现请求失败问题。告警内容如下 前端传递Cookie为空 告警内容&#xff1a;服务端获取request Cookie为空&…

大屏地图区域显示、复选框多选打点,自定义窗体信息(vue3+TS)

效果图&#xff1a; NPM 安装 Loader&#xff1a; npm i amap/amap-jsapi-loader --save 并设置 key 和安全密钥&#xff1a; import AMapLoader from amap/amap-jsapi-loader;//引入高德地图window._AMapSecurityConfig {securityJsCode: "「你申请的安全密钥」"…

[数据集][目标检测]百事可乐可口可乐瓶子检测数据集VOC+YOLO格式195张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;195 标注数量(xml文件个数)&#xff1a;195 标注数量(txt文件个数)&#xff1a;195 标注类别…

前端登录鉴权——以若依Ruoyi前后端分离项目为例解读

权限模型 Ruoyi框架学习——权限管理_若依框架权限-CSDN博客 用户-角色-菜单&#xff08;User-Role-Menu&#xff09;模型是一种常用于权限管理的设计模式&#xff0c;用于实现系统中的用户权限控制。该模型主要包含以下几个要素&#xff1a; 用户&#xff08;User&#xff09;…

【VSCode v1.93.0】手动配置远程remote-ssh

开发环境 VS Code版本&#xff1a;1.93.0 (Windows) Ubuntu版本&#xff1a;20.04 使用VS Code 插件remote-ssh远程访问Ubuntu服务器中的代码&#xff0c;若Ubuntu无法联网&#xff0c;在连接的时候会报错&#xff1a; Could not establish connection to "xxxx": F…

店匠科技携手Stripe共谋电商支付新篇章

在全球电商行业蓬勃发展的背景下,支付环节作为交易闭环的核心,其重要性日益凸显。随着消费者对支付体验要求的不断提高,以及跨境电商的迅猛发展,支付市场正经历着前所未有的变革与挑战。在这一充满机遇与竞争的领域,店匠科技(Shoplazza)凭借其创新的嵌入式支付解决方案—— Sho…

【Obsidian】同步插件 Remotely Save 的应用介绍

背景 引言&#xff0c;大多数的笔记软件数据都存储在云端&#xff0c;这样如果是没网络&#xff0c;或者笔记服务器崩溃故障&#xff0c;那么你就无法访问自己的笔记了&#xff0c;前段时间的语雀系统崩溃&#xff0c;不知道你有没有了解&#xff1f; 所以笔记在自己手里&…