dbWatch AS www.dbwatch.no November 17, 2010 1:11:35 PM Health check report for Oracle 10g database The dbWatch Report displays data collected by the dbWatch tasks installed on the dbWatch Engine. The aim of this report is to enable a DBA to identify bottlenecks in the database system, and provide the DBA with enough information to trace down the critical objects. The different sections display tables and charts that visualize the current situation and the trend over time for the database. There are sections for space usage analysis, memory analysis, growth analysis, configuration and parameter analysis, activity pattern analysis, error logs etc. As a DBA this report gives you the tool you need to perform long term configuration and maintenance to secure that your database system runs at an optimal level.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
dbWatch ASwww.dbwatch.no
November 17, 2010 1:11:35 PM
Health check report for Oracle 10g database
The dbWatch Report displays data collected by the dbWatch tasks installed on the dbWatch Engine. The aim of this report is to
enable a DBA to identify bottlenecks in the database system, and provide the DBA with enough information to trace down the
critical objects. The different sections display tables and charts that visualize the current situation and the trend over time for
the database. There are sections for space usage analysis, memory analysis, growth analysis, configuration and parameter
analysis, activity pattern analysis, error logs etc. As a DBA this report gives you the tool you need to perform long term
configuration and maintenance to secure that your database system runs at an optimal level.
Page 2
Health check report for Oracle 10g database
Databases The report encompasses information from the following databases:
- oracle 10g
Page 3
Health check report for Oracle 10g database
1. Status overview
1.1. Status on check informationThe following table lists basic information on the installed checks.
1.2. Last 10 Warnings/AlarmsThe following table lists the 10 last occured warnings and alarms.
Check Status Last run (date)Alert log check 10g OK 17/11/2010 13:10
Archive status Check OK 17/11/2010 13:10
File status check OK 17/11/2010 13:11
Job scheduling check OK 17/11/2010 13:05
Flash Recovery Area Usage OK 17/11/2010 13:10
Free extents check OK 17/11/2010 11:35
Segment size status ("old style" tablespaces) OK 17/11/2010 11:33
Tablespace free space check OK 17/11/2010 11:45
CPU load OK 17/11/2010 13:09
RMAN backup status WARNING 17/11/2010 11:34
Blocking detector OK 17/11/2010 13:09
Check Status Occured (date)RMAN backup status WARNING 17/11/2010 11:34
Alert log check 10g WARNING 17/11/2010 11:10
Page 4
Health check report for Oracle 10g database
2. System overview The sections shows overall information concerning the database.
2.1. Database informationThe table below lists the identification information for the database.
2.2. Database versionThe table below shows the Oracle version information.
2.3. Database ComponentsThe table below shows information from DBA_REGISTRY dictionary view which displays information about the components loaded into the database.
SID DBMS Type (vendor) Version (#) Database Host OSora10g3 Oracle 10.2.0.1.0 ORA10G3 MAREKSPC 32-bit Windows:
CATPROC VALID 10.2.0.1.0 Oracle Database Packages and Types
Page 5
Health check report for Oracle 10g database
2.4. Availability statisticsThe table below shows availability information about the monitoring session.
2.5. DBMS uptime periodsThe table below shows the periods of time when the database was started/stopped etc. It gives a good indication of the restart frequency of the database.
DBMS uptime Monitored Down Uptime (%)3 days 16 hours 44 min 0 days 2 hours 9 min 0 days 0 hours 0 min 100.0
Period (#) DBMS startup Last sampled date Period span (in days, hours and minutes)1 13-11-2010 20:27 17-11-2010 13:11 3 days 16 hours 44 min
Page 6
Health check report for Oracle 10g database
2.6. Database growth rateThe table below shows the total size of the database, space used and growth rate.
2.7. Database growthThe chart below shows the current growth rate of the database.
Total size of DB (GB) Space used (GB) Growth rate (GB/year)1.5 1.1 3.39
Page 7
Health check report for Oracle 10g database
3. Space usage statistics All database data are organized in units called segments. Segments are grouped by object types such as tables, indexes, clusters etc. Each segment consists ofblocks (the smallest storage unit in Oracle). The blocks are connected to the file system blocks. A database usually consists of thousands of segments, so eachcannot be monitored individually. We therefore retrieve detailed information about the segments that need to be monitored more closely, such as the largestsegments in the database. This section displays information on all segment types and more detailed information on the largest segments.
3.1. SchemasThe following table provides an overview of the object count and size in the monitored database environment. (the 15 largest schemas are shown)
3.6. Growth rate of the largest segmentsThe chart below shows the growth rate of the largest segments. Typically it will be a few segments which make up most of the size development in a schema.The chart contains all elements that have been in the ‘top largest segments’ list
SYS C_OBJ#_INTCOL# CLUSTER SYSTEM 11 11
SYS IDL_UB1$ TABLE SYSTEM 93 175
SYS I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST INDEX SYSAUX 35 20
Page 12
Health check report for Oracle 10g database
4. Memory usage statistics This chapter shows memory statistics.
4.1. Initialization fileThe following table indicates whether a spfile is used or not. (for oracle 8 the table is empty)
4.2. Memory initialization parametersThe following table shows relevant parameters and their values. Please note that pga_aggregate_target (> 9i) and sga_target (> 10g) settings will cause Oracleto dynamicaly allocate memory resources. Dynamically allocated memory values are not visible to users and will be shown as zero values in the table below.
4.3. User memory statistic historyThe following chart shows the history of user memory allocation during the last 48 hours.
Page 14
Health check report for Oracle 10g database
4.4. SGA pool size.The following chart shows SGA pool components' sizes in MB.
Page 15
Health check report for Oracle 10g database
4.5. SGA pools(shared, large, java) statistic historyThe following chart shows the history of buffer size variations for the largest buffers in the system global area during the last 48 hours.
Page 16
Health check report for Oracle 10g database
4.6. Data cache statistics.The graph below shows the hit ratios for buffer cache versus the number of buffer gets (logical Buffer Gets. The relationship between these statistics is goodindication of the IO efficiency of the database and the applications using the system.
Page 17
Health check report for Oracle 10g database
5. Session statistics
5.1. Logon historyShows logon history collected from v$session performance view.
5.2. Current connections from hosts.Shows which host have the highest number of sessions. (Top 10)
Hostname Sessionsmarekspc 9
Page 18
Health check report for Oracle 10g database
5.3. Current connection per username (schema)Shows which users (schemas) have the highest number of sessions. (Top 10)
5.4. Current application types.Shows which programs (applications) have the highest number of connections. (Top 10)
5.5. Current connections.Shows top 50 current sessions. Active and newest first.
Username SessionsDBW_7534 5
DBW_7520 4
Program SessionsdbWatch 9.2 (engine) 8
dbWatch 9.2 (sql worksheet) 1
Username Login time Schema Status Hostname Program nameDBW_7534 2010-11-17 11:01:42.0 DBW_7534 ACTIVE marekspc dbWatch 9.2 (engine)
5.6. Aggregated Logon historyShows aggregated logon history collected from v$session performance view.
Page 20
Health check report for Oracle 10g database
6. File IO statistics Oracle maintains the information regarding the different types of files (data files, temporary files etc.); each of these statistics requires its own interpretation tounderstand the use of the disk resources on the host machine. This chapter shows information concerning data files. The data files are physically located in thefile system of the Oracle server and they contain all data stored in the database, including metadata. The data files are grouped in the logical storage unittablespace. Looking at the tablespace growth directly gives a more correct insight into how much disk resources particular applications (which typically havetheir own tablespaces) consume.
6.1. Physical reads and writesThe chart below shows physical reads and writes for all data files.
Page 21
Health check report for Oracle 10g database
6.2. Statistics for data files with the highest average physical readsThe chart below shows data files with the highest average physical reads, i.e. how many times the database has had to read from that particular file in order tosatisfy a request. Disk reads can be alleviated by buffering tables in memory or by reducing transaction loads. If some particular data file needs to be read oftenit may be beneficial to store this file on its own disk.
6.3. Datafiles with the highest average physical reads
File ID (#) Name Tablespace Size (MB)1 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G3\SYSTEM01.DBF SYSTEM 550
6.4. Statistics for data files with the highest average physical writesThe chart below shows data files with the highest average physical writes for each data file. Write operations are caused by transactions that update tables in thedatabase. Depending on the type of database you will see a lot of write activity or very little. If both read and write activity is high and you experience lag yoursafest bet is either to reduce the load on the database (by optimizing SQL statements or rescheduling regular tasks) or moving the data file to another disk.
6.5. Datafiles with the highest average physical writes
File ID (#) Name Tablespace Size (MB)3 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G3\SYSAUX01.DBF SYSAUX 360
6.6. Aggregate IO historyShows aggregated reads and writes values per day.
6.7. File statisticsThe table below lists all data files in the database. The column "Auto" refer to AUTOEXTENSIBLE column in DBA_DATA_FILES dictionary view, while"Max" refer to MAXBYTES column.
Tablespace Name Size (MB) Max (GB) AutoDBWATCH E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G3\DBWATCH_01.DBF 120.0 0.5 YES
7. Redolog analysis Redolog files contain information about transactions in the database. This information is used under 'media recovery' and 'instance recovery' (to rebuildcorrupted/deleted data files or reinstall a terminated instance). This chapter reviews the configuration and efficiency of the redolog files. Archive files arebackups of redolog files. When a redolog file is full or a redolog switch is performed, the content of the redolog files is copied to an archive file (each archiveactivity generates 1 archive file pr. redolog file). A corrupt redolog will lead to loss of data. Switching is an automatic activity which is performed when theredolog file is full. The number of switches is a function of the transaction count and size plus the file size. You can also activate automatic redolog switchingso that switching can be performed regularly independent of the transactions.
7.1. Redolog filesThe table below lists existing redolog files. If several members (physical redolog files) belong to the same group they are mirrored (something which givesbetter protections and is highly recommended). In additon the table lists the redolog files sizes. The following charts shows statistics regarding log swithces.
Thread (ID) Group (ID) Member (path) Size (MB) Status1 1 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G3\REDO01.LOG 50 CURRENT
7.2. Redolog switch frequency pr. dayThe chart below shows the number of redolog switches pr. day. This chart gives and insigth into the databases transaction rate. Since switching is a resourcedemanding task, it is recommended that switching occurs every 5-20 minutes. However, this should be done according to the specific environment.
Page 27
Health check report for Oracle 10g database
7.3. Redolog switch frequency per hourThe chart below shows the number of redolog switches per hour. Even if statistics over number of redologs switches pr. day is satisfying you should make surecheck that they are evenly distributed across the day.
Page 28
Health check report for Oracle 10g database
7.4. Transaction frequencyThe chart below shows the transaction frequency.
Page 29
Health check report for Oracle 10g database
8. Tablespace statistics
8.1. TablespacesThe following table presents general statistics for the largest tablespaces (maximum 20 tablespaces will be shown). The “Free extents#” column may indicatedefragmentation of the tablespace.
Name Size (MB) Free space (MB) Free extents (#) Percent free (%)SYSTEM 550 28 2 5.1
SYSAUX 360 33 104 9.2
DBWATCH 120 10 9 8.3
DBW_7534 100 95 1 95.0
TEST 84 42 58 50.0
JORAPTHNODE1 50 44 2 88.0
DBWATCH7474 50 44 2 88.0
UNDOTBS1 40 13 11 32.5
DBW_7434_D 40 26 2 65.0
GRIDCONTROL 30 16 3 53.3
TEMP 20 20 1 100.0
USERS 5 5 1 100.0
TEST3 3 1 1 33.3
TEST2 2 2 1 100.0
Page 30
Health check report for Oracle 10g database
8.2. Tablespace sizeUsed and free space in each of the 10 largest tablespaces.
Page 31
Health check report for Oracle 10g database
8.3. Tablespace growth rateThe following chart visualizes the growth rate for the 5 largest tablespaces.
Page 32
Health check report for Oracle 10g database
9. Sorting and temporary space
9.1. Temporary data filesThe following table presents storage configuration for temporary files.
9.2. Sorts statistics for memory and disk.The following chart shows the relationship between sorts in memory vs. sorts to disk for the last 48 hours. .
Tablespace Filename Size (MB) Autoextensible Max size (GB) Inbrement by (bytes)TEMP E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORA10G3\TEMP01.DBF 20.0 YES 33.0 80.0
Page 33
Health check report for Oracle 10g database
9.3. Sort statistics by rowsThe following chart shows the number of rows sorted over the last 48 hours.
Page 34
Health check report for Oracle 10g database
9.4. Physical reads/writes for temporary tablespaces.The following chart shows read and write statistics for temporary tablespaces defined with temporary data files (using temp file option in tablespace creation)over the last 48 hours.
Page 35
Health check report for Oracle 10g database
10. SQL statements analysis The following section lists statistics from V$SQLAREA dynamic performance view. The statistics are divided into four tables sorted by the followingcategorys/values: "rows processed", "buffer gets", "disk reads" and "most executed".
10.1. Statistics for cursors with the highest value of rows processedThe following table lists statistics for cursors with the highest value of records processed.
Rows processed Average rows processed Average buffer gets Hitratio
Average CPU (sec) SQL text
56,920 15 3 93.02 0.45 select /*+ rule */ bucket, endpoint, col#, epvalue from histgrm$ whereobj#=:1 and intcol#=:2 and row#=:3 order by bucket
49,657 1 2 99.99 0.062 SELECT EXECUTION_COUNTER FROM DBW_TASKS WHERETASK_ID=:B1
49,365 98 112 100.0 1.845 DELETE FROM DBW_INSTANCEMEM WHERE H_DATE < :B1
47,766 1 7 100.0 0.094 SELECT NVL(MAX(VALUE),0) FROM DBW_INSTANCEMEMWHERE H_DATE=:B2 AND STATISTIC#=:B1
38,474 1 1 100.0 0.073 select count(*) from sys.job$ where (next_date > sysdate) and(next_date < (sysdate+5/86400))
33,652 1 0 76.81 0.197 BEGIN dbw_7520.dbw_getEngineTime(:1); END;
26,825 1 1 99.97 0.058 SELECT TASK_ID FROM DBW_TASKS WHERE TASK_ID=:B1
26,601 1 1 100.0 0.044 SELECT TASK_ID FROM DBW_TASKS WHERE TASK_ID =:B1
Page 36
Health check report for Oracle 10g database
10.2. Statistics for cursors with the highest value of buffer getsThe following table lists statistics for cursors with the highest value of buffer gets.
10.3. Statistics for cursors with the highest value of disk readsThe following table lists statistics for cursors with the highest value of disk reads.
Buffer gets Average buffer gets Hit ratio Average CPU (sec) SQL text6,597,577 391 96.69 26.754 BEGIN dbw_7520.dbw_executeTask(:1,:2); END;
2,757,404 9,608 98.84 284.395 BEGIN dbms_waits(23);END;
1,514,730 81 98.47 3.041 SELECT MAX(NVL(EXECUTION_COUNTER,0)) FROM DBW_WAITS_HISTR
1,433,873 4,961 98.76 167.499 BEGIN latch_stat(26);END;
701,280 241 99.98 0.729 SELECT SU.NAME, SO.NAME, A.STATSTYPE#, C.INTCOL# FROMASSOCIATION$ A, OBJ$ O, USER$ U, COL$ C, OBJ$ SO, USER$ SU,COLTYPE$ CT, OBJ$ TY WHERE O.OWNER#=U.USER# ANDA.OBJ#=TY.OBJ# AND O.OBJ#=C.OBJ# AND C.INTCOL#=CT.INTCOL# ANDO.OBJ#=CT.OBJ# AND CT.TOID=TY.OID$ AND A.STATSTYPE#=SO.OBJ#AND SO.OWNER#=SU.USER# AND O.TYPE#=2 AND O.NAME=:B3 ANDU.NAME=:B2 AND C.NAME=:B1
62,786 31,393 75.1 1,125.028 BEGIN free_extents(13);END;
58,455 1,083 50.12 23.252 select o.obj#, u.name, o.name, t.spare1, DECODE(bitand(t.flags, 268435456),268435456, t.initrans, t.pctfree$) from sys.obj$ o, sys.user$ u, sys.tab$ t where(bitand(t.trigflag, 1048576) = 1048576) and o.obj#=t.obj# and o.owner# =u.user#
Executions Average buffer gets Hit ratio Average CPU (sec) SQL text49,657 2 99.99 0.062 SELECT EXECUTION_COUNTER FROM DBW_TASKS WHERE
10.5. History of resource demanding cursorsThe following table lists statistics for most resource demanding cursors.
38,479 2 100.0 0.125 select job, nvl2(last_date, 1, 0) from sys.job$ where (((:1 <= next_date) and(next_date < :2)) or ((last_date is null) and (next_date < :3))) and (field1 = :4 or(field1 = 0 and 'Y' = :5)) and (this_date is null) order by next_date, job
38,474 1 100.0 0.073 select count(*) from sys.job$ where (next_date > sysdate) and (next_date <(sysdate+5/86400))
33,652 0 76.81 0.197 BEGIN dbw_7520.dbw_getEngineTime(:1); END;
26,828 1 99.97 0.058 SELECT TASK_ID FROM DBW_TASKS WHERE TASK_ID=:B1
26,601 1 100.0 0.044 SELECT TASK_ID FROM DBW_TASKS WHERE TASK_ID =:B1
26,593 7 99.85 0.482 SELECT T.TASK_ID, LAST_RUN, CASE WHEN C.SUSPENDED IS NULLTHEN -1 ELSE C.SUSPENDED END AS SUSPENDED, CASE WHENC.STATUS IS NULL THEN -1 ELSE C.STATUS END AS STATUS,DBW_HASUNACKNOWLEDGED ( :B1 ) AS HAS_UNACKNOWLEDGED,T.EXECUTION_DETAILS FROM DBW_TASKS T LEFT OUTER JOINDBW_CHECKS C ON T.TASK_ID=C.TASK_ID WHERE T.TASK_ID=:B1
Collected Executions Average rows processed Average buffer gets Hit ratio Average CPU (sec) Average elapsed time (sec) SQL text
Page 39
Health check report for Oracle 10g database
11. Flash recovery area usage
11.1. Flash recovery area usageThe following table lists information from V$FLASH_RECOVERY_AREA_USAGE dictionary view.
11.2. Initialisation parametersThe following table lists Oracle initialisation parameters related to Flash Recovery Area. The db_recovery_file_dest_size parameter value is a user-specifiedlimit on the amount of space that will be used by this database for recovery-related files, and does not reflect the amount of space available in the underlyingfilesystem.
File Type Percent Space Used Reclaimable Number of filesCONTROLFILE 0.0 0.0 0
ONLINELOG 0.0 0.0 0
ARCHIVELOG 27.17 0.0 32
BACKUPPIECE 0.0 0.0 0
IMAGECOPY 0.0 0.0 0
FLASHBACKLOG 0.0 0.0 0
Name Valuedb_recovery_file_dest E:\oracle\product\10.2.0\flash_recovery_area
db_recovery_file_dest_size 5 GB
Page 40
Health check report for Oracle 10g database
11.3. RMAN CrosscheckYou can free up space from flash recovery area by deleting unnecessary files using RMAN DELETE command. If an operating system command was used todelete files, then use RMAN CROSSCHECK and DELETE EXPIRED commands.
RMAN commandrun
{
DELETE OBSOLETE;
CROSSCHECK ARCHIVELOG ALL;
DELETE EXPIRED ARCHIVELOG ALL;
}
Page 41
Health check report for Oracle 10g database
12. RMAN backup statistics
12.1. RMAN Backup HistoryThe table below shows history of RMAN backups.
Backup Started Backup ended status Elaps time Output (MB) (MB) Input (MB) (MB)25/10/2010 13:14 25/10/2010 13:21 COMPLETED 00:07:18 3,284 3,714