jump to navigation

Prague, Czech Republic October 25, 2010

Posted by Richard Foote in Travel.
3 comments

Although the seminar in Munich only had a relatively small attendance (12 in total), it was a great bunch and went off rather well (Martin Decker in this blog piece certainly seemed to enjoy it).

Next stop on my little whirlwind tour of Europe is Prague in the Czech Republic, where I’ve had two fantastic days exploring this wonderful city. I was going to suggest that Prague might just be the secret little gem of Europe but considering the hordes of tourists from all over the world packing the streets and squares, I’m not too sure it really is much of a secret anymore. I love the history that’s associated with so many European cities and Prague has just about as much rich history and amazing architecture as any other European city I’ve visited. Prague was lucky in that unlike many other European cities (Munich being a perfect example), it remained relatively unscathed following WW II and so many of its rich treasures are still here with us to enjoy today. There are just stunning buildings and streets to see everywhere in the city.

I’ve done nothing but walk and walk and walk among the lovely cobbled streets and pathways and taken so many photographs that it’ll take me hours to go through them all. I’ve seen so much that I barely know where to begin except perhaps to briefly outline my top 5 highlights:

1)  The Old Town Square that is on par as one of the most beautiful locations I’ve ever visited. With its amazing Old Town Hall and Clock Tower on one side (climbing to the top of the tower is an absolute must for a perfect view of the city as is waiting for the clock bells to chime on the hour), with the hugely impressive Church of Our Lady before Tyn on the other side (the twin spires are just something else), with the imposing Church of St. Nicholas in another corner while the rest of the square is just surrounded by colourful and decorative buildings, it really is a special place. In the evening, all lit up, it takes on yet another dimension.

2) Charles Bridge with its cobbled street and wonderful historic statues along both sides, it’s fantastic towers on each end, its interesting markets and stalls and of course with its stunning views of the Vltara River and the city of Prague on both banks, is without a doubt one of the most wonderful bridges anywhere. I would have crossed it about 10 times in total and never once grew tired of it.

3) Nerudova Street in the Little Quarter of Prague is not only extremely scenic but it’s also absolutely chocka block full of interest with each building. It’s a bit of a climb as it winds its way up towards Prague Castle but it’s well worth the effort as the views are stunning and the buildings full of character. Many of them have an identification symbol above the door (such as a lamb, lobster, scales, etc) which were used to identify the house before street numbers were brought in. Lots of tourist shops, crafts stalls, restaurants to keep one occupied as well. At the base of the street is St. Nicholas Church, well worth a visit if only to see it’s incredible domed ceiling. One thing with Prague is that nothing is free and if you’re allowed within a church at all, there is usually a small charge. I certainly don’t have a problem with paying and helping with the upkeep of these magnificent buildings (you also get charged to use most public toilets, which with a few beers and chilly conditions, can soon become a very good investment as well !!).

4) Prague Castle is perhaps the most dominant feature in Prague as it looks down from the top of the hill onto the rest of the city but what a view it is. I do kinda feel sorry for the ceremonial military guards as they stand still and stoney faced while protecting the various castle entrances, with hordes of tourist pulling faces and trying to get their photo taken with them. I can only imagine the temptation to stick their bayonet up the arse of an annoying tourist must be difficult to control at times !! The castle itself has heaps of things to see but it’s the central St. Vitus’s Cathedral that is an absolute must see with parts dating all the way back to 1344 when work first began. It’s simply an architectural masterpiece in the Gothic style, with its flying buttresses and gargoyles on the outside and its beautiful vaulting, decorations, statues and stained-glassed windows on the inside. Best of all, Prague castle has a public toilet that many people miss and don’t know about !!

5) Hard Rock Cafe where they have a guitar signed by all the members of Radiohead. Perfect photo opportunity 🙂

Without any doubt, Prague is one of the most stunning and beautiful cities in all of Europe. If it ever was a secret, the secret is well and truly out now !! Tomorrow, it’s the start of my indexing seminar but I’ll certainly be paying the Old Town another visit before I leave Prague.

Munich, Germany (Mr Blue Sky) October 21, 2010

