oracle數據庫管理-DBA知道這17條Linux命令,就夠了!

1. 按oracleSID來查詢連接數據庫的客戶端IP

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

2. 按監聽端口1521來查詢連接數據庫的客戶端IP

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

3. 殺掉數據庫服務器上連接數據庫oracleSID的客戶端的進程

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

4. 刪掉某個用戶userA下面的所有進程

pkill -9 -u userA

5. 查詢連接1521端口的process進程數

netstat -pan |grep 1521 |wc -l

6. 查詢來自某臺服務器192.168.21.15的連接的process進程數

netstat -pan |grep  192.168.21.15 |wc -l

7. 彙總連接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

 

8. 顯示前10個佔用空間最大的文件或目錄 

du -s * | sort -nr | head

 

9. 統計某一天的所有文件的總量大小 

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

10. 刪除幾天前的文件 ​​​​​​​

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/g

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

iostat -d -x -m 1 3

16. 查看cp一個文件file1到/u01目錄下需要多長時間

time cp file1 /u01/

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

sar -s 07:00:00 -e 10:00:00
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章