转至:https://blog.51cto.com/sf1314/2123068

select inst_id,status,count(*) from gv$session group by inst_id,status order by status;

$ORACLE_HOME\rdbms\admin\spreport.sql

Oracle数据库巡检

一、操作系统检查

1.操作系统资源使用情况top/topas/iostat/vmstat 重点关注CPU/内存/交换的使用情况

2.操作系统空间使用情况df -h/-g      重点关注数据库目录空间(du -sh *)(du -sm *)

3.操作系统告警日志

HP: cat /var/adm/syslog/syslog.log

AIX:errpt | more

LINUX: cat /var/log/messages

SUN:cat /var/log/messages

Windows:事件查看器,查看事件内容

4.uptime查看操作系统是否有重启过特别是rac如有重启重点检查grid的alert日志查明原因

二、集群检查

1.检查集群状态crs_stat -t

2.检查集群中数据库的状态crsctl status res -t

3.检查service状态(grid:lsnrctl status),如都飘在一个检点上需要reload到对应节点(srvctl -h)

srvctl relocate service -d <db_unique_name> -s <service_name> {-i <old_inst_name> -t <new_inst_name> | -c <current_node> -n <target_node>} [-f]

4.检查集群alert日志  10g:$CRS_HOME/log/{hostname}/alert{hostname}.log11g:$ORACLE_HOME/log/{hostname}/alert{hostname}.log

5.ASM磁盘空间是否正常

select name,total_mb,free_mb from v$asm_diskgroup;

6.检查磁盘状态

select name,path,STATE,MODE_STATUS from v$asm_disk;

三、数据库检查

1.重点表空间使用情况确保使用率在85%以内

2.资源使用情况select * from v$resource_limit;(set linesize 300;set pagesize 300;)

3.闪回使用情况

select flashback_on from v$database;

查询视图v$recovery_file_dest视图来了解其位置和最大的大小

select * from v$recovery_file_dest;

使用v$flash_recovery_area_usage确定闪回恢复区中的文件使用明细

select * from v$flash_recovery_area_usage;

4.11g的新客户检查新特性是否关闭

是否开启审计show parameter audit_trail   (db 开   none 关)

如开启询问是否有特许需求可以关闭

alter system set audit_trail=none scope=spfile sid='*';

truncate table sys.aud$;

select OWNER,SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,BYTES/1024/1024 MB from dba_segments where SEGMENT_TYPE='TABLE' and SEGMENT_NAME='AUD$';

5.清理监听日志             (win: > listener.log    server 2008 R2 : echo " " > log.xml)

10g及10g以前:$ORACLE_HOME/network/log

11g以后:$ORACLE_BASE/diag/tnslsnr/{hostname}/listener/trace

lsnrctl status查看监听日志目录

10g: $ORACLE_HOME/network/admin/log/    11g:/oracle/gridbase/diag/tnslsnr/s1-11g/listener/alert/log.xml

LSNRCTL> set

LSNRCTL> set current_listener LISTENER

Current Listener is LISTENER

LSNRCTL> set log_status off

LSNRCTL> set log_status on

LSNRCTL> exit

11g LISTENER_SCAN1

LSNRCTL> set current_listener LISTENER_SCAN1

6.检查数据库告警日志

10g以前:$ORACLE_BASE/admin/{SID}/bdump

D:\ORACLE\PRODUCT\10.2.0\ADMIN\{SID}\BDUMP

11g:$ORACLE_BASE/diag/rdbms/{DB_NAME}/{SID}/trace

7.查看数据库等待事件

--查看整体数据库的等待事件情况

select event,count(*) from gv$session_wait where wait_class<>'Idle' group by event;

8.收集awr报告

(1)获取AWR报告

SQL>@ /rdbms/admin/awrrpt.sql     (退出sqlplus即可看到AWR报告)

询问客户高峰期时间点,截取1-2小时的报告

四、备份检查

1.确定是否存在逻辑或物理备份并查看备份情况(需检查备份日志)

2.如存在dbra或dg需检查同步情况

切日志,查看备库是否应用正常

select THREAD#,max(sequence#) from v$archived_log group by thread#;  主机