Posted by Richard Foote in Travel.
11 comments

I’ve been lucky enough to have a spare day before presenting a seminar to explore the beautiful city of Munich here in not so sunny Germany. I’ve never been to Munich before and my previous knowledge of the city basically consisted of it having a pretty decent football team or two and the location where Jeff Lyne and ELO recorded a number of their better known albums.

Coming from Australia where even old episodes of Neighbours are treated as national treasures, the thing I love about Europe generally is the incredible sense of history lurking around every corner. Munich is no different although sadly much was lost and destroyed during WW II, however much has now been restored back to its previous glory. Coming from Australia, the thing about Europe I don’t like quite so much is the weather and it’s been a fun old day with driving monsoonal rain one minute and sunshine the next (although I must say the rainy minutes do seem to last a little longer than the sunny ones). There was even some hail and a touch of snow in the air as well.

The subway dropped me off at Marienplatz, the historic centre of Munich and the surround buildings are just fantastic. Perhaps most impressive of all is the New Town Hall (Neues Rathaus) with its chiming clock, which reminds me a little of the lovely buildings in The Grand Place in Brussels. Nearby is St. Peter’s Church and a climb to the top of the huge tower was the perfect way to see all of Munich and to get my bearings. Close by is the charming Old Town hall with its fantastic cone towers and also worth checking out are the neighbouring markets with its array of great foods and wines. I can only imagine what a nice place it must be during the summer months. I then headed down to the Isar River, passing the Isar Gates as for some weird reason I really like seeing water, be it a river, lake or ocean.

I then headed back to the centre and up north to check out the impressive Baroque Theatine Church (I also love checking out these amazing huge European churches). Really beautiful, especially inside with its incredible dome ceiling and engravings. Passing through the Hofgarden (Royal Garden), I had a good look the impressive National Theatre before spending some time out of the rain in the Munich Residence. Wow, the treasures at the Treasury are really something but the highlight for me was the splendor and sheer opulence of all the rooms and corridors of this previous home of the Wittelsbach dynasty. Hard to describe really except to say lots of gold, lots of lovely paintings and furniture and murals and more art. Really is worth a visit, especially the spectacular Antiquarium.

I then made my way west, first visiting the huge Church of Our Lady (Frauenkirche), perhaps one of Munich’s more famous buildings. Again, inside is something else with its German gothic art. Next I had a look at Burgersaal, the church made famous by Rupert Mayer before making it to the Karlsplatz. It’s was during a pee stop at the McDonald’s here where to my surprise, I discovered a wall full of David Bowie images dating back to his Scary Monsters period. The photo opportunity was not lost 🙂 Speaking of music, I also popped into the Saturn store close by where I found a number of CDs I’ve been after, including ELO’s “Out of the Blue” which has been out of print for ages, but was actually originally recorded in Munich back in the mid 70’s. Must have been fate.

Finally, I headed south, passing through lovely cobbled streets and numerous quaint little buildings and shops and nearly missing the impressive Asamkirche (Asam Church) hidden away between the shops. It’s actually quite tiny but feels so much larger thanks to its dark shades and exquisite carvings, paintings and statues (perhaps too many skulls for my liking !!), although the dark weather may have added to the atmosphere. After reaching the Sendlinger Gates, I had reached the four corners of the Old Town of Munich, which wasn’t a bad effort for one day.

Dinner consisted of a few excellent German beers (I can only remember a Lowenbrau and a Franziskaner), a really nice meatloaf type something that’s meant to be a Bavarian speciality and an Apple strudel (of course). It was then a quick subway trip back to the hotel to write all this down before I forget it all and to get ready for the seminar tomorrow.

What can I say, it was a really full, fun, wet day but I feel as if I know Munich quite a bit better than I did before !!

Index Block Dump: Index Only Section Part II (Station To Station) October 7, 2010

Posted by Richard Foote in Oracle Indexes.
add a comment

Finally, we look at the last portion of the index block dump which refers to the actual 3 index entries in our demo that currently reside within the index leaf block we dumped previously.

