DBA Linux

1. 按oracleSID来查询连接数据库的客户端IP

  1. netstat -anpT | grep oracleSID | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort

2. 按监听端口1521来查询连接数据库的客户端IP

  1. netstat -anpT | grep 1521 | awk '{print $5}' | grep -o -E '1.*:' | awk -F ':' '{print $1}' | sort

3. 杀掉数据库服务器上连接数据库oracleSID的客户端的进程

  1. kill -9 `ps -ef | grep oracleSID | grep LOCAL=NO | grep -v grep | awk '{print $2}'`

4. 删掉某个用户userA下面的所有进程

  1. pkill -9 -u userA

5. 查询连接1521端口的process进程数

  1. netstat -pan |grep 1521 |wc -l

6. 查询来自某台服务器192.168.21.15的连接的process进程数

  1. netstat -pan |grep 192.168.21.15 |wc -l

7. 汇总连接1521端口的每个客户端IP的连接数

  1. netstat -apnT|grep 1521 |awk '{print $5}'|sort -u |grep -v 1521 |grep -v '*' |awk -F ':' '{print $4}'|uniq -c |sort -nr
  2. netstat -anpT|grep 1521 |awk '{print $5}'|grep -o -E '1.*:' |awk -F ':' '{print $1}' | sort |uniq -c |sort -nr

8. 显示前10个占用空间最大的文件或目录

  1. du -s * | sort -nr | head

9. 统计某一天的所有文件的总量大小

  1. ls --full-time `find ./* -name "log_*.bak"` | grep '2016-05-09' | awk '{print $9}' | xargs du -ck

10. 删除几天前的文件

  1. find /mitac/mds/arch/ -ctime +150 -exec rm -rf {} \;--常用
  2. find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +150 -exec rm -rf {} \;--删除以836701255.dbf结尾,150天前被修改过的文件

11. CPU占用最多的前10个进程:

  1. ps auxw|head -1;ps auxw|sort -rn -k3|head -10

12. 内存消耗最多的前10个进程

  1. ps auxw|head -1;ps auxw|sort -rn -k4|head -10

13. 虚拟内存使用最多的前10个进程

  1. ps auxw|head -1;ps auxw|sort -rn -k5|head -10
  2. top后按1,可以看到多少个cpu,按shift+p则按cpu排序,按shift+m则按内存排序

14. vi替换所有字符串,如下把1都换成2

  1. :%s/1/2/g

15. 查看IO信息,如下 每1秒显示一次,一共显示3次,显示为MB

  1. iostat -d -x -m 1 3

16. 查看cp一个文件file1到/u01目录下需要多长时间

  1. time cp file1 /u01/

17. 查看CPU某段时间比如7:00到9:00期间的使用率

  1. sar -s 07:00:00 -e 10:00:00