DBA常用的linux命令

lusklusklusk發表於2018-11-01

按oracleSID來查詢連線資料庫的客戶端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


殺掉資料庫伺服器上連線資料庫oracleSID的客戶端的程式

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


刪掉某個使用者userA下面的所有程式

pkill -9 -u userA


查詢連線1521埠的process程式數

netstat -pan |grep 1521 |wc -l


查詢來自某臺伺服器192.168.21.15的連線的process程式數

netstat -pan |grep  192.168.21.15 |wc -l


彙總連線1521埠的每個客戶端IP的連線數

netstat -apnT|grep 1521 |awk  '{print $5}'|sort -u |grep -v 1521 |grep -v '*' |awk -F ':'  '{print $4}'|uniq -c |sort -nr

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


顯示前10個佔用空間最大的檔案或目錄
du -s * | sort -nr | head

統計某一天的所有檔案的總量大小
ls --full-time `find ./* -name "log_*.bak"` | grep '2016-05-09' | awk '{print $9}' | xargs du -ck

刪除幾天前的檔案
find /mitac/mds/arch/ -ctime +150 -exec rm -rf {} \;--常用
find /mitac/mds/arch/ -name '*836701255.dbf' -ctime +150 -exec rm -rf {} \;--刪除以836701255.dbf結尾,150天前被修改過的檔案

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

top後按1,可以看到多少個cpu,按shift+p則按cpu排序,按shift+m則按記憶體排序


vi替換所有字串,如下把1都換成2

:%s/1/2/g 


檢視IO資訊,如下 每1秒顯示一次,一共顯示3次,顯示為MB

iostat -d -x -m 1 3


檢視cp一個檔案file1到/u01目錄下需要多長時間

time cp file1 /u01/


檢視CPU某段時間比如7:00到9:00期間的使用率

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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2218406/,如需轉載,請註明出處,否則將追究法律責任。

相關文章