I’ve just knocked up a quick article on Dynamic IN-Lists in response to a question on my forum. This is quite a popular question so I’m surprised I haven’t done it before. That’s one less question to answer in future 🙂
Cheers
Tim…
Oracle related rants (and lots of off-topic stuff)…
I’ve just knocked up a quick article on Dynamic IN-Lists in response to a question on my forum. This is quite a popular question so I’m surprised I haven’t done it before. That’s one less question to answer in future 🙂
Cheers
Tim…
I’ve just done a brief run through of DML Error Logging. A number of people, including Tom Kyte, have already written about it, but I always find I need to play around with these things before they sit right in my head. Anyway, it’s there if you’re interested.
I’ve given up on Google Reader. I tried using it for a day and it annoyed me so much I gave up. I guess I’ll try again in a few weeks when it’s moved on a bit. The funny thing is, the thing that annoyed me the most about it was the feature I really wanted. I thought I would prefer a list of things to read, rather than a list of blogs with a count of unread posts, but as it happens I don’t. Some of the news sites I subscribe to have so many posts that Google Reader just feels unusable. On Bloglines it’s quicker to sort out what I want to read and throw the rest away. There’s a lession in that 🙂
Cheers
Tim…
You may remember I wrote a blog post about the Enhanced Commit functionality of 10g Release 2 on the 4th of October in which I raised a question about the default action of BATCH/IMMEDIATE when not specified. On the 5th I raised a TAR in an attempt to answer the question, but still no luck. I came in this morning to find a bunch of waffle about commit processing had been added to the TAR and it had been closed. Had they answered my question? NO!
The phrase, “20% of the list price”, keeps ringing through my head! Where does this money go? Certainly not on paying people to read your question!
Oracle support is totally and utterly abysmal! Oracle need to do something about it, and it needs to be done quickly!
Don’t even get me started on support for the app servers or OCS…
You may have guessed I’m not a happy bunny!
Tim…
Update:
Almost as soon as I finished submitting this post I my TAR was switched to a member of the “Advanced Resolution Team”. Within a couple of hours he came back with the answer. The COMMIT_WRITE documentation is wrong and a bug (4668213) has been raised against it.
So, if neither IMMEDIATE or BATCH are specified, the default action is IMMEDIATE, whether you use the COMMIT WRITE command or the COMMIT_WRITE parameter.
A metalink note (336219.1) is due to be released soon with the correct information.
Pitty I didn’t get this guy first time round 🙂
I’ve updated my article and the related blog posts.
I’m experimenting with Google Reader as a replacement for BlogLines.
So far it doesn’t look too promising. I’ve had a bit of trouble with the subscription management. It occasionally fails, then works fine?? Also, the interface is a bit…. crappy. In this case the label “beta” is definitely appropriate. Some bits of the interface look badly formatted. I thought this was a firefox issue, but it’s the same on IE also.
What I do like it the idea of it presenting a reading list, rather than a list of blogs, some with new posts. In this respect it’s a little more like a news feed, rather than a list of blogs.
I’ll give it a go for a couple of days then make my decision. Google usually hit the mark so I can only assume this is the start of something better.
Cheers
Tim…
I wrote this quick article (Retrieving HTML and Binaries into Tables Over HTTP) in response to Robert’s comment on mr previous blog post. It’s nothing new, but I didn’t have an example on my website so I thought I’d add it.
Cheers
Tim…
I’ve just been looking at the changes to the DBMS_DDL package to allow dynamic wrapping of PL/SQL source. To quote a commonly used phrase on varnish and woodstain adverts, “It does exactly what it says on the tin!”, but I’m not sure if I’ll ever make use of this feature myself…
Cheers
Tim…
I’ve been looking at the enhanced commit processing in Oracle 10g Release 2:
Commit Enhancements in Oracle 10g Database Release 2
In writing this article I’ve noticed a discrepancy in the default values for the COMMIT WRITE command and the COMMIT_WRITE parameter.
The COMMIT documentation says:
“If you specify neither
WAIT
norNOWAIT
, thenWAIT
is the default. If you specify neitherIMMEDIATE
norBATCH
, thenIMMEDIATE
is the default.”
In contrast the COMMIT_WRITE documentation says:
“If only
IMMEDIATE
orBATCH
is specified, but notWAIT
orNOWAIT
, thenWAIT
mode is assumed.
If onlyWAIT
orNOWAIT
is specified, but notIMMEDIATE
orBATCH
, thenBATCH
mode is assumed.”
Is this difference true, or a documentation error? I guess I’ll have to raise a TAR about this, but if anyone knows the answer already I’d be grateful if you could pass it on.
Cheers
Tim…
Update:
The COMMIT_WRITE documentation is incorrect and Oracle support are raising a bug (4668213) against it. When neither BATCH or IMMEDIATE are specified the default action is IMMEDIATE, the same as the COMMIT WRITE command. A metalink note (336219.1) is due to be released soon with the correct information.
From time to time I get questions like,
“How can I make this SQL statement run faster?”
When I see these questions I’m filled with dread. I don’t want to say nothing, but at the same time there is often little I can do to help because SQL tuning requires some knowledge of what you’re trying to achieve. So this post will serve as my generic answer.
Identify poorly performing SQL statements using Statspack, AWR or ADDM.
Once you’ve identified a problem SQL statement, trace it using SQL Trace to get hold of the execution plan and wait states, which should give you some idea of why it is performing so badly. Use this information to help you decide if you should do one or more of the following:
During the rewrite process Explain Plan and DBMS_XPLAN will provide you with the adjusted execution plan, without having to rerun the statement.
If you’re using Oracle 10g you might want to consider using the SQL Tuning Advisor or the SQL Access Advisor. I’ve seen limited success with these, but you may find them more useful.
At some point you may realize that no amount of tweaking is going to solve your performance problems and a more radical approach is necessary. In these cases it may be necessary to use materialized views to “pre-fetch” the data for your problem query, or just redesign that section of your application to make it more efficient.
If there are any shortcuts in this process please pass them on, because I’ve not found them yet 🙂
Cheers
Tim…
PS. I’ve made a couple of modifications based on comments 🙂
I found this funny: Nose Send
Young guys be warned, it’s going to happen, along with grey stubble!
Cheers
Tim…
Just a quick point about a post on Pete-s blog, which in turn references a comment on Tom Kyte’s blog. Pete is totally on the money! Here are a few thoughts related to this:
Over the years I’ve found these to be true time and time again. Remember, it’s just my opinion 🙂
On a different note, my rating super-fan is back again. The DBMS_EPG article once again went to 5 stars for 1 vote, now it’s 3.5 stars for 4 votes. Who is this mystery super-fan?
I recently found out that a couple of friends/acquaintances now read my blog. The majority of my readership for both the blog and the website are based in Asia and the USA. Having some people so close to home seems kinda weird 🙂
Cheers
Tim…