主頁 > 作業系統 > 運維各常用命令總結

運維各常用命令總結

2022-07-04 08:17:41 作業系統

一. linux常用命令

 查看linux系統版本

方式一: lsb_release -a
如果顯示未找到命令使用命令安裝:yum install -y redhat-lsb
方式二:cat /etc/redhat-release (適用于RedHat、CentOS)
方式三:cat /etc/issue
備注:顯示以下資訊即為CentOS 0

防火墻相關

備注:CentOS7 的防火墻配置跟以前版本有很大區別,默認使用的是firewall,與之前的版本使用iptables不一樣

 CentOS7 

查看防火墻狀態 :firewall-cmd --state
注:running——開啟,not running ——關閉
開啟防火墻:systemctl start firewalld.service
關閉防火墻:systemctl stop firewalld.service
關閉開機啟動:systemctl disable firewalld.service
開啟開機啟動:systemctl enable firewalld.service

 CentOS6

service方式:
查看防火墻狀態:service iptables status
開啟防火墻:service iptables start
關閉防火墻: service iptables stop
iptables方式:
先進入init.d目錄,命令如下:
[root@centos6 ~]# cd /etc/init.d/ [root@centos6 init.d]#
查看防火墻狀態:
[root@centos6 init.d]# /etc/init.d/iptables status
暫時關閉防火墻:
[root@centos6 init.d]# /etc/init.d/iptables stop
重啟iptables:
[root@centos6 init.d]# /etc/init.d/iptables restart

釋放linux快取

sync && echo '1' > /proc/sys/vm/drop_caches
sync && echo '2' > /proc/sys/vm/drop_caches
sync && echo '3' > /proc/sys/vm/drop_caches

sync: 將所有未寫的系統緩沖區寫到磁盤中,包含已修改的 i-node、已延遲的塊 I/O 和讀寫映射檔案,否則在釋放快取的程序中,可能會丟失未保存的檔案

0 – 不釋放
1 – 釋放頁快取
2 – 釋放dentries和inodes
3 – 釋放所有快取

Linux日志查看

將日志檔案中的某個時間段的日志輸出到新的檔案
  sed -n '/2019-04-22 16:10:/,/2019-04-22 16:20:/p' log.log > bbb.txt
查找某個日志檔案中關鍵字的前后多少行
  cat filename | grep 關鍵字 -C10   -C:顯示前后多少行 -A:顯示后多少行 -B:顯示前多少行

查看埠使用情況

-- 查看埠情況
   netstat -tnulp | grep 26379
-- linux 查看埠占用情況
  netstat -anp | grep 80
-- 當前環境已經使用了的埠資訊
  netstat -nultp
-- 未找到該命令使用下面的安裝
  yum -y install net-tools

Linux定時任務

#linux定時任務:
  service crond start //啟動服務 
  service crond stop //關閉服務
  service crond restart //重啟服務 
  service crond reload //重新載入配置 
  service crond status //查看crontab服務狀態
#安裝crond
  yum -y install vixie-cron yum -y install crontabs
#加入開機啟動
  chkconfig –level 345 crond on
#重啟rsyslog
#重啟cronlog(沒有日志輸出用這個)
  sudo service rsyslog restart
日志位置: /var/log/cronXXX
#查看任務
  crontab -l
#編輯任務
  crontab -e

命令時間格式 : * * *  *  *  command 分  時  日  月  周 
第1串列示分鐘1~59 每分鐘用*或者 */1表示
第2串列示小時1~23(0表示0點) 第3串列示日期1~31 第4串列示月份1~12 第5列標識號星期0~6(0表示星期天) 第6列要運行的命令
一些Crontab定時任務例子:
30 21 * * * /usr/local/etc/rc.d/lighttpd restart #每晚的21:30 重啟apache
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart #每月1、10、22日的4 : 45重啟apache
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart #每周六、周日的1 : 10重啟apache
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart #每天18 : 00至23 : 00之間每隔30分鐘重啟apache
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart #每星期六的11 : 00 pm重啟apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart #晚上11點到早上7點之間,每隔一小時重啟apache
* */1 * * * /usr/local/etc/rc.d/lighttpd restart #每一小時重啟apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart #每月的4號與每周一到周三的11點重啟apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart #一月一號的4點重啟apache
*/30 * * * * /usr/sbin/ntpdate cn.pool.ntp.org #每半小時同步一下時間
0 */2 * * * /sbin/service httpd restart #每兩個小時重啟一次apache
50 7 * * * /sbin/service sshd start #每天7:50開啟ssh服務
50 22 * * * /sbin/service sshd stop #每天22:50關閉ssh服務
0 0 1,15 * * fsck /home #每月1號和15號檢查/home 磁盤
1 * * * * /home/bruce/backup #每小時的第一分執行/home/bruce/backup這個檔案
00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; #每周一至周五3點鐘,在目錄/home中,查找檔案名為*.xxx的檔案,并洗掉4天前的檔案,
30 6 */10 * * ls #每月的1、11、21、31日是的6:30執行一次ls命令

 nfs掛載

# 查看掛載盤
cat /etc/fstab
# 重新掛載
mount -a

 

二 . Docker 常用命令

 查看docker容器串列 :

docker ps

 查看日志

