Oracle   发布时间:2022-05-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Oracle数据库巡检大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
select inst_id,status,count(*) from g@R_675_8166@sion 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 froR_766_11845@ 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 g@R_675_8166@sion_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同步情况检查

[@L_502_0@ 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.巡检脚本输出内容

 

@H_876_4@mkdir 

 

表空间检查

set Feed off 

set linesize 100 

set pagesize 200 

column "USED (MB)" format a10 

column "FREE (MB)" format a10 

column "@R_461_10586@L (MB)" format a10 

column PER_FREE format a10 

--spool tablespace.alert 

SELECT F.tablespace_name,

TO_CHAR ((T.@R_461_10586@L_SPACE - F.FREE_SPACE),'999,999') "USED (MB)", 

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

TO_CHAR (T.@R_461_10586@L_SPACE,999') "@R_461_10586@L (MB)", 

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

TO_CHAR (T.MAX_SPACE,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)) @R_461_10586@L_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,'990D00') c_userd,0)) / a.MAXBYTES * 100,'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,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数据库巡检全部内容,希望文章能够帮你解决Oracle数据库巡检所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。