Thursday, March 28, 2013

Thank you x400!

Today the blog has not only passed 400 hits since it opened, but has hit a monthly high with several days to go in March!  That's incredible, and I want to thank the people that have made that possible.  With every milestone the blog hits, it makes me more humble and passionate about being successful with this endeavour.

A heartfelt thanks,
-The Oracle EMT

The blog! (is a transformer)

Maybe you've noticed recently, but the blog is starting to get away from the purely technical updates that I'd originally been doing as I get more involved in the community as a whole and find so much stuff that just interests me which I believe other people in my position would find interesting as well.  The technical posts won't be going away, don't worry, but over the next few months I'll try to be posting more often as I try to find a way to iron out what the blog is about and how I go about doing it.

Feedback is always welcome, so feel free to drop me a line.

-The Oracle EMT

Blog roll update

Over the past few weeks/months I've collected some new blogs to add to the site.

Individuals:

As featured in my latest blog post: http://arup.blogspot.com/
http://www.oracle-base.com/blog/
http://www.debrasoracle.blogspot.com/
http://www.pythian.com/blog/author/alex/ EDIT: When trying to add this to My Blog List, apparently blogspot/Blogger doesn't like the fact that the Pythian blog is already on there so it won't add.  I'll just have to catch his updates via their official blog, or rearrange what I'm doing at a later time.
http://ronbatra.blogspot.com/

Oracle/Professional:

https://blogs.oracle.com/OTNGarage/
https://blogs.oracle.com/archbeat/
https://blogs.oracle.com/linuxkernel/ found via https://blogs.oracle.com/linux/entry/new_blog_oracle_mainline_linux
http://www.pythian.com/blog/ EDIT: Added to My Blog List

Sunday, March 24, 2013

Optimizer presentations, and more!

Over the holidays I found these from: http://jonathanlewis.wordpress.com/2012/11/13/busy-busy/

A treasure trove of technical papers about the optimizer, all of which I need to digest after I get some of the basics under my belt.
The YouTube channel for Oracle Learning!
A great presentation on "the OS" by Christo Kutrovsky with Pythian.
Links to several articles by Arup Nanda, posted on oracle.com, and I really liked the in depth manner of the last article on the page enough to link everything else without reading most of them.  Maybe, just maybe, this is foreshadowing of my next blog post....

Thursday, March 21, 2013

Oracle OpenWorld 13 call for papers

It's that time of year again for Oracle OpenWorld to roll around, and the call for papers has just opened up!  I've submitted a few proposals to OAUG and Hotsos over the past few months, and not only am I going to submit that again for OOW, but I'm going to be working on a completely new proposal from a lot of things I've started blogging about recently.  Have you been looking forward to this event as well?

Monday, March 18, 2013

Free sessions!!

Tanel Poder has offered a free hacking session on a new Exadata V3 box, and Karen Morton has offered a free performance session!  I've signed up for these and am looking forward to attending!

Thursday, March 14, 2013

Lazarus reports


Once upon a time, I thought that after a report had run in the Concurrent Manager there was no possible way to run the same request over again.  Time has passed and I have become more powerful than you can possibly imagine, so I now know that the concurrent is just a program reading the values from tables within the data structure.  This meant that it was possible to have reports emerge from the dead like Lazarus (or the Pit of the same name) with this script for 10.2.0.4 on EBS 11.5.10.2:

update fnd_concurrent_requests
set phase_code = 'P', status_code ='Q'
where request_id in ()

After going to 11.2.0.2 without changing from EBS 11.5.10.2, I noticed that my old script wouldn't exactly work the same so after several different investigative attempts the script needed to be tweaked to:

update fnd_concurrent_requests
set phase_code = 'P', status_code ='I'
where request_id in ()

Obviously something like this should be used with care, as restarting certain reports may cause data corruption issues, but if you're reading this blog you should be a responsible adult.  Any irresponsible adults reading, please feel free to keep reading the blog.  :}

Tuesday, March 12, 2013

System Wait Events Part 1

Before I go too much further with the blog, I have to do some housecleaning!  Back in August I had realized that a post went missing, so I put the URL into a draft and saved it to come back to and last week I was looking for that article......but I had never come back to it to re-write the article!  That's bad on me in general, and more specifically this post and the one last week have gone without a true origination and credit which bugs me quite a bit.

After upgrading to Exadata with 11.2.0.2, we started running into sessions hanging in the "inactive transaction branch" which were running statements over a DB link to an instance running on 10.2.0.4.  A quick search lead me to this page which not only suggested a fix (patching didn't actually resolve it), but also a way to look into our systems which is proactive and at a deeper level than we had before.

Thursday, March 7, 2013

Journal Import: Suspended!

Off of our wait event alert, there was a session that just sitting in "statement suspended, wait error to be cleared" which was a new wait event I had not seen before.  Doing some research I found it to be a Journal Import report which was in the process of deleting rows per this statement:

delete from GL_INTERFACE
where (user_je_source_name, nvl(group_id, -1)) in (listing of ledgers) and status = 'PROCESSED'
and request_id = user request
and rownum <= 5000
and (user_je_source_name, nvl(group_id, -1)) IN (SELECT src.user_je_source_name, nvl(group_id,-1) FROM gl_interface_control ic, gl_je_sources src WHERE ic.je_source_name = src.je_source_name
AND   ic.interface_run_id = run id
AND   ic.set_of_books_id = set of books id
AND   ic.status = 'I'
AND   nvl(ic.processed_table_code,'D') != 'S')

I can see in the table dba_outstanding_alerts information about this session as such:

Operation on resumable session Session 1579, Instance 1 session id 1579 suspended because of errors in rollback segment _SYSSMU1260_2942144267$. Error message is ORA-01628: max # extents (32765) reached for rollback segment _SYSSMU1260_2942144267$

Now the error message seems to be straightforward, and My Oracle Support notes ID 761848.1 & 788060.1 give some anecdotal evidence for what is going on, but we weren't able to get the root cause addressed in time to allow the report to complete successfully as it timed out internally and resulted in the report completing in Error.  This means I'm not exactly sure how we could have resolved it, yet I have some suspicion that if we could have expanded the maximum number of extents for this segment we would have seen the session resume and move along.  I'll put this down under as a mystery which needs research, because we need to learn more about it for next time when the report in question is something a lot more important and we can't go back to Oracle with an SR to fix.