Content Managment Systems…

Like Andy C, I’ve been following Howard Rogers’ CMS journey with interest.

I’m always hopeful I’ll find tools that make my life easier, but as yet I’ve been unable to find a CMS tool that suits me. The biggest problem with all the CMS tools I’ve trialed is the way they use the database. Invariably, each page is generated at runtime from the contents of the database, making the database access speed a major limiting factor for sites with high number of hits. So why serve static and semi-static data from the database?

By far, the majority of my site is static content. If I want to alter the format of the site I alter either the Cascading Style Sheet or 4 simple template files. I don’t revisit each page on the site. That would be lunacy. My homegrown CMS system stores the contents of all my pages in the database, but rather than generating a page for each request, I generate the whole site once, including templates and include files, to flat files and only regenerate individual pages when things change. Dynamic and semi-static content, such as article ratings and RSS feeds, are located in small include files, which are automatically regenerated when necessary.

My difficulty in finding a CMS I like comes from that fact that I have most of the advantages of these CMS systems, like web editing and backup/recovery, but I also get speed thrown into the mix as a bonus.

I guess the hunt continues πŸ™‚



Raptor 3 Early Adopter?

The Early Adopter 3 of Raptor has hit the OTN site, but I would think before you leap in.

It looks like a number of previous bugs have been reintroduced in EA3. The SQL formatter doesn’t work in any editor except the SQL Worksheet, and the debugger appears to have gone missing. I expect the support forum may fill up rather fast. Not exactly a glowing advertisment for Oracle development πŸ™



Critical Update, not so critical for Tru64…

The recent press interest in Oracle security has certainly increased the profile of security within our company (about time too). Unfortunately, it’s also repeatedly highlighting the lack of support provided by Oracle.

For all you guys and girls on first tier platforms, I guess you’ve applied the latest CPU already, or are at least in the planning stages.

Not me! I’m living the life of leisure, waiting for it to be released for Tru64. Although Oracle support will not give a specific date, it currently looks like it will take 2-3 weeks. Good to know that everyone and their dog knows how to hack my systems and there is no fix available.

So currently I’m still waiting for:

  • Patch for 10g Release 1 on Tru64.
  • Oracle 10g Release 2 (10.2.0) on Tru64.
  • Patch 4751926 on Tru64.
  • EM 10g Release 2 Grid Agents (10.2.0) for Tru64.

If Oracle had any balls, they would ditch the majority of their platforms and maybe start providing a reasonable service. But they haven’t and they won’t.

Bunch of jokers!



Underworld – Evolution…

As mentioned in my previous post, I went to see Underworld – Evolution last night. It wasn’t exactly what I expected, but that’s not always a bad thing. Vampires, werewolves and Kate Beckinsale rolled together into a single film. Works for me every time. If you liked the first film then I guess you will enjoy this one also. If not, then try something else πŸ™‚



Anonymous Comments Removed…

I’ve just deleted a couple of anonymous comments and prevented anonymous posting. I’m not totally happy about it because it seems like censorship, but I’m not going to sit in the middle and let people use my sites as a forum to slag off others.

Nuff said!

On a lighter note, I’m going to see Underworld – Evolution tonight and tomorrow I’ve got a Christmas Party. It’s one that I couldn’t fit in before Christmas πŸ™‚



PL/SQL vs J2EE – Some comments…

Robert Vollman has a good post called PL/SQL vs J2EE. I started to write a comment, but it became too long so I decided to post is on my blog instead.

I’ll start by saying I have a very strong position on this point, as expressed in a previous post My Utopian Development Environment.

I’m ready to be shot down in flames by a J2EE guru, but this is what I observe when I look at our J2EE applications interacting with the database.

  • By far the most executed statement on our databases is “ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED”. This is executed in excess of 100,000 times an hour for one application alone. Why? Because every time the 10g application server does anything, it seems to send this first. Now this equates to the default operation in Oracle, so it is completely pointless. The developers didn’t know how to stop it so I raised a TAR with Oracle support and was told I couldn’t!
  • The way EJBs maintain there state is rather odd. When an EJB persists it’s state, using an insert or update, it immediately requeries it’s state. This turns a single operation into two database calls.
  • When the container detects a failure in a database transaction, it retries the transaction twice before bombing out with an error. I don’t know if this is configurable or not, but this is what I see.
  • Instantiating or persisting complex structures involves multiple database calls, each made individually with their own associated network traffic.

