<$BlogRSDUrl$>

Saturday, October 29, 2005

Expressing ones self 

Wim was the first with the news that Oracle will release a free version of the Oracle 10g R2 database, to be called Oracle Express Edition. You can grab yourself a copy for either Linux (hence Wim's interest) or Windows (hence mine) from OTN here.

There are some interesting features of this product on first viewing.

  • It doesn't use the Universal Installer, on windows it uses the Windows Installer mechanism. On Linux it uses the rpm mechanism and comes pre-linked.

  • HTMLDB has been chosen as the admin utility - rather shows up dbconsole in my view (though of course it is less capable)

  • You can even do basic performance monitoring in rather a neat fashion. This is a top-sql type screen drilled down to a 'problem' statement


  • 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
  • Integrate directly with VS.Net and have CLR stored proc capability

  • Have identical hardware restrictions (1cpu,1gb ram, 4gb data)

  • Are released in the VS.Net 2005 timeframe


  • The SqlServer express homepage is here. Sound familiar?

    9 Comments

    Wednesday, October 26, 2005

    Respect 

    A couple of things got me thinking about this this week. The first was a discussion on Oracle-l, but really it could be any forum, about RTFM replies and if the list should be split in 2; one for newbies and one for experienced dbas.

    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.

    3 Comments

    Monday, October 24, 2005

    Good grief 

    Jared Still pointed this article out on Oracle-L. It is difficult to describe how astonishingly stupid this research is, as reported.

    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.

    12 Comments

    Friday, October 21, 2005

    UKOUG Agenda 

    Well the official Agenda is at the UKOUG conference site here. This is my personal agenda, listed with two aims in mind.

    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

    1 Comments

    Thursday, October 20, 2005

    Recap on Licensing 

    In passing Howard mentioned Oracle 10g licensing in this blog entry. In his words It seems to me the 10g licensing is all over the place on this one where this one refers to the premium content in EM, or Enterprise Manager packs as they are sometimes known.

    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
  • You can't use them with SE at all - the management advantages they bring aren't available to SE customers

  • You can't query various views without paying extra

  • You can't run various reports awrrpt.sql for example without paying extra


  • 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.

    0 Comments

    Wednesday, October 19, 2005

    New blog to watch 

    Via Doug Burns posting on ANSI syntax (which I hugely prefer despite the odd suspicion that the implementation isn't as robust as the old style) I came across Nomad8's Oracle Blog. I suspect I'll keep coming back to this one. Anyway good things about it.

  • The clear layout - I can't do GUI design nomad8 can.

  • The evidencing of assertions

  • It is another female member of the Oracle community - we need more

  • She appears to have a background (agile development) with which I strongly disagree; required reading therefore

  • 2 Comments

    Tuesday, October 18, 2005

    Word verification 

    I was going to respond to a comment on Howard's blog. This requires both registration and word verification for the signup. A step more than mine but not unreasonable.

    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?


    4 Comments

    Sunday, October 16, 2005

    Reinventing the wheel 

    I've been mulling over a few instances of wheel re-invention recently, the first was inspired by this entry over at Igor's lab. Igor has a neat way of displaying the time a record was committed. Unfortunately for me, it rather gets spoiled by the suggested application

    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
  • sequences

  • RI

  • Triggers - continuously poll for updates and take action when you see an update

  • read consistency - lock every table so that you can be sure the tables are consistent


  • I'm sure there are others.

    0 Comments

    Thank you 

    to Howard Rogers for a nice email in which he pointed out one (of the possibly many) things that irritated him about this blog - no not the colour the bad width in the sidebar. And also gave clear and precise directions as to how to fix it. So, possibly with a ctrl+f5 to force refresh, you should be able to see the whole of the blog now.

    0 Comments

    Monday, October 03, 2005

    Job Descriptions 

    I could reference this to Tom Kyte's 4 years to get experienced thread (haven't these guys heard of Hendrix) but I won't. Peter Scott has a blog entry on describing one's job to one's children. I'm afraid it rather reminded me of an experience I had a while back at my sister in-law's wedding. I am married to a patent agent (that's patent attorney for all you American's - or evil incarnate for open source advocates). Laura is a female electronic engineer who having mastered that subject, to the extent of gaining a first in it, then mastered the law relating to intellectual property in the EU specifically and also world-wide. In other words she's the clever one.

    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.

    10 Comments

    Windows Development Tools 

    Release 2 of the Oracle Developer Tools for Visual Studio.Net is here. When coupled with Oracle Database 10g Release 2 on Windows, this makes building and deploying .Net managed stored procedures to the Oracle database a reality. Interestingly this confirms the prediction, but not the hopelessly incorrect dates, I made at the time of last years Open World that Oracle would support CLR stored procedures before Microsoft.

    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.

    1 Comments