row#0[8021] flag: ——, lock: 0, len=15
col 0; len 5; (5):  42 4f 57 49 45
col 1; len 6; (6):  02 01 48 8a 00 00
row#1[8002] flag: ——, lock: 0, len=19
col 0; len 9; (9):  4d 41 4a 4f 52 20 54 4f 4d
col 1; len 6; (6):  02 01 48 8a 00 02
row#2[7987] flag: ——, lock: 0, len=15
col 0; len 5; (5):  5a 49 47 47 59
col 1; len 6; (6):  02 01 48 8a 00 01
—– end of leaf block dump —–
End dump data blocks tsn: 8 file#: 8 minblk 84234 maxblk 84234

Note this is a Non-Unique index and so the index entries have a specific format that enables each index entry to still be defined in a unique manner. This is effectively achieved by including the rowid as an additional column within each index entry. This is necessary because Oracle still needs to have an efficient mechanism by which it can find any specific index entry as required. Including the rowid as the last column within an index entry ensures all duplicate index entries are subsequently ordered based on the rowid. Oracle can therefore use the index structure to navigate to the specific index entry of interest if for example an index entry needs to be deleted due to the corresponding row in the table being likewise deleted.

Using the first entry as an example, an index entry basically consists of:

row#0 – A unique row number (starting at 0)
[8021] – Location of the index entry starting at this offset within the block (noting that index blocks are filled “bottom-up”)
flag: ——, lock: 0 – two bytes for flags and locking information (to be discussed more fully later)
len=15 – overall length of the index entry
col 0: – A unique column number for the index entry (again starting at 0)
len 5; (5): – Length of the indexed column
42 4f 57 49 45 – Value of the indexed column (note hex representation of its ASCII value). In this specific case, the value ‘BOWIE’.

 
Just briefly, if we look at a dump of these records:

SQL> select name, dump(name), rawtohex(name) from bowie;
NAME       DUMP(NAME)                               RAWTOHEX(NAME)
---------- ---------------------------------------- --------------------
BOWIE      Typ=1 Len=5: 66,79,87,73,69              424F574945
ZIGGY      Typ=1 Len=5: 90,73,71,71,89              5A49474759
MAJOR TOM  Typ=1 Len=9: 77,65,74,79,82,32,84,79,77  4D414A4F5220544F4D
 

 

We can see that “BOWIE” is represented by database character values 66,79,87,73,69. If we convert these to Hex, we get 42 4f 57 49 45 as shown in the block dump.

 
This indexed column data is then repeated for each column within the index entry. The second (and in this demo last) column in this example:

col 1; len 6; (6):  02 01 48 8a 00 00

actually represents the 6 bytes for the rowid. As discussed previously, all index entries are effectively made unique by Oracle by including the rowid as an additional column for non-unique indexes.

The index entry portion is then all repeated for each index entry within the index leaf block.

If we to look at the index entries of a unique index as seen in this simple example:

SQL> create table thin_white_duke as select rownum id, 'BOWIE' name from dual connect by level <= 1000;
Table created.
SQL> create unique index thin_white_duke_i on thin_white_duke(id);
Index created.

 
row#0[8024] flag: ——, lock: 0, len=12, data:(6):  02 01 52 8b 00 1f
col 0; len 3; (3):  c2 06 16
row#1[8012] flag: ——, lock: 0, len=12, data:(6):  02 01 52 8b 00 20
col 0; len 3; (3):  c2 06 17
row#2[8000] flag: ——, lock: 0, len=12, data:(6):  02 01 52 8b 00 21
col 0; len 3; (3):  c2 06 18

 
We notice a subtle difference in the format of the index entries.

Rather than be stored as an additional column, the rowid is simply an overhead attribute of the index entry. The unique index value itself is sufficient for Oracle to navigate the index structure to efficiently locate any specific index entry of interest and as such, there’s no requirement to specifically include the rowid as an additional index column. This also saves Oracle having to store a length byte associated with the rowid column definition.

Next, we’ll put all this together and see how the distinct sections within an Oracle block are impacted during standard DML operations, in order to implement both Oracle row level locking and read consistency.