实用的数据库检查程序(2)

程序|数据|数据库

Ttitle Off

 

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.0 Log Switch In the Last Day                                         +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

TTitle left "*** Database: "xdbname", How Offen the Log Switch(As of : "xdate" ) ***" skip 1

 

column archive_name format A40

column "Time" format A25

 

select to_char(TO_DATE(Time,'MM/DD/RR HH24:MI:SS'),'DD-MON-RRRR HH24:MI:SS') "Time",

     ARCHIVE_NAME

from v$log_history

where TO_DATE(Time,'MM/DD/RR HH24:MI:SS') > sysdate - 1

order by TO_DATE(Time,'MM/DD/RR HH24:MI:SS') desc ;

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.0 Invesigation

prompt Standard:

prompt During periods of high activity , log switches are occurring every 20 minutes

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.1 Log Buffer  - redo log space requests : The Value                  +

prompt + should be relative small prompt Server is waiting for                  +

prompt + disk space to be allocate for redo log entries                         +

prompt + Space is created by performing a log switch                            +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

ttitle left "*** Log Buffers - redo log space requests ***" Skip 1

select substr(name,1,25) "Log Buffers",

    substr(value,1,15) "VALUE (Near 0?)"

from v$sysstat

where name = 'redo log space requests'

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.1 Investigation

prompt If the value is not near 0 , increase LOG BUFFER.

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.2 Log Buffer - log buffer space                                      +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

ttitle left "*** Log Buffers - Log Buffer Space Waits***" Skip 1

select sid , event , seconds_in_wait , state

from v$session_wait

where event = 'log buffer space'

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.2 Invesigation

prompt There should be no log buffer space waits

prompt Making the log buffer bigger if it is small

prompt Moving the log files to faster disks such as striped disks

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.3 Log Buffer - Redo Buffer Allocation Retries                        +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

ttitle left "*** Log Buffers - Redo Buffer Allocation Retries ***" Skip 1

column name print

select name , value

from v$sysstat

where name in ('redo buffer allocation retries','redo entries')

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.3 Investigation

prompt Redo Buffer Allocation Retries should be near 0

prompt the number should be less than 1% of Redo Entries

prompt Increase the size of the redo log buffer (LOG BUFFER)

prompt improve the checkpointing or archiving process

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.4 Log Buffer - Log File Switch Completion                            +

prompt + Identify the log file switch waits because of log switches             +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

ttitle left "*** Log Buffers - Log File Swith Completion***" Skip 1

select event , total_waits,time_waited,average_wait

from v$system_event

where event like 'log file switch completion%'

/

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.4 Investigation

prompt Increase the size of the redo log files

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 3.5 Log Buffer - CHECKPOINT Incomplete                                 +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

ttitle left "*** Log Buffers - CheckPoint Incompletion***" Skip 1

select event , total_waits,time_waited,average_wait

from v$system_event

where event like 'log file switch (check%'

or event like 'log file switch (arch%'

/

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 3.5 Investigation

prompt check the frequence of check points and set the appropriate values

prompt for LOG_CHECKPOINT_INTERVAL and LOG_CHECKPOINT_TIMEOUT

prompt check the size and number of redo log groups

prompt confirm that the archive device is not full

prompt add redo log groups

prompt increase the number of buffers to archive and reducing the size of buffers by setting

prompt LOG_ARCHIVE_BUFFERS and LOG_ARCHIVE_BUFFER_SIZE

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 4.0 Share Pool Size - Gets and Misses (Library Cache)                  +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

column "Executions" format 9,999,999,990

column "Cache Misses Executing" format 9,999,999,990

column "Data Dictionary Gets" format 9,999,999,999

column "Get Misses" format 9,999,999,999

column "% Ratio" format 999.99

 

ttitle left skip 1 -

left "*** Shared Pool Size (Execution Misses) ***" skip 1

 

select sum(pins) "Executions",

       sum(reloads) "Cache Misses Executing",

       (sum(reloads)/sum(pins)*100) "% Ratio"

from v$librarycache

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 4.0 Investigation

prompt If % Ratio is above 1% , increase SHARE_POOL_SIZE.

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 4.1 Share Pool Size - Gets and Misses (Data Dictionary)                +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

 

ttitle left "*************** Shared Pool Size (Dictionary Gets) ***********" skip 1

select sum(gets) "Data Dictionary Gets",

       sum(getmisses) "Get Misses",

       100*(sum(getmisses)/sum(gets)) "Ratio"

from v$rowcache

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 4.1 Investigation

prompt If % Ratio is above 12% , increase SHARED_POOL_SIZE.

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 5.0 Check Which SQL is the most cost SQL                               +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

ttitle off

 

ttitle left "*** V$SQL Check ***" Skip 1

column SQL_TEXT Format A50

select Sql_TEXT,EXECUTIONS,ROWS_PROCESSED,BUFFER_GETS/100,DISK_READS/100

FROM V$sql V,(SELECT SUM(BUFFER_GETS) TOT_GETS FROM V$SQL) S

WHERE BUFFER_GETS > TOT_GETS * 0.1

ORDER BY BUFFER_GETS DESC

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 5.0 Invesigation

prompt Selected SQL is the most cost SQL (>10% of total gets)

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

ttitle off

 