日志查看語法:
docker logs [OPTIONS] CONTAINER
OPTIONS說明:
-f : 跟蹤日志輸出
--since :顯示某個開始時間的所有日志
-t : 顯示時間戳
--tail :僅列出最新N條容器日志
查看日志命令:docker logs -f 容器ID
實時查看最后500條日志:docker logs -f --tail=500 容器ID
查看最近30分鐘的日志:docker logs --since 30m 容器ID
查看某時間之后的日志的最新500條日志:docker logs --since="2021-11-30" --tail=500 容器ID
查看某時間之后的日志:docker logs -t --since="2021-11-30T00:00:00" 容器ID
查看某時間段日志:docker logs -t --since="2021-11-30T00:00:00" --until "2021-12-30T00:00:00" 容器ID

鏡像匯出匯入

# 匯出鏡像到檔案中
$ docker save -o nginx-alpine.tar nginx:alpine
# 匯入鏡像
$ docker load -i nginx-alpine.tar

鏡像洗掉

-- 洗掉指定鏡像
docker rmi --force [-f] $(docker images | grep tarzan-mes | grep "7 months"| awk '{print $3}')
-- 洗掉沒有打標簽的鏡像
docker rmi [-f] $(docker images -q | awk '/^<none>/ { print $3 }')
--洗掉所有鏡像
docker rmi [-f] $(docker images -qa)
這類無標簽鏡像也被稱為 虛懸鏡像(dangling image) ,可以用下面的命令專門顯示這類鏡像:
docker image ls -f dangling=true
一般來說,虛懸鏡像已經失去了存在的價值,是可以隨意洗掉的,可以用下面的命令洗掉,
docker rmi $(docker images -q -f dangling=true)

鏡像操作

docker build . -t hzero-register:v200 -f ./../src/main/docker/Dockerfile
docker tag hzero-register:v200 k8s1.cluster.local:5000/hzero-register:v200
docker push k8s1.cluster.local:5000/hzero-register:v200

三. K8s命令

備注:uat 指的是namspase ,mes-interface-7bbf6d64c9-88dhw 指的是pod名稱   進入pod內部執行命令: kubectl exec -it uat -n mes-interface-7bbf6d64c9-88dhw -- /bin/bash
[root@mes-prd-k8s1~]#kubectl -n mes-pro cp./jdk-8u291-linux-x64.tar.gz tarzan-mes-69994cdfdb-kfg96:/jdk.tar.gz
[root@mes-prd-k8s1 ~]kubectl -n mes-pro exec -it tarzan-mes-69994cdfdb-kfg96 -/bin/bash

日志相關

查看某個pod上一個版本日志:kubectl logs -p -n mes-pro tarzan-mes-6bd4bf5b79-xmkgk
查看pod上次退出詳細:kubectl describe pod tarzan-mes-864bcbcd46-gw5zm -n mes-pro
k8s節點安裝arthas :
kubectl -n uat exec mes-interface-7bbf6d64c9-88dhw -- wget https://arthas.aliyun.com/arthas-boot.jar && java -jar arthas-boot.jar 1
備注:最后的1是行程號
將pod中的日志復制到宿主機
kubectl exec -n service tarzan-mes-c75587bfc-jpjp9 -- tar cf - data/tarzan/mes/tarzan-mes-2022-05-15.0.log | tar xf - -C /tmp

pod 里面裝telnet

apt update
apt install telnet

其它常用命令

kubectl get po -A
kubectl get nodes
kubectl get pod -A -o wide kubectl describe nodes wmsdevelapp kubectl taint node wmsdevelapp node.kubernetes.io
/unschedulable:NoSchedule- kubectl top pod -n mesuat journalctl -u kubelet.service -- kubectl taint nodes 192.168.0.137 key1=value1:NoSchedule-

 

四、Mysql

查看正在鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;

查看等待鎖的事務

SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;

查詢 正在執行的事務

SELECT * FROM information_schema.INNODB_TRX;

查詢mysql資料庫中存在的行程

select * from information_schema.`PROCESSLIST`(show processlist;)

殺掉執行緒

 kill 執行緒id 

通過檢查InnoDB_row_lock狀態變數來分析系統上的行鎖的爭奪情況

show status like 'innodb_row_lock%';

對于各個狀態說明如下:

Innodb_row_lock_current_waits:當前正在等待鎖的數量;

Innodb_row_lock_time:從系統啟動到現在鎖定總時間長度;

Innodb_row_lock_time_avg:每次等待所花平均時間;

Innodb_row_lock_time_max:從系統啟動到現在等待最長的一次所花的時間長度;

Innodb_row_lock_waits:系統啟動到現在總共等待的次數;

對于這5個狀態變數,比較重要的是:

Innodb_row_lock_time_avg,Innodb_row_lock_waits,Innodb_row_lock_time,

尤其是當等待次數很高,而且每次等待時長也很大的時候,我們就要分析系統中為什么有這么多的等待,然后根據分析結果來制定優化,
select @a1:=VARIABLE_VALUE as a1
from information_schema.GLOBAL_STATUS
where VARIABLE_NAME='innodb_os_log_written'
union all
select sleep(60)
union all
select @a2:=VARIABLE_VALUE as a2
from information_schema.GLOBAL_STATUS
where VARIABLE_NAME='innodb_os_log_written';

