DBA知道这17条Linux命令,就够了!

原文链接:http://blog.itpub.net/30126024/viewspace-2218406/
 
1. 按oracleSID来查询连接数据库的客户端IP
netstat -anpT | grep oracleSID | awk '{print $5}' | grep -o -E'1.*:' | awk -F ':' '{print $1}' | sort2. 按监听端口1521来查询连接数据库的客户端IP
netstat -anpT | grep 1521 | awk '{print $5}' | grep -o -E'1.*:' | awk -F ':' '{print $1}' | sort3. 杀掉数据库服务器上连接数据库oracleSID的客户端的进程
kill -9 `ps -ef | grep oracleSID | grep LOCAL=NO | grep -v grep | awk '{print $2}'`4. 删掉某个用户userA下面的所有进程
pkill -9 -u userA5. 查询连接1521端口的process进程数
netstat -pan |grep 1521 |wc -l6. 查询来自某台服务器192.168.21.15的连接的process进程数
netstat -pan |grep192.168.21.15 |wc -l7. 汇总连接1521端口的每个客户端IP的连接数
netstat -apnT|grep 1521 |awk'{print $5}'|sort -u |grep -v 1521 |grep -v '*' |awk -F ':''{print $4}'|uniq -c |sort -nrnetstat -anpT|grep 1521 |awk'{print $5}'|grep -o -E'1.*:' |awk -F ':' '{print $1}' | sort |uniq -c |sort -nr8. 显示前10个占用空间最大的文件或目录
du -s * | sort -nr | head9. 统计某一天的所有文件的总量大小
ls --full-time `find ./* -name "log_*.bak"` | grep '2016-05-09' | awk '{print $9}' | xargs du -ck10. 删除几天前的文件
find /mitac/mds/arch/ -ctime +150 -exec rm -rf {} ;--常用 find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +150 -exec rm -rf {} ;--删除以836701255.dbf结尾,150天前被修改过的文件 11. CPU占用最多的前10个进程:
ps auxw|head -1;ps auxw|sort -rn -k3|head -10 12. 内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10 13. 虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10 top后按1,可以看到多少个cpu,按shift+p则按cpu排序,按shift+m则按内存排序14. vi替换所有字符串,如下把1都换成2
:%s/1/2/g15. 查看IO信息,如下 每1秒显示一次,一共显示3次,显示为MB
IOStat -d -x -m 1 3【DBA知道这17条Linux命令,就够了!】16. 查看cp一个文件file1到/u01目录下需要多长时间
time cp file1 /u01/17. 查看CPU某段时间比如7:00到9:00期间的使用率
sar -s 07:00:00 -e 10:00:00



    推荐阅读