Oracle巡检常用命令
一.集群检查常用命令**
集群检查
crs_stat -t
集群节点信息
olsnodes -n
集群网段检查
oifcfg getif
集群状态检查
crsctl check crs
ocr运行状态检查
ocrcheck
voting disk 检查
crsctl query css votedisk
ocr自动备份信息检查
ocrconfig -showbackup
asm磁盘检查(在asm实例中)
select GROUP_NUMBER,NAME,TOTAL_MB/1024,FREE_MB/1024 from v$asm_diskgroup;
二.数据库常用信息检查
set lines 400 pages 80
show parameter name
版本查询
select * from v$version;
复制
数据库状态
select dbid,name,log_mode,open_mode from v$database;
复制
归档状态
archive log list;
复制
实例状态
col host_name for a15
select instance_name,host_name,status,database_status from gv$instance;
复制
控制文件状态
col name for a60
select status,name from v$controlfile;
复制
数据文件大小
select sum(bytes)/1024/1024/1024 from dba_data_files;
复制
并发访问数检查
select inst_id,count(*) from gv$session where username is not null group by inst_id;
复制
失效对象检查
select owner,count(*) from dba_objects where status='INVALID' group by owner;
复制
系统资源限制相关参数
select resource_name,max_utilization,initial_allocation,limit_value from v$resource_limit;
复制
等待事件检查
select sid,event from gv$session_wait where event not like '%mess%' order by event;
复制
数据文件检查
col file_name for a60
select FILE_NAME,FILE_ID,TABLESPACE_NAME,bytes/1024/1024,AUTOEXTENSIBLE from dba_data_files;
复制
表空间使用情况检查
select d.tablespace_name tablespace_name,total_M,total_M-free_M
use_M,free_M,round((total_M-free_M)/total_M*100,2)||'%' use_per
from
(select tablespace_name,round(sum(bytes)/1024/1024,2) total_M from
dba_data_files group by tablespace_name) d,
(select tablespace_name,round(sum(bytes)/1024/1024,2) free_M from
dba_free_space group by tablespace_name) f
where d.tablespace_name=f.tablespace_name order by (total_M-
free_M)/total_M desc;
==================================================================================
set line 200
set pages 200
col tablespace_name for a30
select a.*,b.block_size,b.initial_extent,b.status,b.contents,b.allocation_type,b.extent_management
from (SELECT UPPER(F.TABLESPACE_NAME) TABLESPACE_NAME,
D.TOT_GROOTTE_MB "size(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "used(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),
'990.99') "percent",
F.TOTAL_BYTES "free(M)",
F.MAX_BYTES "max(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC) a ,(select * from dba_tablespaces) b
where a.TABLESPACE_NAME=b.tablespace_name;
复制
三.系统检查常用命令
cat /proc/loadavg # 查看系统负载
cat /proc/cpuinfo # 查看CPU信息
df -h # 查看各分区使用情况
du -sh < 目录名> # 查看指定目录的大小
env # 查看环境变量
fdisk -l # 查看所有分区
free -m # 查看内存使用量和交换区使用量
grep MemTotal /proc/meminfo # 查看内存总量
grep MemFree /proc/meminfo # 查看空闲内存量
head -n 1 /etc/issue # 查看操作系统版本
hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
hostname # 查看计算机名
ifconfig # 查看所有网络接口的属性
iftop # 查看实时的网络流量,监控TCP/IP连接等
vmstat 1 5 (每秒输出结果,总共输出5次)
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
bi: 每秒读取的块数
bo: 每秒写入的块数
wa: 等待IO时间
注意*
一般判断系统负载是否过高,IO磁盘读写是否超高,我们可以查看r、b和wa的时间,当然是越小表是性能资源还有很多剩余,如果过大,我们就需要查看是由于什么操作导致的。
可以结合iostat查看更容易判断是不是磁盘读写导致IO很高