select round((@a2-@a1)/1024/1024/@@innodb_log_files_in_group) as MB;


--------------------

SELECT
p2.`HOST` Blockedhost,
p2.`USER` BlockedUser,
r.trx_id BlockedTrxId,
r.trx_mysql_thread_id BlockedThreadId,
TIMESTAMPDIFF(
SECOND,
r.trx_wait_started,
CURRENT_TIMESTAMP
) WaitTime,
r.trx_query BlockedQuery,
l.lock_table BlockedTable,
m.`lock_mode` BlockedLockMode,
m.`lock_type` BlockedLockType,
m.`lock_index` BlockedLockIndex,
m.`lock_space` BlockedLockSpace,
m.lock_page BlockedLockPage,
m.lock_rec BlockedLockRec,
m.lock_data BlockedLockData,
p.`HOST` blocking_host,
p.`USER` blocking_user,
b.trx_id BlockingTrxid,
b.trx_mysql_thread_id BlockingThreadId,
b.trx_query BlockingQuery,
l.`lock_mode` BlockingLockMode,
l.`lock_type` BlockingLockType,
l.`lock_index` BlockingLockIndex,
l.`lock_space` BlockingLockSpace,
l.lock_page BlockingLockPage,
l.lock_rec BlockingLockRec,
l.lock_data BlockingLockData,
IF (p.COMMAND = 'Sleep', CONCAT(p.TIME,' seconds'), 0) idel_in_trx
FROM
information_schema.INNODB_LOCK_WAITS w
INNER JOIN information_schema.INNODB_TRX b ON b.trx_id = w.blocking_trx_id
INNER JOIN information_schema.INNODB_TRX r ON r.trx_id = w.requesting_trx_id
INNER JOIN information_schema.INNODB_LOCKS l ON w.blocking_lock_id = l.lock_id AND l.`lock_trx_id`=b.`trx_id`
INNER JOIN information_schema.INNODB_LOCKS m ON m.`lock_id`=w.`requested_lock_id` AND m.`lock_trx_id`=r.`trx_id`
INNER JOIN information_schema. PROCESSLIST p ON p.ID = b.trx_mysql_thread_id
INNER JOIN information_schema. PROCESSLIST p2 ON p2.ID = r.trx_mysql_thread_id
ORDER BY
WaitTime DESC;

--------------

00:0c:29:b3:b7:36 brd ff:ff:ff:ff:ff:ff

SELECT
p2.`HOST` 被阻塞方host,
p2.`USER` 被阻塞方用戶,
r.trx_id 被阻塞方事務id,
r.trx_mysql_thread_id 被阻塞方執行緒號,
TIMESTAMPDIFF(
SECOND,
r.trx_wait_started,
CURRENT_TIMESTAMP
) 等待時間,
r.trx_query 被阻塞的查詢,
l.lock_table 阻塞方鎖住的表,
m.`lock_mode` 被阻塞方的鎖模式,
m.`lock_type` "被阻塞方的鎖型別(表鎖還是行鎖)",
m.`lock_index` 被阻塞方鎖住的索引,
m.`lock_space` 被阻塞方鎖物件的space_id,
m.lock_page 被阻塞方事務鎖定頁的數量,
m.lock_rec 被阻塞方事務鎖定行的數量,
m.lock_data 被阻塞方事務鎖定記錄的主鍵值,
p.`HOST` 阻塞方主機,
p.`USER` 阻塞方用戶,
b.trx_id 阻塞方事務id,
b.trx_mysql_thread_id 阻塞方執行緒號,
b.trx_query 阻塞方查詢,
l.`lock_mode` 阻塞方的鎖模式,
l.`lock_type` "阻塞方的鎖型別(表鎖還是行鎖)",
l.`lock_index` 阻塞方鎖住的索引,
l.`lock_space` 阻塞方鎖物件的space_id,
l.lock_page 阻塞方事務鎖定頁的數量,
l.lock_rec 阻塞方事務鎖定行的數量,
l.lock_data 阻塞方事務鎖定記錄的主鍵值,
IF (p.COMMAND = 'Sleep', CONCAT(p.TIME,' 秒'), 0) 阻塞方事務空閑的時間
FROM
information_schema.INNODB_LOCK_WAITS w
INNER JOIN information_schema.INNODB_TRX b ON b.trx_id = w.blocking_trx_id
INNER JOIN information_schema.INNODB_TRX r ON r.trx_id = w.requesting_trx_id
INNER JOIN information_schema.INNODB_LOCKS l ON w.blocking_lock_id = l.lock_id AND l.`lock_trx_id`=b.`trx_id`
INNER JOIN information_schema.INNODB_LOCKS m ON m.`lock_id`=w.`requested_lock_id` AND m.`lock_trx_id`=r.`trx_id`
INNER JOIN information_schema. PROCESSLIST p ON p.ID = b.trx_mysql_thread_id
INNER JOIN information_schema. PROCESSLIST p2 ON p2.ID = r.trx_mysql_thread_id
ORDER BY
等待時間 DESC;

-------------------------------------------------------------------
View Code

查看事務等待狀況