Now I’m not a J2EE developer and these observations are based on the applications I work with, but this does not add up to a scalable and performance orientated solution to data processing.

In addition, we have some data transfers that cannot go through the application layer (don’t ask!), so we have to duplication some of the J2EE business logic in PL/SQL. Same logic, two locations, disaster waiting to happen!

Googling around leads me to the conclusion that a lot of people are suffering the same problems as us. So what does this mean? Either J2EE just isn’t built for performance, or most J2EE developers don’t know how to do the job correctly. Either way, it’s like giving people a rope to hang themselves with.

My opinion? If you want it fast, put it in the database. If you want a single location for business logic, regardless of the applications accessing it, put it in the database.



Did you spot the deliberate mistake?

So yesterday, just after posting Why do I publish on the web?, I decided to change the way my website was hosted. As a result, the site was unavailable for somewhere between 1 and 24 hours, depending on DNS propagation. So I guess the post should have been called, “Why I don’t publish on the web!”

Historically the site was written in ASP and MS Access. Quite some time ago I rewrote it in PHP and mySQL, but I never moved it off the existing server, so all of that was running on Windows 2000, and later Windows 2003. Recently, a collegue started a site with the same hosting company and I noticed his was much more responsive. Turns out he was using a Linux host, rather than a Windows one. Yesterday I switched to Linux and guess what? Everything is much quicker. All the dynamic content, like the forum and the ratings system, is miles faster.

Yet another success story for Linux πŸ™‚



Why do I publish on the web?

Reading a post by Doug Burns that referred to multiple comments about fragmentation of the Oracle community made me think about my own motives for publishing material.

My site ( started many years ago as a means of collating information for me to use. As a freelance DBA/Developer, it was easier to keep information on a website than carry it from company to company on floppies or CDs. How-To articles allowed me to quickly remember how features worked if I hadn’t used them for a while. In addition, these articles allowed me to answer common questions with one URL, rather than repeating the same conversation or email. It all started as a means of making my life easier.

The site started to get a bit more popular when I wrote some Oracle 9i OCP DBA upgrade notes and put them on the site. I did the beta exam so there were no upgrade exam guides available. Since I had to write my own notes anyway, putting them on the site was no effort. The process for the 10g OCP upgrade was similar.

On occasion I write specific articles to answer questions, but for the most part I write about whatever I’m currently doing. So it’s still very much a site for me. The fact that others find the site useful is nice for my ego, but not essential for its existence.

Regarding the community fragmentation issue, I don’t see this as a problem. I agree with Eddie Awad’s view in Dougs comments:

I believe that the Internet is not a Pizza pie, it is an open and vast medium, only the useful and the reliable will surface in this medium, the rest will sink into the black whole of the web.

Q: So why do I publish on the web?
A: I do it for me. If others like it that’s fine. If the don’t they should go elsewhere.

Q: Should other people of varying abilities publish on the net?
A: Too right they should! If I think it’s rubbish I won’t read it. If it’s good I will.

Q: Does it matter if they make their mistakes in public?
A: If they can live with it I can πŸ™‚

Q: Is this bad for the community?
A: I’m sure there will be occasional bum-steers, but for the most part it won’t matter too much. We’ve all given bad advice on more than one occasion, and we all will again. Does this mean we should stop? I don’t think so.

Q: Is there anymore to say on this matter?
A: I’m sure there is, but I’m a little bored now πŸ™‚



Change of email address…

The time has come to clean up my act. I’ve got loads of domains and loads of email addresses and it’s a complete waste of time and money, so I’m going to ditch the lot. As a result, I’m starting the arduous task of changing my email address. If anyone has my former email address and they want the new one, contact me on the old address and I’ll send it through.



The death of Oracle on Tru64…

Consider this:

  • Oracle 10g Release 2 is available on just about every platform except Tru64.
  • The latest Oracle 10g Release 1 patchset for Tru64 is

It would be much easier if Oracle came out and admitted they’ve junked this platform, rather than paying lip service and not delivering on our support and updates contract.