Saturday, October 29, 2005
Expressing ones self
There are some interesting features of this product on first viewing.
Then again there are some interesting caveats. Wim's summary, but emphasis mine,
basically free database, using native installer, free redistributable, can run it production if you want but the code has some built-in restrictions..
I've not had much time to run through the docs, which can be found at the otn XE homepage here but this in the known issues did surprise me a little.
The Backup Database and Restore Database commands under Oracle Database 10g Express Edition in the Start menu do not work in the Beta release.
Workaround: Instead of backing up the database, consider exporting its data to an external file, then importing it back into the database when you need it. Oracle Database Express Edition 2 Day DBA Guide discusses several methods you can use to export and import data.
Ho-hum export/import as a backup strategy. As an aside in my install the commands didn't work because they weren't actually there. I don't know if this is a doc bug or a quirk of my install. You can access the database from a full 10g home, so it may well be that rman will be able to backup the database in a production environment.
On a multi-homed machine and, presumably because the install doesn't use OUI, the Oracle home selection tab in OUI doesn't know about the new XE home, which has got prepended to the system path. if you want to install this as another Oracle product then you'll need potentially to do some path editing or setup an oraenv.bat type script.
Most of the commentary so far has commented on this as stiff competition for open-source databases, this may be true though I do wonder whether a company as large and powerful and profitable as Oracle will ever really win the hearts and minds of the open-source crowd. I do however see this as potentially a real competitor for SQLServer Express edition (I can't believe the name was entirely coincidental).
Both products
The SqlServer express homepage is here. Sound familiar?
Wednesday, October 26, 2005
Respect
The second was Sandy's posting about grumpy old men (and women). She, correctly in my opinion, identified a problem that we have as a group of professionals. Namely that we are percieved as being old-fashioned, closed-minded and stroppy. Mogens has jokingly described the Oak Table as being a club for such individuals, it wouldn't be much of a joke if there wasn't some truth to it.
In response to my contribution to the first list I got a response that quoted the old adage respect has to be earned. Sandy's posting generated a small discussion on Eddie's blog in which a comment was made about people from two different mindsets not respecting each other, and correctly in my view stating this was a mindset problem and not a role issue - though one might argue that some mindsets suit some roles well.
My position is this. The adage respect has to be earned is entirely false, at least in the professional arena. I'd replace it with this. respect once lost is very difficult to regain. Everyone is entitled to respect when you first engage, discuss and so on. Everyone - no matter how daft the question or their position may appear to be. It may be however that over time the same individual shows no appetite for learning, little understanding of argument (as opposed to debate) and limited thinking. Then, and only then, they are in danger of losing my respect.
Monday, October 24, 2005
Good grief
The premise of Gartner's argument is that as improvements in networking technologies eventually lead to real-time connectivity to any data, that that data is best kept closest to its natural source rather than at the intersection of a row and tuple of a database that, as it turns out, is actually little more than a remote cache. I hate to see what Fabian will make of this, I'll just point out that (in common database usage) a row is a tuple It almost certainly is for the purposes of the article.
The analysts then construct the following idea based on RFID (gotta get those buzzwords in),
Instead of walking the aisles, taking inventory of everything on the shelves, and then storing that inventory data in a database, Gartner analyst Donald and Ted say to just leave the "data" with the can of soup. Then, in the business process of restocking, the nightly, hourly or however frequently scan of all the RFID tags in the store bypasses the step of storing the inventory data in a database and goes directly to placing an order for more of that can of soup. Not only does the resulting business process come closer to achieve real time timing, but a step is eliminated from the process. Said the analysts "if I only have a millisecond need for persistence, processor and memory can handle that. The data ends up existing for less time than it takes to store the data."
A nice clue here that these guys are java guys - the word persistence occurs almost nowhere else.
So here we go, a couple of store restockers walking the aisles at one in the morning, got their java X-Pad fired up scanning the stock a tin of soup at a time wirelessly making a round trip for each can of soup at a time to a remote server that doesn't bother to record the information anywhere other than in memory and the next day their boss gets the new stock delivered. In fact this is surely overcomplicated, as neither the store nor the supplier, nor the credit agency nor the logistics company, nor the sub-contractors ever know how much they have, how much was ordered or where it was going. As the store owner never knows how much he sold, where or to whom let's just cut out the middle men altogether - don't walk the store, don't bother working out how much stock you have (needs a change to GAAP but hey this is investor insight) and just order random things, deliver random things, issue random invoices and pay random amounts.
Ok that's not true - apparently there is an important caveat,
The analysts also identified the one caveat where databases will continue to play an important role: where, for reporting purposes, retention of historical data is a requirement for exercises such as long term analytics. Some data will need to be kept. But not all.
Now you and I might see this as a suggestion that companys like for example tescos and wal-mart might need some data warehousing and BI. Not apparently
"The press can quote us," said Feinberg. "We're debunking BI. It's not an application anymore. It's a service that's accessed when and where it's needed and [as said earlier] the data persists only as long as we need it."
Once your query has run the data can go, no need to store it in case you run a slightly modified version next week.
That'll be fine then. Oh yes there's also a dubious 'humorous example' suggesting that there is no point in giving health care to amputees. No really, read it.
At one point, Feinberg picked a more morbid example but it really made the point of questioning how, when, and where data should persist. Feinberg rhetorically asked where his health records are better off being stored: in a database in California, on a credit card in his wallet, or a chip that's embedded in the back of his hand. The answer, as you can imagine, was in a chip in the back of his hand. It's there that the health record of Donald Feinberg stands the best chance of always being as up-to-date as possible; at least moreso than in a database across the country that a local hospital in Orlando, FL (should Mr. Feinberg require emergency care) may not be able to access (or update) in real time.
Feinberg said that we could store our health records on a credit card that gets stored in our wallets, but that in that location, the data is already further away from its source than it needs to be. Feinberg talked about how people can become separated from their wallets in the course of an emergency and then jokingly talked about how, if we become separated from our hands, we may have a problem that's too serious for our health records to be of much help.
Friday, October 21, 2005
UKOUG Agenda
First, if the blog has been helpful or a hinderance and you will be there this will be an opportunity to pester me about it.
Second, My mind is beginning to turn towards 2006 and various sessions that might be useful to run at the Oracle on Microsoft SIG of which I am a co-chair. It would be more than helpful if you have an opinion on this to buttonhole me and let me know what it is. If you are volunteering to present I will of course listen especially carefully. (From the latin meaning accept your offer immediately).
Sunday Oct 30th, I will of course be at the OakTable day. I have no idea if all the places are gone, but if they aren't snap them up now. Some idea of how good this is is that the first session I'll be there for sure - the 2:30 session - I want to be at both tracks.
Monday Oct 31st, check out the Oracle on Microsoft focus pub. The later you get there the less focussed it will be one imagines. It is halloween, its running Oracle on Microsoft platforms, where else would you be? After this finishes its the Oracle bloggers dinner, naturally I hope to engage Connor in discussion about the Ashes.
Tuesday Nov 1st, I'll be introducing Melanie Caffrey's session on Oracle 10g's expression filter. Mel knows what she is talking about. If you haven't got this straight in your mind then you should be there.
Wednesday Nov 2nd, This is of course known as the day from hell. I thought last year was bad when I had Tom Kyte, the DataGuard PM and Carel-Jan Engel all sitting in on a session suggesting that good old fashioned standby might be a great DR solution for SE users, in preference to going for DG. Still I was only grossly incorrect once apparently.
This year however runs
9.00am In search of lost time 45 minutes on how to do response time base tuning. This presentation wouldn't exists except for Tracy Muller pestering me.
10:25 Snatches of Eternity 60 minutes on an approach to end-to-end application tuning that attempts to retrofit the 10g approach to earlier versioned applications. I'm nervous as hell about this one. It does follow on from the 9am slot which is nice and both will appear here after the conference.
11:35 The server tech panel Mogens has a way of co-opting me and others on to this. I advise all technology folks to attend, but try to avoid the eye of the Dane in the kilt.
14:25 I'll be introducing Sue Harper talking about JDeveloper from both a Developer and DBA standpoint. Sue is intelligent, female, South African and the PM for JDeveloper. If you want a taste of how smart she is you should check out her blog.
15:20 The last, but probably most satisfying, duty of the day is introducing Gerry Miller talking about customising DBMS_APPLICATION_INFO. I've spoken to Gerry a couple of times now and he is a guy passionate about coding and instrumenting correctly. If you've heard about this instrumentation thing and want a flying start using tools Oracle already gives you this should be a good place to go.
edited for poor english and a missing url
Thursday, October 20, 2005
Recap on Licensing
As this is about the third posting I have seen recently on this issue i thought I'd recap the situation I described earlier. The official word on licensing can be found at the licensing docs for 10g here. In short
My own personal view is that describing the licensing as being all over the place is extraordinarily charitable here. Ludicrous springs more readily to my lips. I can just about concede that a sql script might be premium content, but one you create yourself? The idea that if you have a smaller environment you won't ever need to do performance tuning or diagnostics (but might have a need for database clusters) is quite frankly mad.
It would seem appropriate to point out the petition I put together earlier on just this subject. At the very minimum Oracle should make all manageability functionality available to all users on the same basis. if you agree with this and haven't yet signed please do so. Oracle are aware of this petition and I will raise it directly with them should we get 100 signatories.
Wednesday, October 19, 2005
New blog to watch
Tuesday, October 18, 2005
Word verification
The image I got however I thought most unreasonable. I'm only just 38 and found this more than a little unreadable. Perhaps I am a bot?
Sunday, October 16, 2005
Reinventing the wheel
Normally, it is difficult to pick records added or updated in a table since a particular time, as the delay between change and commit means that changes do not necessarily become visible in the order they are inserted. Even allowing, for example, a five minute window may miss long running transactions and requires processing to cater for duplicates.
Since 9i of course there is a much much easier way and one that doesn't require reinvention.
- records that have been added or updated since 17:00 on October 16th.
select * from t
minus
select * from t as of timestamp to_timestamp('16-OCT-05 17:00:00','DD-MON-YY HH24:MI:SS');
- and the more interesting from recovery points of view
select * from t as of timestamp to_timestamp('16-OCT-05 17:00:00','DD-MON-YY HH24:MI:SS');
minus
select * from t;
There is a caveat to this though. If records have been updated in the time period of interest, you need to think carefully about why. Recall that the C in ACID stands for consistent. What else might have changed elsewhere in the database that prompted the update or deletion? Is it valid just to reverse the change or should we really be going back to 5pm for the whole database.
The second time I was thinking about wheel re-invention was in response to Scott Spendolini's piece on image manipulation here. It got me thinking of all the things that we are already supplied with that it is often tempting to re-invent. (I've not got as far as the Daily WTF and IHBLRIA) Image manipulation joins a list that includes
I'm sure there are others.
Thank you
Monday, October 03, 2005
Job Descriptions
Anyway now you know what she does. Back to the wedding.
We go back to my sister-in-law's; Laura is at one end of the sofa, I am at the other. In between sits the Vicar who conducted the blessing. He asks laura what she does. She explains. He asks me what I do. I say "I manage business critical databases for a large public sector regulator". Without a blink he turns his back and continues "So Laura, intellectual property - that must be interesting - tell me all about it". He never spoke to me again.
Note Added Oct 3.
The phantom nitpicker is correct. American's should read Americans. That is so annoying.
Windows Development Tools
I guess the question for developers, and dbas, is So What?. In fact discussion around CLR stored procedures in the database world has been passionate at times see also Fabian Pascal here.
The good news (or was that bad news) for programmers working with the CLR on Oracle is that they already have an analogue. Oracle has had a JVM in the database since 1999 and the release of Oracle 8i. There is, at least to this observer, a good chance that CLR stored procedures will follow a similar evolutionary path.
1. People will try and write traditional stored code in the CLR.
2. They will be disappointed in the performance and reliability of it (Joe Celko and Fabian Pascal give some reasons for this).
3. Slowly people will start adding extra add-in functionality to the database and this will probably work acceptably well.
So as with the situation today PL/SQL (or T-SQL) will not be replaced as the language of choice for data manipulation but added functionality for the database, rather using the database to host application functionality, will likely use the CLR integration in the same way that UTL_SMTP etc have been implemented in Java.
Your position on whether this is a good thing or not obviously will be influenced by your position on the suitability of hosting this extra functionality in the database at all - I tend to think that applications should be applications and databases should be databases.