Internet Searches and the Earths History…

I’ve been putting together a website for my Karate Club recently. They wanted it plain and simple and that is exactly what they got. Website design is certainly not my forte 🙂

Anyway, during the process of building this site I had to search the net for pieces of information, like competition results etc. It then struck me that the world only came into existence about 5 years ago, or so it would seem if you base your view on the contents of the internet.

The IT industry is like a bubble where everything moves so quickly, while the outside world just ambles along. Sometimes it’s easy to lose site of this, but when searching for time-based information outside of the IT industry the net can very quickly become a wasteland.

I noticed today that Yahoo! passed google in total items searched. I guess this should be good news, but I’m sure the reality is that their index has been filled by duplicate information and automatically generated search optimization sites. Could IBM Shake up the Search Engine World? Well something needs too 🙂

Cheers

Tim…

Symptoms and Oracle 10g R2 for Windows

Yesterday I sounded like Barry White, today I can’t speak, much to the delight of my co-workers. I feel fine, but when I talk nothing comes out. Perhaps I should write all this text with a white font on a white background to simulate my current situation.

This reminds me of a summer holiday during University, when I worked on a production line in a factory for 3 months. All but one of the guys I worked with were deaf, and the one guy that could hear was at the other end of the line so I never got to speak to him. Fortunately the guys were really good at lip reading, so for 3 months I talked at work mostly without making any sound. I remember having a “chat” in the canteen one lunchtime and I started to speak out loud and got some funny looks from some of the guys off another line. It was only then I realized they had assumed I was deaf to as they had never heard me speak out loud 🙂

I had to teach a class last night using the “do as I do” method. Thought I would save my voice. Fat lot of good that did me!

I’ve just noticed that a Developers Release of Oracle Database 10g Release 2 (10.2.0.1.0) for Microsoft Windows is available for download. Not sure what’s missing from this, but it’s not a fully supported production release like the Linux version.

Cheers

Tim…

Bits and bobs…

David Aldridge’s blog contains links to a couple of handy Firefox search extensions here. Thanks to all involved. I’m making good use of them.

Howard Rogers made reference to Desktop ASM in one of his recent answers on the Dizwell Forum. Sounds like it’s worth a play. I haven’t managed to play with ASM very much. We made the transition from 9i RAC to 10g RAC really early and at the time there was very little to suggest that ASM had been used in anger. As a result we made the decision to avoid it, which on reflection was a pity.

I’m feeling a little under the weather this week. On Monday my nose was blocked. On Tuesday I felt fine. On Wednesday my throat was a little sore. Today I woke up sounding like Barry White (should have recorded an album), but now I sound normal and my nose is dodgy again. I have no idea what is going on. Let’s see what the symptoms tomorrow brings.

Isn’t it great when two separate members of the team, in this case a developer and yours truly, are independently asked to solve a problem and come up with the same solution. The question is, do we have equally good or equally bad solutions? I guess both 🙂

Cheers

Tim…

Swapping, but why?

Why are both nodes on our production RAC swapping, yet they have loads of free memory?

There are several ways to configure the CPUs and memory in Alpha servers and I have no concept of the impact of these varying configurations. In my own simplistic view:

loads of free memory = no need to swap

Best get on to the guys in the know. See if they can give me a simple answer to this. It would be nice to get my hands on some of this free memory, but not if it’s going to cause a swap-frenzy 🙂

Cheers

Tim…

New article, weird experience and film review…

New article
I wrote a quick how-to article about Renaming or Moving Oracle Files in response to a forum thread. Nothing new and exciting here for those in the know, but it might help some of the newer people.

Weird experience
I had a bit of an weird experience last night. I finished quite a tough Karate class and didn’t feel particularly like socializing so I went to the cinema on my own to watch “The Descent”. I’d been meaning to see it for a couple of weeks, but never got round to it. I was feeling pretty thirsty so I bought one of those stupidly large cups (more like buckets) of diet Coke. I sat down to watch the film and started drinking at a pace. Within about ten minutes of the film starting I had the shakes bigtime! I was shivering uncontrollably and felt really bad. I guess the fact I was so tired and had just downed a bucket of ice-cold diet coke had caused my core temperature to drop quite quickly.

I wasn’t totally sure what to do, my judgment was a little off as you can imagine, but fortunately my natural reaction was to start using Ujjayi breath. This is a special type of loud breathing (like Darth Vader) used in Ashtanga Yoga to help generate heat. Sounds a bit dumb, but within five minutes I was feeling a lot better. So much so I was able to watch the film…

Film review – The Descent
Take a bunch of athletic and overly adventurous young women with an assortment of issues and send them caving. Next, have them make some stupid decisions and for good measure throw in some subterranean predators.

Unknown to me I’ve become claustrophobic in my old age. I can’t remember really having a problem with this before, but there are several scenes where people are in really confined spaces that made me want to freak out. I know these scenes were included to increase the tension, but they were by far the scariest bits of the film for me!

There are the usual gore and “make you jump” scenes that you would expect from a horror film. Several of the latter made everyone in the cinema scream, then bust out laughing.