select THREAD#,max(sequence#) from v$archived_log where applied='YES' group by thread#;  备库

select THREAD#,max(sequence#) from v$archived_log group by thread#;  备库

备机空间检查

3.ogg同步情况检查

[oracle@localhost odc12]$ ps -ef | grep mgr

oracle    8492     1  0 Mar17          00:02:29 ./mgr PARAMFILE /odc12/dirprm/mgr.prm REPORTFILE /odc12/dirrpt/MGR.rpt PROCESSID MGR USESUBDIRS

oracle   26085     1  0 Mar22          00:00:15 ./mgr PARAMFILE /odc/dirprm/mgr.prm REPORTFILE /odc/dirrpt/MGR.rpt PROCESSID MGR PORT 7809

cd /odc12

./ggsci

info all

ggserr.log

五、跑巡检脚本

六、信息收集打包

1.操作系统日志

2.集群alert日志      grid用户(/oracle/grid/crs_1($ORACLE_HOME)/log/zjrac1)

3.数据库alert日志

4.巡检脚本输出内容

mkdir

表空间检查

set feed off

set linesize 100

set pagesize 200

column "USED (MB)" format a10

column "FREE (MB)" format a10

column "TOTAL (MB)" format a10

column PER_FREE format a10

--spool tablespace.alert

SELECT F.TABLESPACE_NAME,

TO_CHAR ((T.TOTAL_SPACE - F.FREE_SPACE),'999,999') "USED (MB)",

TO_CHAR (F.FREE_SPACE, '999,999') "FREE (MB)",

TO_CHAR (T.TOTAL_SPACE, '999,999') "TOTAL (MB)",

TO_CHAR ((ROUND ((F.FREE_SPACE/T.TOTAL_SPACE)*100)),'999')||' %' PER_FREE,

TO_CHAR (T.MAX_SPACE,'999,999') "MAXEXTEND (MB)"

FROM (

SELECT TABLESPACE_NAME,

ROUND (SUM (BLOCKS*(SELECT VALUE/1024

FROM V$PARAMETER

WHERE NAME = 'db_block_size')/1024)

) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME

) F,

(

SELECT TABLESPACE_NAME,

ROUND (SUM (BYTES/1048576)) TOTAL_SPACE,

ROUND (SUM (MAXBYTES/1048576)) MAX_SPACE

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME

) T

WHERE F.TABLESPACE_NAME = T.TABLESPACE_NAME

order by PER_FREE asc;

表空间:

select tpsname,status,mgr,maxsize,c_userd,max_used from (

SELECT  d.tablespace_name  tpsname,d.status status,

d.segment_space_management mgr, d.contents type,

TO_CHAR(NVL(trunc(A.maxbytes / 1024 / 1024), 0),'99G999G990') maxsize,

TO_CHAR(NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0),'990D00') c_userd,

TO_CHAR(NVL((a.bytes - NVL(f.bytes, 0)) / a.maxbytes * 100, 0),'990D00') max_used

FROM sys.dba_tablespaces d,

(SELECT tablespace_name,sum(bytes) bytes,SUM(case autoextensible when  'NO'  then BYTES when  'YES' then MAXBYTES else null end ) maxbytes   FROM dba_data_files  GROUP BY tablespace_name) a,

(SELECT tablespace_name,SUM(bytes) bytes, MAX(bytes) largest_free   FROM dba_free_space   GROUP BY tablespace_name) f

WHERE d.tablespace_name = a.tablespace_name   AND d.tablespace_name = f.tablespace_name(+)

)

where max_used>80

order by max_used desc;

其它:

SQL> select file_name,bytes/1024/1024,maxbytes/1024/1024,AUTOEXTENSIBLE from dba_data_files;