select
r.trx_id waiting_trx_id,
r.trx_mysql_thread_id waiting_thread,
r.trx_query waiting_query,
b.trx_id blocking_trx_id,
b.trx_mysql_thread_id blocking_thread,
b.trx_query blocking_query
from
information_schema.innodb_lock_waits w
inner join information_schema.innodb_trx b on b.trx_id = w.blocking_trx_id
inner join information_schema.innodb_trx r on r.trx_id = w.requesting_trx_id;
View Code

查看更具體的事務等待狀況

select
b.trx_state,
e.state,
e.time,
d.state as block_state,
d.time as block_time,
a.requesting_trx_id,
a.requested_lock_id,
b.trx_query,
b.trx_mysql_thread_id,
a.blocking_trx_id,
a.blocking_lock_id,
c.trx_query as block_trx_query,
c.trx_mysql_thread_id as block_trx_mysql_tread_id
from
information_schema.innodb_lock_waits a
left join information_schema.innodb_trx b on a.requesting_trx_id = b.trx_id
left join information_schema.innodb_trx c on a.blocking_trx_id = c.trx_id
left join information_schema.processlist d on c.trx_mysql_thread_id = d.id
left join information_schema.processlist e on b.trx_mysql_thread_id = e.id
order by
a.requesting_trx_id;
View Code

查看未關閉的事務

–mysql 5.6

select
a.trx_id,
a.trx_state,
a.trx_started,
a.trx_query,
b.id,
b.user,
b.db,
b.command,
b.time,
b.state,
b.info,
c.processlist_user,
c.processlist_host,
c.processlist_db,
d.sql_text
from
information_schema.innodb_trx a
left join information_schema.processlist b on a.trx_mysql_thread_id = b.id
and b.command = 'sleep'
left join performance_schema.threads c on b.id = c.processlist_id
left join performance_schema.events_statements_current d on d.thread_id = c.thread_id;
–mysql 5.5

select
a.trx_id,
a.trx_state,
a.trx_started,
a.trx_query,
b.id,
b. user,
b. host,
b.db,
b.command,
b.time,
b.state,
b.info
from
information_schema.innodb_trx a
left join information_schema.processlist b on a.trx_mysql_thread_id = b.id
where
b.command = 'sleep';
View Code

查看某段時間以來未關閉事務

select
trx_id,
trx_started,
trx_mysql_thread_id
from
information_schema.innodb_trx
where
trx_started < date_sub(now(), interval 1 minute)
and trx_operation_state is null
and trx_query is null;

mysql 查詢正在執行的sql

select * from information_schema.`PROCESSLIST` where info is not null ORDER BY time desc;

mysql 查詢慢日志檔案位置

show variables like "%slow_query_log%";

查找有碎片的表

方法一:
select table_schema db, table_name, data_free, engine
from information_schema.tables
where table_schema not in ('information_schema', 'mysql') and data_free > 0;

方法二:
SELECT TABLE_NAME,(DATA_LENGTH+INDEX_LENGTH)/1024/1024 size_mb,data_free/1024/1024 free_mb,TABLE_ROWS
FROM information_schema.tables where table_schema not in ('information_schema', 'mysql')
and data_free/1024/1024>=1 order by free_mb desc;
View Code

清理表碎片

方法1 
alter table 表名 engine=InnoDB alter table tableName engine=InnoDB; #方法2
optimize table 表名 optimize table tableName;

找出沒有主鍵的表

Select t.table_schema,t.table_name,t.engine,t.table_rows
From information_schema.tables as t
Left join information_schema.table_constraints as tc
On tc.table_schema=t.table_schema
And tc.table_name=t.table_name
And tc.constraint_type='PRIMARY KEY'
Where t.table_type='BASE TABLE'
And tc.constraint_type is null
And t.table_schema not in ('mysql','performance_schema','information_schema');
View Code

慢日志相關設定

more /etc/my.cnf
show variables like '%slow%';
show variables like '%long%';
set global slow_query_log=off;
set global slow_query_log=on;
set @@long_query_time=10;

 

五、ORACLE

oralce 監聽

查看監聽狀態
lsnrctl status
啟動監聽
lsnrctl start
關閉監聽
lsnrctl stop
手動注冊監聽
alter system register;

oracle密碼過期處理

查詢默認的密碼保存時間:
 SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
修改為不限期,若有定期更換密碼的需求,則可以設定為每個密碼更換周期所需的天數(如:30:,表示每過30天就需要重置一次密碼)
不限期:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 30天的密碼有效期:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME
30;
切換到PDB執行:
alter session set container=orcl1;
修改密碼: 
alter user 密碼已過期的USERNAME identified by 密碼;

歸檔日志相關

洗掉指定時間前的檔案
find ./ -name *.log -mtime +7| xargs rm -rf
crosscheck archivelog all;
洗掉過期日志
delete noprompt expired archivelog all;
洗掉所有日志
DELETE EXPIRED archivelog all;
洗掉三天以前日志
delete archivelog until time 'sysdate -3';

可用性狀態

select INSTANCE_NUMBER,INSTANCE_NAME,STARTUP_TIME,STATUS from gv$instance;

表空間利用狀態