Despite the unfortunate episode at the start of the film I really enjoyed it. It’s not a high budget film, so don’t expect perfect effects, but it’s a significant step forward compared the director’s previous film “Dog Soldiers”. I liked that too, but it is a seriously low budget film 🙂

Cheers

Tim…

Note to self. If you’re ever invited to go caving make a polite excuse and run for your life!

You (re)learn something new every day…

I’ve recently taken to using FileZilla as an FTP client on my Windoz box at work. When I’m at home I tend to use gFTP on Linux. Whilst using it today one of my colleagues asked me why I wasn’t using Windows Explorer for my FTP stuff. I typed an FTP address into Windows Explorer and sure enough, I connected using WebDav.

The stupid thing is I use WebDav to access XML DB and Oracle Files, but it never crossed my mind to use it for this.

Of course, some of the purists out there will be screaming, “What’s wrong with the command line?” 🙂

Cheers

Tim…

The curse of the Tru64 port…

I’ve said it before and I’ll say it again, Oracle products don’t run properly on Tru64 anymore!

The latest issue came from an observation by a developer and involves problems with using NVL inside an EXISTS subquery. The following code is the test case I sent in my TAR to Oracle support.

CREATE TABLE tab1 (
code         VARCHAR2(10),
description  VARCHAR2(50)
);

ALTER TABLE tab1 ADD (
CONSTRAINT tab1_pk PRIMARY KEY (code)
);

INSERT INTO tab1 (code, description) VALUES ('1', 'ONE');
INSERT INTO tab1 (code, description) VALUES ('2', 'TWO');
INSERT INTO tab1 (code, description) VALUES ('3', 'THREE');

CREATE TABLE tab2 (
code         VARCHAR2(10),
tab1_code    VARCHAR2(10),
description  VARCHAR2(50)
);

ALTER TABLE tab2 ADD (
CONSTRAINT tab2_pk PRIMARY KEY (code)
);

ALTER TABLE tab2 ADD (
CONSTRAINT tab2_tab1_fk FOREIGN KEY (tab1_code)
REFERENCES tab1(code)
);

CREATE INDEX tab2_tab1_fk_i ON tab2(tab1_code);

INSERT INTO tab2 (code, tab1_code, description) VALUES ('1', '1', 'ONE');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('2', '1', 'ONE');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('3', '1', 'ONE');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('4', '2', 'TWO');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('5', '2', 'TWO');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('6', '2', 'TWO');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('7', '3', 'THREE');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('8', '3', 'THREE');
INSERT INTO tab2 (code, tab1_code, description) VALUES ('9', '3', 'THREE');

COMMIT;

VARIABLE p1 VARCHAR2(1)
BEGIN
:p1 := '%';
END;
/

SELECT t1.code
FROM   tab1 t1
WHERE  EXISTS(SELECT rowid
FROM   tab2 t2
WHERE  t2.tab1_code = t1.code
AND    t2.code like :p1)
ORDER BY t1.code;

CODE
----------
1
2
3

3 rows selected.

SELECT t1.code
FROM   tab1 t1
WHERE  EXISTS(SELECT rowid
FROM   tab2 t2
WHERE  t2.tab1_code = t1.code
AND    t2.code like NVL(:p1,'%'))
ORDER BY t1.code;

CODE
----------
1
1
1
2
2
2
3
3
3

9 rows selected.

SELECT t1.code
FROM   tab1 t1
WHERE  EXISTS(SELECT rowid
FROM   tab2 t2
WHERE  t2.tab1_code = t1.code
AND    t2.code like COALESCE(:p1,'%'))
ORDER BY t1.code;

CODE
----------
1
2
3

3 rows selected.

From this you can see that then the bind variable is set to ‘%’ the query without the NVL works as expected, but the query using the NVL displays a row in the master table for each row found in the subquery. In comparison, the query using the COALESCE function works fine.

Now I realise that this is not a great query anyway, but you would still expect it to work!

Happy days in Tru64 land again 🙂

Once again I’m drawn to the inevitable conclusion that running Oracle products on anything but a tier-one platform is a bad idea. What’s more, judging by the recent arrival of Oracle 10g Release 2, there is now only a single tier-one platform. I don’t see a version for Solaris, HP-UX or Windows yet.

As for me, I’m still waiting for 10.1.0.4.0 to be released on Tru64. Release 2 is a long way off 🙂

Cheers

Tim…

Tornado in Brum!

It seems my recent visits to the osteopath always coincide with something strange happening.

Yesterday on my way to the osteopath the road was blocked by a fallen tree. I took a diversion and thought nothing more of it. During my treatment the osteopath received a call from his wife asking if he was OK because a street one mile away had been hit by a tornado for a few seconds and some buildings had been trashed. We didn’t even know it had happened.

Later, when I got more details I realized the center of the damage was right next to a friends house. Luckily he escaped unharmed.

The UK has a reputation for unpredictable weather (cold and rainy in summer and sunny in the winter), but this is kind of freaky. The weather this year has been completely bizarre. The sooner we sort out global warming the better!

I’m sure all you guys living in tornado, monsoon and earthquake zones find this pretty trivial, but it’s a big thing for Birmingham 🙂

Cheers

Tim…