- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: High Wait I/O
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 09:22 PM
06-29-2004 09:22 PM
High Wait I/O
sar -d shows high %wio, the average value is 40.
using glance, in the GLOBAL WAIT STATES I found Blocked On -> System is the highest value, 42%.
I suppose that CPUs are in wait for a process (or more than one) that use system resource, but how can I identify it?
the system is an 11.0, oracle is running, ECM disks.
hi, and thanks.
s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 09:32 PM
06-29-2004 09:32 PM
Re: High Wait I/O
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 09:44 PM
06-29-2004 09:44 PM
Re: High Wait I/O
thanks.
s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 09:45 PM
06-29-2004 09:45 PM
Re: High Wait I/O
sorry.
s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 09:52 PM
06-29-2004 09:52 PM
Re: High Wait I/O
From Oracle you can check those ratios:
select sum(gets) "Dictionary gets" , sum(getmisses) "Dictionary misses",
sum(gets-getmisses)*100/sum(gets) "Dict. cache hit rate > 90"
from sys.v_$rowcache
select ds.value/ decode( (ds.value+ms.value), 0,1,(ds.value+ms.value))*100 "Disk sort ratio indic. < 0,22"
from v$sysstat ds, v$sysstat ms
where ms.name='sorts (memory)'
and ds.name='sorts (disk)';
select (bbc.total_waits*100/(cg.value+dbg.value)) "Buff busy ratio ind. <= 0,007"
from v$system_event bbc,
v$sysstat cg, v$sysstat dbg
where bbc.event='buffer busy waits'
and cg.name ='consistent gets'
and dbg.name='db block gets'
select nvl( (nvl(bbw.total_waits,0)*100/(nvl(cg.value,0)+nvl(dbg.value,0))), 0) "Free buff. ratio ind. < 0,0009"
from v$system_event bbw,
v$sysstat cg, v$sysstat dbg
where bbw.event='free buffer waits'
and cg.name ='consistent gets'
and dbg.name='db block gets'; -- IF YOU GET NO ROWS, GREAT!
select sum(gethits)*100/sum(gets) "lib. cache get hit ratio > 94"
from v$librarycache;
select sum(pinhits)*100/sum(pins) "lib. cache pin hit ratio > 92"
from v$librarycache;
select sum(pinhits)*100/sum(nvl( pins, 1)) "lib. cache pin hit ratio > 92", namespace
from v$librarycache
where pins > 0 and pinhits > 0
group by namespace
order by 1;
select nvl( sw.value, 0)*100/nvl( lw.value,0) "Redo space wait ratio < 0,2"
from v$sysstat sw, v$sysstat lw
where sw.name='redo log space requests'
and lw.name='redo writes'
select rfcr.value*100/(tsrg.value+tfbr.value) "Chained fetch ratio < 0,05?",
rfcr.value "table fetch continued row",
tsrg.value "table scan rows gotten",
tfbr.value "table fetch by rowid"
from v$sysstat rfcr,
v$sysstat tsrg,
v$sysstat tfbr
where rfcr.name='table fetch continued row'
and tsrg.name='table scan rows gotten'
and tfbr.name='table fetch by rowid' -- HERE I'M NOT SURE IF < 0,05 IS A GOOD VALUE BUT I THINKS IT ISN'T A BAD ONE...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-29-2004 10:04 PM
06-29-2004 10:04 PM
Re: High Wait I/O
If you want to see wich datafiles (filesystem) are the most heavyly used and a lot of usefull stuff, install the STATPACK.
You'll find relevant information in "Using Statspack" in "Database Performance Tuning Guide and Reference".
With 271 disk, 40 %wio seems very hight in deed.
Cheers
Nicolas
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2004 12:35 AM
07-01-2004 12:35 AM
Re: High Wait I/O
s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2004 11:45 AM
07-01-2004 11:45 AM
Re: High Wait I/O
If you are not doing raw disk access, do you have Online JFS? If so, have you set the mount options, so that you are not double buffering the ORACLE I/O in ORACLE and in the HP-UX buffer cache(mincache=direct if I remember correctly). For any tmp storage, is it mounted without file system logging.
Typically, there is no need to do an intent log of tmp, since if there is a crash, tmp files would be useless.
Naturally, this assumes you are not doing I/O as page-outs. If you do have many page-outs then buy more RAM. You can see this in Glance under swap.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2004 04:33 PM
07-01-2004 04:33 PM
Re: High Wait I/O
iostat -t # Find the *hot* disks
pvdisplay # To find out which lv in the *hot* disk.
pvmove # To distribute the *hot* lv's into a number of disks
Online change it may cost a few disks if there is no free space
Regds,
Kaps
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-05-2004 12:44 AM
07-05-2004 12:44 AM
Re: High Wait I/O
SQL> select rfcr.value*100/(tsrg.value+tfbr.value) "Chained fetch ratio < 0,05?",
2 rfcr.value "table fetch continued row",
3 tsrg.value "table scan rows gotten",
4 tfbr.value "table fetch by rowid"
5 from v$sysstat rfcr,
6 v$sysstat tsrg,
7 v$sysstat tfbr
8 where rfcr.name='table fetch continued row'
9 and tsrg.name='table scan rows gotten'
10 and tfbr.name='table fetch by rowid';
Chained fetch ratio < 0,05? table fetch continued row table scan rows gotten table fetch by rowid
--------------------------- ------------------------- ---------------------- --------------------
30,6831545 3664005770 7150020209 4791404412
Any suggest?
s.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-05-2004 03:10 AM
07-05-2004 03:10 AM
Re: High Wait I/O
It seems you have a chainning problem. To solve it you must do the following:
--CREATE TABLE chained_rows. Run the following as system:
sqlplus system/
-- SEE WITCH TABLES ARE CREATING MORE CHAINED ROWS AND SAVE THE OUTPUT TO EXECUTE IT NEXT:
select 'ANALYZE table '||owner||'.'||table_name||' LIST CHAINED ROWS;'
from all_tables
where owner not in ('SYS', 'SYSTEM')
order by owner;
-- EXECUTE THE PREVIOUS OUTPUT...
ANALYZE table OWNER1.TABLE1 LIST CHAINED ROWS;
ANALYZE table OWNER1.TABLE2 LIST CHAINED ROWS;
...
ANALYZE table OWNERN.TABLEN LIST CHAINED ROWS;
-- SEE WHERE IS HAPPENING THE CHAINNING:
select count(*), table_name
from chained_rows
group by table_name
ORDER BY 1 DESC
-- AT THIS POINT YOU HAVE 2 THINGS TO DO:
- PREVENT MORE CHAINNING:
for each table you must increase (here the amount of the increase depends on the current value: if you have %free=10 and %used=85 you may change it to %free=20 and %used=75; if you have %free=20 and %used=80, you may alter to %free=30 and %used=70) the %free on the table storage:
alter table
- REPAIR THE EXISTING CHAINNING:
alter table
disable all triggers
select count(*) from
drop table migrated_rows
create table migrated_rows as
select orig.*
from
where orig.rowid = cr.head_rowid and
cr.table_name =
select count(*) from migrated_rows
delete from
where rowid in (select head_rowid from chained_rows where table_name = '
commit
insert into
select * from migrated_rows
commit
alter table
enable all triggers
Hope this will help you, good luke!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-08-2004 03:34 AM
07-08-2004 03:34 AM
Re: High Wait I/O
Any news from DBAs?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-28-2004 02:51 AM
07-28-2004 02:51 AM
Re: High Wait I/O
at the moment I haven't news from dbas.. I'm still waiting for a feedback.
stef.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-05-2004 08:51 PM
08-05-2004 08:51 PM
Re: High Wait I/O
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-10-2004 12:42 AM
08-10-2004 12:42 AM
Re: High Wait I/O
now the situation similar, but value of wait io is lower than before.. maybe in august oracle works less.. average is 15%.
s.