运维中常用的命令有哪些?
- 内容介绍
- 文章标签
- 相关推荐
本文共计4247个文字,预计阅读时间需要17分钟。
一. 查看Linux系统版本:方式一:使用`lsb_release -a`命令方式二:使用`cat /etc/redhat-release`(适用于RedHat、CentOS)方式三:使用`cat /etc/issue`
一. linux常用命令 查看linux系统版本方式一: lsb_release -a 如果显示未找到命令使用命令安装:yum install -y redhat-lsb 方式二:cat /etc/redhat-release (适用于RedHat、CentOS) 方式三:cat /etc/issue 备注:显示以下信息即为CentOS 防火墙相关 备注: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/ligarthas.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
kubectlgetpod-A-owide
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-
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;
查看监听状态
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而造成的,您必须在要查看的网页的地址中使用"www.juniucdn.com欢迎留下您的宝贵建议】
本文共计4247个文字,预计阅读时间需要17分钟。
一. 查看Linux系统版本:方式一:使用`lsb_release -a`命令方式二:使用`cat /etc/redhat-release`(适用于RedHat、CentOS)方式三:使用`cat /etc/issue`
一. linux常用命令 查看linux系统版本方式一: lsb_release -a 如果显示未找到命令使用命令安装:yum install -y redhat-lsb 方式二:cat /etc/redhat-release (适用于RedHat、CentOS) 方式三:cat /etc/issue 备注:显示以下信息即为CentOS 防火墙相关 备注: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/ligarthas.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
kubectlgetpod-A-owide
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-
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;
查看监听状态
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而造成的,您必须在要查看的网页的地址中使用"www.juniucdn.com欢迎留下您的宝贵建议】

