Daily Archives Tuesday, April 2008

OpenWorld 2008 Registration Opens

W00t!
Registration for Oracle OpenWorld 2008 is officially open. The massive conference is back in its Fall timeslot, September 21-25, 2008 at the Moscone Center in San Francisco.
This year’s shindig will include large doses of Mix, as previously teased. We’re planning to deploy some new features built by our friends at ENTP later this week (fingers [...]

Questions for Charles Phillips on Web 2.0 & BI 2.0

I got a call late today inviting me to a discussion with Charles Phillips, Oracle’s President, on Web 2.0 that’s being held in London next week. The invite has gone out to “bloggers and opinion formers” within the UK and it’ll be interesting to see who else comes along as well.
Anyway, what I thought would [...]

so farewell then, Sven Goran Eriksson


Core blimey!

The Register reports on the latest developments in Oracle’s multi-core licensing policy:

“Oracle, we hear, is charging a factor of .75 for Sun’s T2 and T2+ systems even though they’re running at about the same speed as the T1s. The major difference with the new chips is their support for more threads and the fact that the T2+s can go into multi-socket servers making them more useful for, er, databases. And by ‘more useful’ here we mean ‘useful at all’ since no one in their right mind would have thrown the older T1 systems at Oracle.

The .75 T2 factor comes as quite a shock to Sun customers who have upgraded their hardware only to have the Oracle tax man come along and tell them that the solid price/performance they were expecting via the hardware will be eroded via the software.”

Of course Oracle is entitled to price its licences however it wants. But trebling the fees for customers who move to a different server with the same number of cores as their old kit doesn’t seem like the best way to maintain loyalty. It also alienates Sun, who have previously used the favourable licensing terms to sell T1 boxes.

I disagree with Ashlee Vance’s conclusion that Oracle’s licensing policy will drive customers into the arms of IBM. If you’re going to take the pain of moving to a new DBMS and if licensing costs are the main driver then free is a lot more attractive than DB2, no matter how sane IBM’s fee structure. In his blog Sun CEO Jonathan Schwartz recounts a pertinent story from a recent visit to a large commercial institution:

“We had just closed the acquisition of MySQL, so before I wrapped up, I asked, ‘And would you like a quick update on the newest addition to our family, MySQL?’

The CIO responded categorically with ‘we don’t run MySQL, we run [name withheld to protect the proprietary].’ The CISO said, ‘We can’t just let developers download software off the net, you know, we’ve got regulation and security to worry about.’ The CTO smiled. Everyone else appeared to be sitting on their hands. I was going to leave it at that. Thanks for the business.

Until a (diplomatically) assertive Sun sales rep piped up, ‘Um… no, I connected with a buddy of mine over at MySQL, and had him check - you’ve downloaded MySQL more than 1,300 times in the last twelve months.’

After a profoundly awkward silence, one of the individuals from their internal development team piped up, ‘Actually, everybody uses it. Why bother hassling with license agreements when MySQL’s got you covered. We’re stoked you bought them.’”

As we all know, purchasing decisions are frequently made on the basis of which product is the most cost-effective rather than which product is the best. The danger for Oracle is that Sun’s purchase of MySQL lends the free database a lot more credibility than it had before. If Oracle won’t give Sun any more sweetheart deals then Sun has more reason to start trumpeting the price-performance advantages of running MySQL on their new multi-core boxes. Oracle has made a lot of play about the benefits of free when it adopted Linux as its OS of choice. So it’s not like it doesn’t understand the allure. Which is probably why Oracle has restricted the price gouging to the Enterprise Edition licences whilst the Standard Edition is charged per socket. The jump from the SE feature set to MySQL is probably a lot less daunting than the equivalent jump from EE.

Footnote

Over at the Service Architecture - SOA blog Steve Jones considers the implications of the Register article for Software licensing in a virtual world.

Footnote #2

At the time of writing, the Multi-Core Processors - Impact on Oracle Processor Licensing document hurls an 404 error. This may indicate that Oracle are updating it to reflect the new chip sets.

Footnote #3

Also worth a read is the Register’s recent interview with Mark Shuttleworth, Ubuntu’s rentaquote-in-chief. Amongst other things he makes this prediction about Oracle’s Unbreakable Linux strategy:

“Oracle will find themselves in a position where, if this business is successful or strategically important to them, they will need to fork or buy Red Hat. They will do one of those things within three to five years.”

.

How not to do it…

Two years ago at Oracle Open World, I delivered a "worst practices" talk - how not to do stuff.  I used the word "probably" a lot, for example "you probably don’t need to use bind variables" (there were slides stuck in this slide deck throughout that said ‘hey, these are all the opposite of reality - just in case you are reading this - they are not true!’).

In the same genre - we have "Top Ways How NOT To Scale Your Data Warehouse".  This comes from the Structured Data blog penned by Greg Rahn - that article as well as the others make for some really good reads.

While I’m pumping that blog - another one to definitely look at is Richard Foote’s blog.  He’s been undertaking the destruction of many a myth regarding indexing (like ‘indexes like large blocks’, ‘rebuild when height hits N’, ‘Separate tables from indexes for performance’ and the like).  Very easy to read, very enjoyable to read.

If you use multiple computers like I do - you might be interested in http://www.instapaper.com/ - find something you like, but don’t have time to read right now - save it for later.  Very nice.

ApEx to Replace Oracle Forms; ODTUG Worth Renewing?

LewisC’s An Expert’s Guide To Oracle Technology

ApEx

Are you still using Oracle Forms as an application platform? Is Oracle going to dump Forms in place of ApEx? I don’t know how soon, but if you have followed Forms for any amount of time, you can see the sunset on the horizon.

Oracle has had the Java for Forms developer bug for a while now. You can see that in the <span align=”center” class=”topsto

The ‘write’ stuff…

Not long ago - I wrote about some frustrations with the state of software ‘development’.  This morning I read an article written not too long ago "They Write the Right Stuff".  I liked it a lot.  Maybe not practical or reasonable for every piece of software (but then again, why not?) - but definitely sound techniques and processes for everyone.

The sections are

  • The product is only as good as the plan for the product.  Ah, they are talking specifications, communication, documentation…
  • The best teamwork is a healthy rivalry.  Indeed!  I’ve said before the best was to test your ability to recover in a DBA team would be to set up two teams - one is responsible for damaging a test database in any way they want to.  The other team is responsible for recovering from that catastrophe.  Next week - switch sides.  Not only fun but very enlightening (when I poll audiences, less than 5%, way less, have done a recovery in the last six months - could it be they might not be able to today if needed?).
  • The database is the software baseNow, they did not mean the database is the center of the application itself (I would say something like that) but rather the history, change control, reason for all change is.  The history, the legacy of the code is as important as the plan for the product.  You need to understand why things were done the way they were - in order to safely change it later.
  • Don’t just fix the mistakes - fix whatever permitted the mistake in the first place.  My favorite one!  How many times will I have to hear in my life "we have to do X, but you cannot tell us to use method Y to do it - Y cannot be done".  I get that all of the time - tell me how to make it go faster, but don’t look at or mention touching the application.  The mistakes are typically to be found there - in the application (typically means 99.99999999999999999% give or take a small amount).

 

As an aside, anyone that knows me, knows my mantra - written many times:

  • You should do it in a single SQL statement if at all possible.
  • If you cannot do it in a single SQL Statement, then do it in PL/SQL (as little PL/SQL as possible!).
  • If you cannot do it in PL/SQL, try a Java Stored Procedure.  The number of times this is necessary is extremely rare today with Oracle9i and above.
  • If you cannot do it in Java, do it in a C external procedure.  This is most frequently the approach when raw speed, or the use of a 3rd party API written in C is needed.
  • If you cannot do it in a C external routine, you might want to seriously think about why it is you need to do it…

 

Therefore - I just loved this Oracle-WTF.  And you know what - it pairs up with the "write stuff" article nicely.  I’ll bet you that that original stored procedure was not planned (no specs), peer reviewed (no health rivalry), change managed as it was tweaked over time, and until now - never "fixed".  Can you imagine how long it took to reverse engineer that into a single SQL statement (I’d guess a minimum of an hour - and likely more).  An hour well spent, but I know personally the frustration of that person for that hour - cursing every developer that touched the code before them.

And I cannot tell you how much I hate code like this:

    BEGIN        v_temp_runs := 0;        SELECT COUNT(*)        INTO   v_temp_runs        FROM   dual        WHERE  EXISTS               ( SELECT *                 FROM   temp_runs );    END;

    IF v_temp_runs > 0 THEN
 

Why count something and do something else if there was something to be counted?  JUST DO IT, if there is nothing there - SO WHAT?

At least the original code did not end in "when others then null;" - there is that.

11g upgrade still good

Still looking good.
CPU on the new box is hovering under the 20% mark having been habitually > 80% on the old kit. But it could be a quite time for the business so we will have to compare the metrics that we capture as a proxy for “business activity”.
Best news is that we were getting [...]

a brief history of inane drivel