prompt

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt + 6.0 How Much CPU is used for each session                              +

prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++

prompt

ttitle left "*** CPU Usage ***" Skip 1

column USERNAME FORMAT A10

column MACHINE FORMAT A15

column OSUSER FORMAT A15

column TERMINAL FORMAT A15

column PROGRAM FORMAT A20

select s.sid,v.SERIAL#,v.USERNAME,v.OSUSER,v.MACHINE,v.TERMINAL,v.PROGRAM,s.value "CPU Used"

from v$sesstat s,v$statname n , v$session v

where s.statistic#=n.statistic# and n.name='CPU used by this session'

and s.sid = v.sid

/

 

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt 6.0 Invesigation

prompt

prompt <<<<<<<<<<<<<<<<<<< NOTE: >>>>>>>>>>>>>>>>>>>>>>

prompt

时间: 2024-08-21 14:50:25

实用的数据库检查程序(2)的相关文章

实用的数据库检查程序 (1)

程序|数据|数据库   功能: 1.     数据库的基本信息显示(建库时间,模式等) 2.     数据库结构信息-DATABASE MAP(CONTROL FILE, REDO LOG FILE, DATAFILE, ROLLBACK SEGMENT) 3.     数据库所有状态信息 4.     数据库级的DB Block Buffer Hit Ratio 5.     SESSION级的DB Block Buffer Hit Ratio 6.     前一天的LOG SWITCH情况

实用的数据库检查程序(3)

程序|数据|数据库 prompt prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++++++++++++++ prompt + 7.0 Sort Area Size                                                     + prompt ++++++++++++++++++++++++++++++++++ Item ++++++++++++++++++++++

简单实用MySQL数据库PHP操作类

例子  代码如下 复制代码 <?php class SqlTool{ private $conn; private $host="localhost"; private $user="root"; private $password=""; private $db="bbs"; function sqlTool(){ $this->conn=mysql_connect("$this->host&qu

MySQL数据库开发中的外键与参照完整性

mysql|数据|数据库     参照完整性(Referential integrity)是数据库设计中一个重要的概念.在系统不同的列表中,当数据库所有参照合法或非合法关联时都会涉及到参照完整性.当参照完整性存在时,任何与不存在记录的关联将变得无效化,由此可防止用户出现各种错误,从而提供更为准确和实用的数据库. 参照完整性通常通过外键(foreign key)的使用而被广泛应用.长久以来,流行工具开源RDBMS MySQL并没有支持外键,原因是这种支持将会降低RDBMS的速度和性能.然而,由于很

Mysql数据库服务器优化配置

问题描述 Mysql数据库服务器优化配置 25C 实用mysql数据库时发现mysql的默认配置是不太适合进行正式的商务应用的特别是部署在服务器上时完全不能发挥性能请问常用的mysql调优又哪些服务器上怎么配置mysql才合适. ps.服务器是一半的刀片机mysql主要用于邮箱服务. ps.之前出现了如下问题com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received

【书】《数据库面试笔试宝典系列》简介

[书]<Oracle数据库面试笔试宝典>相关内容 目录 目录 - 1 - 内容介绍 - 8 - 作者简介 - 8 - 序言 - 9 - 前言 - 10 - 上篇 面试笔试经验技巧篇 - 13 - 第1章 求职经验分享 - 13 - 1.1 踩别人没有踩过的坑,犯别人没有犯过的错 - 13 - 1.2 只要肯钻研,就能成大咖 - 14 - 1.3 普通DBA的逆袭经验 - 14 - 第2章 数据库程序员的求职现状 - 15 - 2.1 当前市场对于数据库程序员的需求如何?待遇如何? - 15 -

NewSQL数据库简介

NewSQL数据库简介 NewSQL的未来 原创 2016-10-20 黄编者按:黄东旭,PingCAP 联合创始人.CTO,是很多人仰望的国内分布式存储领域(NewSQL) 技术大神级别的人物.我们请黄东旭来聊聊他眼中的NewSQL,有需要交流的内容,欢迎留言. 最近数据库圈的一个比较大的事件是 NoSQL 先驱之一的 RethinkDB 的关张大吉,RethinkDB这个事情本身我就不多做评论了,现在这个时机去分析不免有马后炮的嫌疑,今天我想借着这个引子谈谈新型数据库的未来.   纵观过去十

【DG】利用闪回数据库(flashback)修复Failover后的DG环境

利用闪回数据库(flashback)修复Failover后的DG环境   1.1  BLOG文档结构图       1.2  前言部分 1.2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① Failover后DG环境的恢复方法(重点) ② DG的基本维护操作 ③ GC客户端软件的安装 ④ 利用GC快速搭建一套DG环境 ⑤ Failover和Switchover的区别 ⑥ 其它维护操作   Tips: ① 本文

MySQL默认数据库介绍

MySQL默认数据库介绍 大家在学习MySQL时,安装后都会发现里边已经自带了几个默认的数据库,我装的MySQL5.5里边自带六个数据库 网上查了一些资料对这几个数据库的功能做一下学习. 1.information_schema 这个库中有很多的表 information_schema数据库表说明: SCHEMATA表:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES表:提供了关于数据库中的表的信息(包括视图).详细表述了某个表属于哪个sc