效率翻倍!Oracle DBA的Linux宝藏指南

科技   2024-11-23 09:30   江苏  

点击上方公众号,关注青学会

想学会更多实用技巧,欢迎加入青学会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命令,希望它们能成为你日常工作中不可或缺的好帮手。如果你觉得这些命令对你有所帮助,请关注“青年数据库学习互助会”公众号。


END

往期文章回顾

MOP社区新闻

  青学会MOP技术社区成立了!

  青学会专家顾问团成员介绍

金仓专栏

  告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)

  KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)

  KingbaseES数据脱敏-青学会&金仓专栏(3)

  KingbaseES后台服务管理-青学会&金仓专栏(4)

  电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)

DBA实战小技巧

  推荐一款超实用的openGauss数据库安装工具!

  实战:记一次RAC故障排查
  DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
  DBA实战运维小技巧存储篇(一)根目录满了如何处理
  DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储

MOP社区投稿-内核开发

  浅谈 PostgreSQL GUC 模块原理

  简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理

  简单讨论 PostgreSQL C语言拓展函数返回数据表的方式

  简单分析 pg_config 程序的作用与原理
  Redis 日志机制简介(一):SlowLog
  Redis 日志机制简介(二):AOF 日志
  Redis 日志机制简介(三):RDB 日志
  pg_cron插件使用介绍
  Redis 的指令表实现机制简介
  pg几款源码工具介绍
  Redis 事务功能简介

MOP顾问说

   MOP顾问说:MOP 三种主流数据库常用 SQL(一)

  MOP顾问说:服务器内存

  MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘

Lucifer三思而后行
不积跬步,无以至千里;不积小流,无以成江海。一位籍籍无名的数据库爱好者!
 最新文章