Oracle数据库巡检的更多相关文章

  1. Oracle - 数据库巡检脚本

    分享一个oracle数据库巡检脚本,欢迎大家使用,希望大家在用的过程中发现脚本中的错误并提出改进意见. -- 数据库巡检脚本 -- 版本号2.1 -- 该脚本仅对数据库的做一个初步的巡检,具体的优化方 ...

  2. 【风哥干货】快速解决Oracle数据库故障必备的20个脚本与命令

    1.操作系统性能(通常故障出现时最先检查的内容)top.topas.vmstat.iostat.free.nmon 2.万能重启方法 如应急情况,需要重启数据库:tail -100f <对应路径 ...

  3. Oracle 数据库日常巡检

    1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name ...

  4. 小麦苗数据库巡检脚本,支持Oracle、MySQL、SQL Server和PG等数据库

    目录 一.巡检脚本简介 二.巡检脚本特点 三.巡检结果展示 1.Oracle数据库 2.MySQL数据库 3.SQL Server数据库 4.PG数据库 5.OS信息 四.脚本运行方式 1.Oracl ...

  5. 使用Oracle官方巡检工具ORAchk巡检数据库

    ORAchk概述 ORAchk是Oracle官方出品的Oracle产品健康检查工具,可以从MOS(My Oracle Support)网站上下载,免费使用.这个工具可以检查Oracle数据库,Gold ...

  6. Oracle 数据库知识汇总篇

    Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...

  7. oracle 日常巡检

    1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name ...

  8. Oracle数据库入门到高薪培训教程(从Oracle 11g 到 Oracle 19c)

    一.Oracle数据库入门到高薪培训视频教程(从 Oracle11g 到 Oracle19c) 本套Oracle视频教程学习地址: https://edu.51cto.com/course/18034 ...

  9. 数栈运维实例:Oracle数据库运维场景下,智能运维如何落地生根?

    从马车到汽车是为了提升运输效率,而随着时代的发展,如今我们又希望用自动驾驶把驾驶员从开车这项体力劳动中解放出来,增加运行效率,同时也可减少交通事故发生率,这也是企业对于智能运维的诉求. 从人工运维到自 ...

随机推荐

  1. gin框架中全局跨域请求处理设置

    跨域访问的问题 OPTIONS请求 全局跨域访问中间件 // 跨域访问:cross origin resource share func Cors() gin.HandlerFunc { return ...

  2. 科技爱好者周刊(第 175 期):知识广度 vs 知识深度

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  3. 聊聊HTTPS和SSL协议

    本文为转载,原文链接http://www.techug.com/https-ssl-tls,作者不详. 要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 1. 大致了解几个基本术语(H ...

  4. linu查看系统用户与显示命令行提示符格式信息

    目录 一:查看系统用户whoami 二:显示命令行提示符格式信息变量 一:查看系统用户whoami whoami : 当前窗口登录的用户 who : 当前用户登录系统的终端 作用: 显示当前用户登录了 ...

  5. Visual Studio 2010 怎么查看函数的重载数量、范围、种类等

    将光标放置在()括号内,然后按ctrl + shift + 空格 ,这样就会显示出具体的重载数量与种类,按上键或下键就可以翻看了:

  6. DP 专练

    A - 跳蚤电话 观察性质,可以发现每次连边的点一定是有祖先关系的,可以直接挂上去一个,也可以是在中间边上插入一个点. 所以我很自然的想到去计算树上的点的加入顺序,因为一但加入顺序确定,每一次的操作也 ...

  7. iOS程序的启动过程

    UIApplicationMain main函数中执行了一个UIApplicationMain这个函数 int UIApplicationMain(int argc, char *argv[], NS ...

  8. synchronized类锁,对象锁,方法锁

    synchronized从语法的维度一共有3个用法: 静态方法加上关键字 实例方法(也就是普通方法)加上关键字 方法中使用同步代码块 前两种方式最为偷懒,第三种方式比前两种性能要好. synchron ...

  9. 红色小圆点+数字的badge自定义小方法 by Nicky.Tsui

    效果如图. 实现方法比较简单,在view上增加一个label label设置: 1 badgeLabel = [[UILabel alloc]initWithFrame:CGRectMake(CGRe ...

  10. 【HDU6662】Acesrc and Travel(树型Dp)

    题目链接 大意 给出一颗树,每个点上有一个权值\(A[i]\),有两个绝顶聪明的人甲和乙. 甲乙两人一起在树上轮流走,不能走之前经过的点.(甲乙时刻在一起) 甲先手,并可以确定起点.甲想要走过的点权之 ...