Paris in the the November

I haven’t been to Paris since about 1986. I can’t say I’ve missed it much, and this trip has not made me any more enamoured of it. The architecture is certainly impressive, if you like La Belle Epoque, which makes rococo look restrained. Bear in mind that this is a city that has historically more to fear from Hausmann’s bulldozers and the extensive elephant-eating communard population than Frtiz’s bombs or shells (surrendering all the time does wonders for your historical districts). The net result for me, however, is a bunch of frippery-draped buildings scattered over a comparatively tiny area and divorced from much real sense of history.

The revolutionaries did a good job of stripping away centuries of history, such that the handful of true remnants, such as the Sainte-Chapelle, are all the more appreciated because of their rarity.

The English had their Protestant zealots trying much the same thing, of course… but Royal authority was re-stamped early on and the 12 years of English Republicanism was more of an abberation than anything else. Precisely the opposite of French experience since the 17th Century, in other words. I think you can “taste” the result. Elegant it certainly maybe; tasteful… questionable (imho); historically interesting… mostly not, again in my view.

I don’t get the sense that I’m treading on the ground that Rousseau or Descartes would have known, let alone Napoleon. I’m disappointed as a result.

Happily, tomorrow is Eurostar day and a return to the relative sanity of Cambridge!

What were they thinking?!

On the whole, Fedora is a nice operating system. But installing the damn thing is a pain in the butt and makes my eyes bleed. Here’s a typical example of the horrors that await:

I mean, seriously?

  • They couldn’t manage to align the ‘C’ of “configuration” with the ‘U’ of “user settings”?
  • They were amused at the idea of putting the ‘U’ of “user settings” so far off to the left of the screen that it practically walks off the set?
  • They thought a progress bar that appears to disappear off either side of the screen was a good idea?
  • They broke open the tin of fonts, so that all the fonts above the progress bar are completely different to those underneath it?
  • They couldn’t consistently find the ‘Bold’ option, so ‘CONFIGURATION’ is and ‘FEDORA 19 INSTALLATION’ isn’t?
  • They thought spewing all manner of entirely disparate elements all over the screen counted as good design?

It’s possible to go on (at length), but I’ll simply sum up with: what a ghastly, typographically-inept piece of bollocks. The screen screams that if I have a question, “we have answers”. But my question is, “What on Earth were you thinking?”… and I suspect they have no answer to that, other than “we weren’t”.

Shame really. It’s a nice O/S once the hideousness of the installer is forgotten.

Here’s a curious thing

My 2-node production RAC had been suffering from ‘checkpoint incomplete’ messages in the alert log for a while, so back at the end of October, I finally got off my bottom and bothered to take a look: only to discover the beast had been created with just 2 logs per thread and each of only 50MB.

My ‘standard, do it without even thinking’ approach to online logs has long been: 4 logs per thread minimum, each at least 500MB in size.

So, this database was under-specc’d by quite a long way. No problem: it is easy enough to alter database add logfile thread 1 ‘/blah/blah/log4a.rdo’ size 500M; several times until the requisite number of logs of the right size has been created. Problem solved.

Now, this 2-node RAC happens to be the Primary database in a Primary-Standby Active Data Guard setup. I did idly wonder whether the creation of the 500MB online logs would automatically happen over on the standby site, especially since we long ago issued the command alter system set standby_file_management=auto, but since “online” logs are never used on a genuinely standby database, it didn’t seem important to check it out one way or another. (I should clarify that redo generated by a primary is shipped to an Active Data Guard standby by LGWR and stored in standby redo logs, from where they are read by the managed recovery process, and out of which archived redo logs are thus generated. So standby logs are definitely used at an active data guard standby database, but not the “online” logs… they are there for when disaster strikes and the standby needs to become the new primary).

So, anyway: long story short, I increased the size of the primary’s online logs and didn’t bother to check what had happened over on the standby, Redo continued to flow from the primary to the standby, and a check of the latency of redo transmission showed that all was well (the standby never lagged the primary by more than 12 seconds). All’s well that ends well, I guess.

Except that, one day, for no real reason, I did this:

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +FRA
Oldest online log sequence 23445
Next log sequence to archive 23448
Current log sequence 23448

That’s on the primary node 1. And just for the hell of it, I did the same thing on the standby node 1:

SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +FRA
Oldest online log sequence 23244
Next log sequence to archive 0
Current log sequence 23245

And that’s an apparent discrepancy of around 200 archive logs! This worried me, so I checked the alert log of the standby:

Thu Nov 07 11:39:23 2013
RFS[2]: Selected log 10 for thread 1 sequence 23448 dbid -2003148368 branch 798942256
Thu Nov 07 11:39:23 2013
Media Recovery Waiting for thread 1 sequence 23448 (in transit)
Recovery of Online Redo Log: Thread 1 Group 10 Seq 23448 Reading mem 0