SELECT d.tablespace_name "Name", d.status "Status",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,
'99999999.99'
) USE,
TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),
'990.00'
) "Used %"
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = f.tablespace_name(+)
AND NOT (d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY')
UNION ALL
SELECT d.tablespace_name "Name", d.status "Status",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
FROM SYS.dba_tablespaces d,
(SELECT tablespace_name, SUM (BYTES) BYTES
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM (bytes_cached) BYTES
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE 'LOCAL'
AND d.CONTENTS LIKE 'TEMPORARY';
View Code 復制

緩沖區命中率

select(1-(sum(decode(name,'physical reads',value,0))/(sum(decode(name,'db block gets',value,0))
+sum(decode(name,'consistent gets',value,0)))))*100"Hit Ratio"
from gv$sysstat;

資料字典快取命中率

select(1-(sum(getmisses)/sum(gets)))*100"Hit Ratio"from gv$rowcache;

庫快取命中率

selectSum(Pins)/(Sum(Pins)+Sum(Reloads))*100"Hit Ratio"from gV$LibraryCache;

PGA記憶體排序命中率

select a.INST_ID,a.NAME,a.value "Disk Sorts", b.value "Memory Sorts",round((100*b.value)/decode((a.value+b.value),0,1,(a.value+b.value)),2)"Pct Memory Sorts"from gv$sysstat a, gv$sysstat b where a.name ='sorts (disk)'and b.name ='sorts (memory)';

備注:這些值在98% 以上比較好

資料碎片狀態

USED_MB:表示物件已使用大小
FRAG_MB:表示碎片所占大小
FRAGMENT_PER:表示碎片率百分比

alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
/*set lines 220 pages 300
col owner for a30
col TABLE_NAME for a50
col SEGMENT_TYPE for a20*/
SELECT /*+ parallel(b 4)*/ OWNER,
TABLE_NAME,
tablespace_name,
SEGMENT_TYPE,
segment_space_management MANAGEMENT,
TABLE_MB USED_MB,
ROUND(WASTE_PER * TABLE_MB /100,2) FRAG_MB,
WASTE_PER fragment_per,
LAST_ANALYZED
FROM (SELECT OWNER,
SEGMENT_NAME TABLE_NAME,
LAST_ANALYZED,
SEGMENT_TYPE,
GREATEST(ROUND(100*(NVL(HWM - AVG_USED_BLOCKS,0)/ GREATEST(NVL(HWM,1),1)),2),0) WASTE_PER,
ROUND(BYTES / POWER(1024,2),2) TABLE_MB,
NUM_ROWS,
BLOCKS,
EMPTY_BLOCKS,
HWM HIGHWATER_MARK,
AVG_USED_BLOCKS,
CHAIN_PER,
EXTENTS,
MAX_EXTENTS,
ALLO_EXTENT_PER,
DECODE(GREATEST(MAX_FREE_SPACE - NEXT_EXTENT,0),0,'N','Y') CAN_EXTEND_SPACE,
NEXT_EXTENT,
MAX_FREE_SPACE,
O_TABLESPACE_NAME TABLESPACE_NAME,
block_size,
segment_space_management
FROM (SELECT A.OWNER OWNER,
A.SEGMENT_NAME,
A.SEGMENT_TYPE,
A.BYTES,
B.NUM_ROWS,
A.BLOCKS BLOCKS,
B.EMPTY_BLOCKS EMPTY_BLOCKS,
A.BLOCKS - B.EMPTY_BLOCKS -1 HWM,
DECODE(ROUND((B.AVG_ROW_LEN * NUM_ROWS *(1+(PCT_FREE /100)))/ dt.block_size,0),0,1,
ROUND((B.AVG_ROW_LEN * NUM_ROWS *(1+(PCT_FREE /100)))/ dt.block_size,0))+2 AVG_USED_BLOCKS,
ROUND(100*(NVL(B.CHAIN_CNT,0)/ GREATEST(NVL(B.NUM_ROWS,1),1)),
2) CHAIN_PER,
ROUND(100*(A.EXTENTS / A.MAX_EXTENTS),2) ALLO_EXTENT_PER,
A.EXTENTS EXTENTS,
A.MAX_EXTENTS MAX_EXTENTS,
B.NEXT_EXTENT NEXT_EXTENT,
B.TABLESPACE_NAME O_TABLESPACE_NAME,
B.LAST_ANALYZED,
dt.block_size,
DT.segment_space_management
FROM SYS.DBA_SEGMENTS A,
SYS.DBA_TABLES B,
dba_tablespaces dt
WHERE A.OWNER = B.OWNER
and SEGMENT_NAME = TABLE_NAME
and dt.segment_space_management ='AUTO'
and B.tablespace_name in('TS_RPT_DATA','IX_RPT_DATA','PERFSTAT')
and dt.tablespace_name = a.tablespace_name
and b.last_analyzed > to_date('20210501','yyyymmdd')
union all
SELECT A.OWNER OWNER,
SEGMENT_NAME ||'.'|| B.PARTITION_NAME,
SEGMENT_TYPE,
BYTES,
B.NUM_ROWS,
A.BLOCKS BLOCKS,
B.EMPTY_BLOCKS EMPTY_BLOCKS,
A.BLOCKS - B.EMPTY_BLOCKS -1 HWM,
DECODE(ROUND((B.AVG_ROW_LEN * B.NUM_ROWS *(1+(B.PCT_FREE /100)))/ dt.block_size,0),0,1,
ROUND((B.AVG_ROW_LEN * B.NUM_ROWS *(1+(B.PCT_FREE /100)))/ dt.block_size,0))+2 AVG_USED_BLOCKS,
ROUND(100*(NVL(B.CHAIN_CNT,0)/ GREATEST(NVL(B.NUM_ROWS,1),1)),2) CHAIN_PER,
ROUND(100*(A.EXTENTS / A.MAX_EXTENTS),2) ALLO_EXTENT_PER,
A.EXTENTS EXTENTS,
A.MAX_EXTENTS MAX_EXTENTS,
B.NEXT_EXTENT,
B.TABLESPACE_NAME O_TABLESPACE_NAME,
d.last_analyzed,
dt.block_size,
DT.segment_space_management
FROM SYS.DBA_SEGMENTS A,
SYS.DBA_TAB_PARTITIONS B,
SYS.DBA_TABLES D,
dba_tablespaces dt
WHERE A.OWNER = B.TABLE_OWNER
and SEGMENT_NAME = B.TABLE_NAME
and SEGMENT_TYPE ='TABLE PARTITION'
and dt.segment_space_management ='AUTO'
and B.tablespace_name in('TS_RPT_DATA','IX_RPT_DATA','PERFSTAT')
and dt.tablespace_name = a.tablespace_name
AND D.OWNER = B.TABLE_OWNER
AND D.TABLE_NAME = B.TABLE_NAME
AND A.PARTITION_NAME = B.PARTITION_NAME
AND D.last_analyzed > to_date('20210501','yyyymmdd')),
(SELECT TABLESPACE_NAME F_TABLESPACE_NAME,
MAX(BYTES) MAX_FREE_SPACE
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME)
WHERE F_TABLESPACE_NAME = O_TABLESPACE_NAME
AND GREATEST(ROUND(100*(NVL(HWM - AVG_USED_BLOCKS,0)/GREATEST(NVL(HWM,1),1)),2),0)>12
AND OWNER notin('SYS','SYSMAN')
AND BLOCKS > POWER(1024,2)/ block_size) b
where ROUND(WASTE_PER * TABLE_MB /100,2)>100
ORDER BY 7 DESC;
View Code

資料庫行程及死鎖行程狀態

SELECT distinct SESS.SID,

SESS.SERIAL#,

LO.ORACLE_USERNAME,

LO.OS_USER_NAME,

AO.OBJECT_NAME,

LO.LOCKED_MODE,

'ALTER SYSTEM KILL SESSION '''|| SESS.SID ||','|| SESS.SERIAL# || ''' immediate;',

SESS.STATUS

FROM GV$LOCKED_OBJECT LO,

DBA_OBJECTS AO,

GV$SESSION SESS,

Gv$process p

WHERE AO.OBJECT_ID = LO.OBJECT_ID

AND LO.SESSION_ID = SESS.SID

and SESS.paddr = p.addr;
View Code

Oralce配置引數見檢查

/*set linesize 200
col name format a40
col value format a40
set pagesize 2000*/
select name,value from v$parameter where isdefault='FALSE' order by 1;

 六、 HTTP狀態碼詳解

2XX 成功

· 200 OK,表示從客戶端發來的請求在服務器端被正確處理 · 204 No content,表示請求成功,但回應報文不含物體的主體部分 · 206 Partial Content,進行范圍請求

3XX 重定向

· 301 moved permanently,永久性重定向,表示資源已被分配了新的 URL · 302 found,臨時性重定向,表示資源臨時被分配了新的 URL · 303 see other,表示資源存在著另一個 URL,應使用 GET 方法丁香獲取資源 · 304 not modified,表示服務器允許訪問資源,但因發生請求未滿足條件的情況 · 307 temporary redirect,臨時重定向,和302含義相同

4XX 客戶端錯誤

· 400 bad request,請求報文存在語法錯誤 · 401 unauthorized,表示發送的請求需要有通過 HTTP 認證的認證資訊 · 403 forbidden,表示對請求資源的訪問被服務器拒絕 · 404 not found,表示在服務器上沒有找到請求的資源

5XX 服務器錯誤

· 500 internal sever error,表示服務器端在執行請求時發生了錯誤 · 503 service unavailable,表明服務器暫時處于超負載或正在停機維護,無法處理請求

403 詳解

總體來說,回傳403狀態碼就是,拒絕或者禁止訪問,但是,服務器雖然拒絕或者禁止訪問,但是它已經理解了你的請求,具體原因有以下多種:

錯誤代碼:403.1
HTTP
403.1
禁止訪問:禁止可執行訪問
Internet
資訊服務
原因是執行權限不夠,解決的方法是:
打開“管理工具”的“Internet
資訊服務”,右鍵選擇“WEB站點屬性”的“主目錄”選項卡,把“執行許可”的選項從“無”改為“純腳本”就好了,

錯誤代碼:403.2
403.2錯誤是由于"讀取"訪問被禁止而造成的,導致此錯誤是由于沒有可用的默認網頁并且沒有對目錄啟用目錄瀏覽,或者要顯示的
HTML
網頁所駐留的目錄僅標記為"可執行"或"腳本"權限,

錯誤代碼:403.3
403.3錯誤是由于"寫入"訪問被禁止而造成的,當試圖將檔案上載到目錄或在目錄中修改檔案,但該目錄不允許"寫"訪問時就會出現此種錯誤,

錯誤代碼:403.4
403.4錯誤是由于要求SSL而造成的,您必須在要查看的網頁的地址中使用"https",

錯誤代碼:403.5
403.5錯誤是由于要求使用128位加密演算法的Web瀏覽器而造成的,如果您的瀏覽器不支持128位加密演算法就會出現這個錯誤,您可以連接微軟網站進行瀏覽器升級,

錯誤代碼:403.6
403.6錯誤是由于IP
地址被拒絕而造成的,如果服務器中有不能訪問該站點的IP地址串列,并且您使用的IP地址在該串列中時您就會回傳這條錯誤資訊,

錯誤代碼:403.7
403.7錯誤是因為要求客戶證書,當需要訪問的資源要求瀏覽器擁有服務器能夠識別的安全套接字層
(SSL)客戶證書時會回傳此種錯誤,

錯誤代碼:403.8
403.8錯誤是由于禁止站點訪問而造成的,若服務器中有不能訪問該站點的DNS名稱串列,而您使用的
DNS名稱在串列中時就會回傳此種資訊,請注意區別403.6與403.8錯誤,

錯誤代碼:403.9
403.9錯誤是由于連接的用戶過多而造成的,由于Web服務器很忙,因通訊量過多而無法處理請求時便會回傳這條錯誤,

錯誤代碼:403.10
403.10錯誤是由于無效配置而導致的錯誤,當您試圖從目錄中執行CGI、ISAPI或其他可執行程式,但該目錄不允許執行程式時便會回傳這條錯誤,

錯誤代碼:403.11
403.11錯誤是由于密碼更改而導致無權查看頁面,

錯誤代碼:403.12
403.12錯誤是由于映射器拒絕訪問而造成的,若要查看的網頁要求使用有效的客戶證書,而您的客戶證書映射沒有權限訪問該Web站點時就會回傳映射器拒絕訪問的錯誤,

錯誤代碼:403.13
403.13錯誤是由于需要查看的網頁要求使用有效的客戶證書而使用的客戶證書已經被吊銷,或者無法確定證書是否已吊銷造成的,

錯誤代碼:403.15
403.15錯誤是由于客戶訪問許可過多而造成的,當服務器超出其客戶訪問許可限制時會回傳此條錯誤,

錯誤代碼:403.16
403.16錯誤是由于客戶證書不可信或者無效而造成的,

錯誤代碼:403.17
403.17錯誤是由于客戶證書已經到期或者尚未生效而造成的,

以下三個是IIS6.0專用:
403.18-在當前的應用程式池中不能執行所請求的URL,
403.19-不能為這個應用程式池中的客戶端執行CGI,
403.20-Passport登錄失敗
View Code

 

 

 

       

本文來自博客園,作者:風光小磊,轉載請注明原文鏈接:https://www.cnblogs.com/lei-z/p/16440010.html

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/498142.html

標籤:Linux

上一篇:Linux 邏輯卷管理器(LVM)

下一篇:【計算機系統基礎1】gdb、gcc簡易使用指南

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • CA和證書

    1、在 CentOS7 中使用 gpg 創建 RSA 非對稱密鑰對 gpg --gen-key #Centos上生成公鑰/密鑰對(存放在家目錄.gnupg/) 2、將 CentOS7 匯出的公鑰,拷貝到 CentOS8 中,在 CentOS8 中使用 CentOS7 的公鑰加密一個檔案 gpg -a ......

    uj5u.com 2020-09-10 00:09:53 more
  • Kubernetes K8S之資源控制器Job和CronJob詳解

    Kubernetes的資源控制器Job和CronJob詳解與示例 ......

    uj5u.com 2020-09-10 00:10:45 more
  • VMware下安裝CentOS

    VMware下安裝CentOS 一、軟硬體準備 1 Centos鏡像準備 1.1 CentOS鏡像下載地址 下載地址 1.2 CentOS鏡像下載程序 點擊下載地址進入如下圖的網站,選擇需要下載的版本,這里選擇的是Centos8,點擊如圖所示。 決定選擇Centos8后,選擇想要的鏡像源進行下載,此 ......

    uj5u.com 2020-09-10 00:12:10 more
  • 如何使用Grep命令查找多個字串

    如何使用Grep 命令查找多個字串 大家好,我是良許! 今天向大家介紹一個非常有用的技巧,那就是使用 grep 命令查找多個字串。 簡單介紹一下,grep 命令可以理解為是一個功能強大的命令列工具,可以用它在一個或多個輸入檔案中搜索與正則運算式相匹配的文本,然后再將每個匹配的文本用標準輸出的格式 ......

    uj5u.com 2020-09-10 00:12:28 more
  • git配置http代理

    git配置http代理 經常遇到克隆 github 慢的問題,這里記錄一下幾種配置 git 代理的方法,解決 clone github 過慢。 目錄 git配置代理 git單獨配置github代理 git配置全域代理 配置終端環境變數 git配置代理 主要使用 git config 命令 git單獨 ......

    uj5u.com 2020-09-10 00:12:33 more
  • Linux npm install 裝包時提示Error EACCES permission denied解

    npm install 裝包時提示Error EACCES permission denied解決辦法 ......

    uj5u.com 2020-09-10 00:12:53 more
  • Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包

    Centos 7下安裝nginx,使用yum install nginx,提示沒有可用的軟體包。 18 (flaskApi) [root@67 flaskDemo]# yum -y install nginx 19 已加載插件:fastestmirror, langpacks 20 Loading ......

    uj5u.com 2020-09-10 00:13:13 more
  • Linux查看服務器暴力破解ssh IP

    在公網的服務器上經常遇到別人爆破你服務器的22埠,用來挖礦或者干其他嘿嘿嘿的事情~ 這種情況下正確的做法是: 修改默認ssh的22埠 使用設定密鑰登錄或者白名單ip登錄 建議服務器密碼為復雜密碼 創建普通用戶登錄服務器(root權限過大) 建立堡壘機,實作統一管理服務器 統計爆破IP [root ......

    uj5u.com 2020-09-10 00:13:17 more
  • CentOS 7系統常見快捷鍵操作方式

    Linux系統中一些常見的快捷方式,可有效提高操作效率,在某些時刻也能避免操作失誤帶來的問題。 ......

    uj5u.com 2020-09-10 00:13:31 more
  • CentOS 7作業系統目錄結構介紹

    作業系統存在著大量的資料檔案資訊,相應檔案資訊會存在于系統相應目錄中,為了更好的管理資料資訊,會將系統進行一些目錄規劃,不同目錄存放不同的資源。 ......

    uj5u.com 2020-09-10 00:13:35 more
最新发布
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:43:21 more
  • vim的常用命令

    Vim的6種基本模式 1. 普通模式在普通模式中,用的編輯器命令,比如移動游標,洗掉文本等等。這也是Vim啟動后的默認模式。這正好和許多新用戶期待的操作方式相反(大多數編輯器默認模式為插入模式)。 2. 插入模式在這個模式中,大多數按鍵都會向文本緩沖中插入文本。大多數新用戶希望文本編輯器編輯程序中一 ......

    uj5u.com 2023-04-20 08:42:36 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:26:53 more
  • 設定Windows主機的瀏覽器為wls2的默認瀏覽器

    這里以Chrome為例。 1. 準備作業 wsl是可以使用Windows主機上安裝的exe程式,出于安全考慮,默認情況下改功能是無法使用。要使用的話,終端需要以管理員權限啟動。 我這里以Windows Terminal為例,介紹如何默認使用管理員權限打開終端,具體操作如下圖所示: 2. 操作 wsl ......

    uj5u.com 2023-04-19 09:25:49 more
  • docker學習

    ###Docker概述 真實專案部署環境可能非常復雜,傳統發布專案一個只需要一個jar包,運行環境需要單獨部署。而通過Docker可將jar包和相關環境(如jdk,redis,Hadoop...)等打包到docker鏡像里,將鏡像發布到Docker倉庫,部署時下載發布的鏡像,直接運行發布的鏡像即可。 ......

    uj5u.com 2023-04-19 09:19:04 more
  • Linux學習筆記

    IP地址和主機名 IP地址 ifconfig可以用來查詢本機的IP地址,如果不能使用,可以通過install net-tools安裝。 Centos系統下ens33表示主網卡;inet后表示IP地址;lo表示本地回環網卡; 127.0.0.1表示代指本機;0.0.0.0可以用于代指本機,同時在放行設 ......

    uj5u.com 2023-04-18 06:52:01 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:50 more
  • 解決linux系統的kdump服務無法啟動的問題

    問題:專案麒麟系統服務器的kdump服務無法啟動,沒有相關日志無法定位問題。 1、查看服務狀態是關閉的,重啟系統也無法啟動 systemctl status kdump 2、修改grub引數,修改“crashkernel”為“512M(有的機器數值太大太小都會導致報錯,建議從128M開始試,或者加個 ......

    uj5u.com 2023-04-12 09:59:01 more
  • 你是不是暴露了?

    作者:袁首京 原創文章,轉載時請保留此宣告,并給出原文連接。 如果您是計算機相關從業人員,那么應該經歷不止一次網路安全專項檢查了,你肯定是收到過資訊系統技術檢測報告,要求你加強風險監測,確保你提供的系統服務堅實可靠了。 沒檢測到問題還好,檢測到問題的話,有些處理起來還是挺麻煩的,尤其是線上正在運行的 ......

    uj5u.com 2023-04-05 16:52:56 more
  • 細節拉滿,80 張圖帶你一步一步推演 slab 記憶體池的設計與實作

    1. 前文回顧 在之前的幾篇記憶體管理系列文章中,筆者帶大家從宏觀角度完整地梳理了一遍 Linux 記憶體分配的整個鏈路,本文的主題依然是記憶體分配,這一次我們會從微觀的角度來探秘一下 Linux 內核中用于零散小記憶體塊分配的記憶體池 —— slab 分配器。 在本小節中,筆者還是按照以往的風格先帶大家簡單 ......

    uj5u.com 2023-04-05 16:44:11 more