转至: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. IntelliJ IDEA 热部署,修改java文件 不用重启tomcat

    详情见大佬:https://www.cnblogs.com/chenweichu/articles/6838842.html

  2. linux文件创建删除与基础命令使用

    目录 一:linux介绍 二:系统介绍 三:系统命令语法格式 四:系统目录结构 五:系统路径的类型 六:系统运行命令 七:查看系统命令帮助man手册 八:系统快捷方式 九:常用系统命令 十:进行目录创 ...

  3. Spring中的单例模式

    Spring中的单例模式 单例模式的介绍 1.1 简介 ​ 保证整个应用中某个实例有且只有一个 1.2作用 保证一个类仅有一个实例,并且提供一个访问它的全局访问点. 单例模式的优点和缺点 单例模式的优 ...

  4. Java应用程序OOM分析

    内存泄露:申请使用完的内存没有释放,导致虚拟机不能再次使用该内存,此时这段内存就泄露了,因为申请者不用了,而又不能被虚拟机分配给别人用. 内存溢出:申请的内存超出了JVM能提供的内存大小,此时称之为溢 ...

  5. 学Go语言能找到实习吗,年前聊聊Go和Java

    前言 快过年了,来公司的人越来越少,估计明天都没什么人了,白泽也要收拾收拾回老家过年了.今天就随便写写零碎的事,所以行文当中难免思路跳跃,请大家一笑了之. 每次冷不丁收到公司给发的礼品袋,心头总是莫名 ...

  6. Redis 源码简洁剖析 04 - Sorted Set 有序集合

    Sorted Set 是什么 Sorted Set 命令及实现方法 Sorted Set 数据结构 跳表(skiplist) 跳表节点的结构定义 跳表的定义 跳表节点查询 层数设置 跳表插入节点 zs ...

  7. Centos设置网络(固定IP)

    简介 设置为桥接模式,即将虚拟机的虚拟网络适配器与主机的物理网络适配器进行交接,虚拟机中的虚拟网络适配器可通过主机中的物理网络适配器直接访问到外部网络. 配置 虚拟机设置为桥接模式 进入网络配置文件, ...

  8. C程序:年转化天

    突然想算算自己到底活了多少天了,e,就是纯属为了好玩,毕竟咱作为一名C初学者还是要多练练的- 为了好玩,加了个密码登陆的,密码是521,还有就是不太懂时间获取... 具体闰年的判断方法: 代码如下: ...

  9. JVM学习十 -(复习)内存分配与回收策略

    内存分配与回收策略 对象的内存分配,就是在堆上分配(也可能经过 JIT 编译后被拆散为标量类型并间接在栈上分配),对象主要分配在新生代的 Eden 区上,少数情况下可能直接分配在老年代,分配规则不固定 ...

  10. php include,require,include_once,require_once 的区别

    include(),require(),include_once(),require_once()作用都是包含并运行指定文件,但是使用场景又有很大区别. 1.include()和require()的区 ...