…which showed that the standby was actually processing redo from time 23448 or so, which is exactly the ‘time’ being displayed by the archive log list command when run on the primary node 1. So the alert log was saying “no discrepancy”, but the SQL*Plus archive log list command was saying “200 logs out of whack!”.

Puzzled, I dug a little deeper:

SQL> select to_char(first_time,'DD-MON-YYYY HH24:MI')
 2 from v$archived_log where sequence#=23245 and thread#=1;

25-OCT-2013 10:11

The standby’s response to the archive log list command showed that it thought log 23245 was the last one applied.This query shows that specific log to have been created a couple of weeks ago, on 25th October at 10:11AM. So what happened around then that apparently stalled the increment of the redo log sequence number? Well, here’s primary node 1′s alert log for the relevant time:

Fri Oct 25 10:17:25 2013
alter database add logfile '+DATA/proddb/log1a.rdo' size 500m
Completed: alter database add logfile '+DATA/proddb/log1a.rdo' size 500m

…and that’s me resizing the primary’s online redo logs, at about 10:17AM on 25th October!

Personally, I think this is a bug. The standby was always receiving the latest redo, into its standby logs, as designed. Yet the SQL*Plus command was returning incorrect data, apparently flummoxed by the size discrepancy in the online logs between the primary and standby sites.

But whether it’s a bug or not, the fix-up suggested itself: take the standby out of managed recovery mode (alter database recover managed standby database cancel), switch to manual file management (alter system set standby_file_management=manual) and then add new online redo logs of the right size and drop the originals. When all log groups are of 500MB, simply reverse the process: file management becomes auto once more and recovery of the standby is re-commenced. Net result: output from archive log list immediately ‘catches up’ and starts displaying exactly the log sequence numbers that the primary reports.

Anyway, and happily, I don’t generally go around resizing redo logs more than once in the lifetime of a database. Just be aware that SQL*Plus gets a bit upset if you do and neglect to do it equivalently on both sides of your Data Guard setup.

All Change (again!)

It’s been almost a year since I switched my desktop to Windows 8 (and recently upgraded to 8.1). I don’t have any particular gripes with it: the Metro apps are mostly awful and I avoid them whenever I can. Otherwise, the big tiles on the ‘Start Screen’ work well as application launchers and I haven’t missed the Start menu at all. Frankly, I can’t see what all the fuss has been about… and that’s me and Windows 8.x!

I do, however, have a gripe with my Laptop (Toshiba p870, 16GB RAM, 1.5TB SSHDD). That was upgraded to Windows 8.1, too… and I immediately noticed that my fleet of 6 VMware virtual machines, acting as a 2-node ASM-based RAC replicating to a 2-node ASM-based Active Data Guard RAC, was unstable where previously it had been rock-solid. Instances would spontaneous crash; the physical laptop would keep blanking its screen (despite all the power save and screensaver options telling it to do no such thing); and so on.

I could investigate, I suppose. I’m fairly convinced that it’s just a weird interaction between VMware Workstation and Windows 8 -something that a new update to VMware Workstation will soon sort out. But I’ve decided not to wait that long. It’s the turn of the year (nearly!), after all, and I haven’t changed operating systems for at least 12 months… so you can guess what’s coming.

I had enjoyed running Fedora 18 on that laptop for a few months earlier in the year, so I decided to do a complete wipe of Windows 8.1 and replace it with virgin Fedora 19. The usual gripes with Gnome 3 aside, I was impressed when it detected the wireless networking interface during the initial installation. Stellarium worked flawlessly after a standard installation from the ordinary repositories. Most important, I guess: VirtualBox installed easily and ran my 6 RAC-and-Data Guard Asquith servers without a hitch.

Since it all went so well on the Laptop, I figured I’d try and be consistent. So the Desktop gets it in the neck next. I’ll see how it goes… and whether I am reduced to installing Mate or Cinnamon to rid me of the Gnome Shell horrors or not.

Meanwhile, I have just 7 sleeps until I trek off to Paris and Aldeburgh for a late northern Autumn holiday. I’m looking forward to it a lot, and have been brushing up ma français in the hope that I might be able to order un autre bouteille de vin rouge when the need arises without too much linguistic embarrassment. It’s been over 30 years since I last spoke French meaningfully… this could prove a lapse too long, I fear!

The trip to Aldeburgh will be celebrating Benjamin Britten’s 100th birthday, so that’s going to be pretty special. But I have planned a side-trip to the sites of the Battle of Bosworth. (I say “sites” because no-one is entirely certain where the one true battlefield is situated, although recent studies have found a likely candidate a couple of kilometres from the one all the tourists go to visit. Naturally, I’ll be visiting all of them, just in case!) As a member of the Richard III society, and as one who (along with every other British school child of my generation, I suspect!) was taught ‘The Tudors and Stuarts’ as an article of national faith, to go to the site where Henry VII beat Richard III and began the entire Tudor era of government will be a wonderful experience for me, no matter it being November, 7 degrees Celsius and a chance of snow!