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 🙂

Cheers

Tim…

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.

Cheers

Tim…

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 🙂

Cheers

Tim…

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 (oracle-base.com) 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 🙂

Cheers

Tim…

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.

Cheers

Tim…

My NSLU2 experience…

I mentioned in my previous post that I had bought a NSLU2 network storage solution. It’s a Linux appliance, but it only supports samba, not NFS. When using it from Windows it worked fine, but mounting it from Linux left me with loads of permission issues, to the point where I could only really use it as the root user. After surfing on the net is seemed that this was pretty standard. Then I found the Unslung project, which changed everything.

Unslung is another version of the NSLU2 firmware, that allows you to install additional packages. I downloaded Upslug2, used it to flash my NSLU2 with Unslung-5.5, ran the unsling command and added NFS and OpenSSH support.

Now I have a NSLU2 running both samba and NFS. What’s more, I have SSH access so I can interact with Linux on the appliance directly, making it much easier to work with.

If you’re using Windows, chances are you won’t need to do this, but for Linux users I think this is a really good move.

Now I am really happy with my NSLU2, and all my storage is secure. I guess that means I can get back to Oracle for a while 🙂

Cheers

Tim…

Security article, SQL/XML and my PC…

I wrote a summary of some of the recent security posts (Basic Security Measures for Oracle). If I’ve missed something out feel free to drop me a line.

I’ve been doing some SQL/XML again today. It’s really quite simple, but when I’m away from it for a while I manage to convince myself it’s going to be a pain. Well the XML generation was no problem, pity defining the XML Schema wasn’t as easy. It looks like I’m going to get to play with this a bit more in the next few days.

I’ve just bought another 1G of RAM for my machine at home. It makes playing DVDs at the same time as running Oracle10g on a VMware virtual machine much easier 🙂 In the next few days I should receive my NSLU2. After my recent Windows fiasco I decided to get a bit more storage and a NAS to connect them to. It seemed like a much better idea than plugging some disks into the back of my machines. Time will tell 🙂

Cheers

Tim…

jEdit…

I have no problem using vi or gedit, but it’s really handy to edit remote files directly, rather than constantly FTPing files around.

When I’m working on Windows I tend to use UltraEdit as my main text editor, but I use Windows less and less these days, so I’m starting to use jEdit much more. It’s multi-platform, it’s open source and it has loads of plugins, including an FTP plugin to allow editing of remote files.

Just thought I’d mention it 🙂

Cheers

Tim…