想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。
加入方法:关注上方公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。
同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
正文开始
在日常的工作中,Linux系统作为服务器的基础操作系统,其重要性不言而喻。对于数据库管理员(DBA)来说,熟练掌握Linux命令是提升工作效率的关键。
快速定位大文件,释放磁盘空间
du -k * | sort -nr | cut -f2 | xargs -d '\n' du -sh | more
这个命令可以帮你快速找到占用大量空间的文件,从而及时清理,避免磁盘空间不足的问题。
Oracle数据库连接追踪
# 按Oracle SID查询客户端IP
netstat -anpT | grep oracleSID | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort
# 按监听端口1521查询客户端IP
netstat -anpT | grep 1521 | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort
通过这两个命令,你可以轻松地找出连接到特定Oracle实例或端口的客户端IP地址,有助于安全审计和故障排查。
断开非本地连接的Oracle会话
kill -9 `ps -ef | grep oracleSID | grep LOCAL=NO | grep -v grep | awk '{print $2}'`
当需要强制断开某些客户端与数据库的连接时,这个命令非常有用,它可以帮助你迅速解决问题。
监控网络连接数量
# 查询连接1521端口的进程数
netstat -pan | grep 1521 | wc -l
# 查询来自某台服务器192.168.1.1的连接的进程数
netstat -pan | grep 192.168.1.1 | wc -l
这两个命令能够帮助你了解服务器上的网络活动,特别是对数据库服务器而言,这对于性能监控至关重要。
分析各客户端的连接频率
netstat -apnT | grep 1521 | awk '{print $5}' | sort -u | grep -v 1521 | grep -v '*' | awk -F ':' '{print $4}' | uniq -c | sort -nr
这个命令可以帮助你了解哪些客户端最常访问你的数据库服务,从而优化资源分配。
显示占用空间最大的文件或目录
du -s * | sort -nr | head
通过这个命令,你可以快速找到磁盘上占用空间最多的前10个文件或目录,对于磁盘管理非常有帮助。
计算指定日期文件的总大小
ls --full-time `find ./* -name "log_*.bak"` | grep '2024-04-09' | awk '{print $9}' | xargs du -ck
如果你需要计算某个特定日期的日志文件总大小,这个命令可以派上用场。
文件清理
# 删除/oracle目录下所有.trc文件
find /oracle -name "*trc" -print | xargs rm -rf
# 删除3天前/oracle目录下所有.log文件
find /oracle -name "*.log" -mtime +3 -print | xargs rm -rf
定期清理不再需要的日志和跟踪文件,可以有效节省磁盘空间,同时保持系统的清洁。
进程资源占用分析
# CPU占用最多的前10个进程
ps auxw | head -1; ps auxw | sort -rn -k3 | head -10
# 内存消耗最多的前10个进程
ps auxw | head -1; ps auxw | sort -rn -k4 | head -10
# 虚拟内存使用最多的前10个进程
ps auxw | head -1; ps auxw | sort -rn -k5 | head -10
这三个命令分别用于查找CPU、内存和虚拟内存占用最高的进程,对于诊断系统性能问题非常有帮助。
实时监控I/O性能
iostat -d -x -m 1 3
通过iostat
命令,你可以实时监控磁盘I/O性能,这对于评估存储子系统的健康状况非常重要。
审计CPU使用率
sar -s 08:00:00 -e 10:00:00
sar
命令可以用来回顾过去一段时间内的CPU使用情况,非常适合进行长期的趋势分析。
通过今天分享的Linux命令,希望它们能成为你日常工作中不可或缺的好帮手。如果你觉得这些命令对你有所帮助,请关注“青年数据库学习互助会”公众号。
往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介