At last, my blog is up.
Posted by Riyaj Shamsudeen on January 9, 2007
This has been one of my long pending wishes to have a blog and update it regularly.
I am an Oracle Database Administrator and I specialize in Oracle database internals and performance tuning. My emphasis currently in Real Application Clusters and E-Business Suite.
Hopefully, I will keep this blog updated and love to hear your comments.
I have also written couple of articles, presented few and will upload them here soon.
Ray Man said
How is it going with your blog? Are you posting and keeping it updated?
orainternals said
Not even close 😉
I really, really need to work on my blog
NR said
Hi,
Please keep posting. Looking forward to get more tips and info.
Bommareddy said
Hi I have a quick question for you. Hope you can reply me. In one of SQL Explain Plan I find lot of time spent on view SYS.VW_SQ_1 which is no where mention in the actual query, but does it appear in Explain Plan?
orainternals said
Hello Bommareddy
Thanks for visiting my blog. vw_sq_1 indicates that your SQL has been rewritten. If you can create a small test case or your SQL and post it here, may be I can confirm that..
Cheers
Riyaj
Taral Desai said
Hi Riyaj,
Sorry to write it here but don’t know where to write so here is my problem. Can you please help me resolving this
1. Environment SunOS qapqdb04 5.10 Generic_127127-11 sun4u sparc SUNW,SPARC-Enterprise. 10.2.3 on SPARC 64 Bit
2. We are observing wait event ‘db file init write’ when we add any datafile.
3. Here is the truss output of the process waiting on this event
4. This is from one of the dbwriter process
5. short stack of the process from oracle
6. truss for the process again that is adding datafile(summary)
Can you please help identifying problem.
orainternals said
Taral
When a datafile is added or a non-temporary tablespace created, session performing that activity, will initialize every block in that data file. So, if you add, 20GB data file, then 20GB of data must be written to that new data file. That is just a normal operation. After submitting I/O, session will wait for ‘db file init write’ wait event. It is normal for that session to wait for ‘db file init write’ event and other sessions should not wait for that event though.
It is possible to have performance issues while creating data file or adding a data file due to this massive I/O activity. Are you trying to debug a performance issue? or Are you trying to improve performance of creating tablespace or adding data file?
Now, this comment is not applicable to tempfiles. Temporary tablespace files (created with ‘create temporary tablepace’) are sparse files (9i+) and only few blocks in each files need to be initialized for tempfiles.
Taral Desai said
Hi Riyaj,
I am trying to debug a performance issue. Because for other servers we have won’t take too long.
Before couple of days i had tested for adding 100MB in one server(Good) and here is the comparison. Here is some abstract.
==========================
BAD
/7: 1.4889 pwrite(259, “C201”.., 1032192, 16384) = 1032192
/1: 1.4922 lwp_unpark(9) = 0
/9: 1.4923 lwp_park(0x00000000, 0) = 0
/1: 1.4975 lwp_unpark(10) = 0
/10: 1.4975 lwp_park(0x00000000, 0) = 0
/1: 1.5008 lwp_unpark(7) = 0
/7: 1.5008 lwp_park(0x00000000, 0) = 0
/8: 1.8134 pwrite(259, “C2 @”.., 1048576, 1048576) = 1048576
/8: 1.8136 kaio(AIONOTIFY, 0) = 0
/1: 1.8136 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 1.8155 lwp_unpark(8) = 0
/8: 1.8155 lwp_park(0x00000000, 0) = 0
/3: lwp_park(0x00000000, 0) (sleeping…)
/4: lwp_park(0x00000000, 0) (sleeping…)
/5: lwp_park(0x00000000, 0) (sleeping…)
/6: lwp_park(0x00000000, 0) (sleeping…)
/2: kaio(6, 0x00000000, 0xFFFFFFFF7C0F7F00, 0x00000010, 0xFFFFFFFF7C0F8F58, 0xFFFFFFFF7C200A00) (sleeping…)
/11: lwp_park(0x00000000, 0) (sleeping…)
/9: 2.5424 pwrite(259, “C280”.., 1048576, 2097152) = 1048576
/9: 2.5426 kaio(AIONOTIFY, 0) = 0
/1: 2.5426 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 2.5459 lwp_unpark(9) = 0
/9: 2.5459 lwp_park(0x00000000, 0) = 0
/10: 2.8614 pwrite(259, “C2C0”.., 1048576, 3145728) = 1048576
/10: 2.8616 kaio(AIONOTIFY, 0) = 0
/1: 2.8617 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/10: 2.8649 lwp_park(0x00000000, 0) = 0
/1: 2.8649 lwp_unpark(10) = 0
/7: 3.1660 pwrite(259, “C201”.., 1048576, 4194304) = 1048576
========================================================================================
I Think Good
/7: 3.0600 pwrite(260, “C201”.., 1032192, 16384) = 1032192
/7: 3.0605 kaio(AIONOTIFY, 0) = 0
/1: 3.0605 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 3.0618 lwp_unpark(7) = 0
/7: 3.0618 lwp_park(0x00000000, 0) = 0
/8: 3.0797 pwrite(260, “C2 @”.., 1048576, 1048576) = 1048576
/8: 3.0799 kaio(AIONOTIFY, 0) = 0
/1: 3.0799 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 3.0812 lwp_unpark(8) = 0
/8: 3.0812 lwp_park(0x00000000, 0) = 0
/9: 3.0845 pwrite(260, “C280”.., 1048576, 2097152) = 1048576
/9: 3.0847 kaio(AIONOTIFY, 0) = 0
/1: 3.0847 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 3.0858 lwp_unpark(9) = 0
/9: 3.0858 lwp_park(0x00000000, 0) = 0
/10: 3.1001 pwrite(260, “C2C0”.., 1048576, 3145728) = 1048576
/10: 3.1005 kaio(AIONOTIFY, 0) = 0
/1: 3.1005 kaio(AIOWAIT, 0xFFFFFFFF7FFF7BC0) = 1
/1: 3.1016 lwp_unpark(10) = 0
/10: 3.1016 lwp_park(0x00000000, 0) = 0
/7: 3.1196 pwrite(260, “C201”.., 1048576, 4194304) = 1048576
orainternals said
Hello Taral
From the lines tagged as BAD, write calls for 1MB of data took 119ms, 21ms, 35ms and 35ms respectively.
For GOOD case, it took 18ms, 15ms, 13ms and 15ms respectively.
It is obvious that BAD case has write performance issue. What type of storage sub-systems are these two cases? I think, I can take a guess: -) but I would rather hear it from you.
BAD
/7: 1.4889 pwrite(259, “C201”.., 1032192, 16384) = 1032192
/7: 1.5008 lwp_park(0x00000000, 0) = 0
119ms
/8: 1.8134 pwrite(259, “C2 @”.., 1048576, 1048576) = 1048576
/8: 1.8155 lwp_park(0x00000000, 0) = 0
21ms
/9: 2.5424 pwrite(259, “C280”.., 1048576, 2097152) = 1048576
/9: 2.5459 lwp_park(0×00000000, 0) = 0
35ms
/10: 2.8614 pwrite(259, “C2C0”.., 1048576, 3145728) = 1048576
/10: 2.8649 lwp_park(0x00000000, 0) = 0
35ms
========================================================================================
I Think Good
/7: 3.0600 pwrite(260, “C201”.., 1032192, 16384) = 1032192
/7: 3.0618 lwp_park(0x00000000, 0) = 0
18ms
/8: 3.0797 pwrite(260, “C2 @”.., 1048576, 1048576) = 1048576
/8: 3.0812 lwp_park(0x00000000, 0) = 0
15ms
/9: 3.0845 pwrite(260, “C280”.., 1048576, 2097152) = 1048576
/9: 3.0858 lwp_park(0x00000000, 0) = 0
13ms
/10: 3.1001 pwrite(260, “C2C0”.., 1048576, 3145728) = 1048576
/10: 3.1016 lwp_park(0x00000000, 0) = 0
15ms
Taral Desai said
It’s a san storage.
Taral Desai said
It’s SAN