Resumption

I am now back from the UK (and utterly exhausted… jet-lag impact seems to vary proportionately with age, I fear). It was quite cold and very wet (hope all my British friends are able to stay above the high water line), but I love the place still and was reminded of how so live-able it is when I got off the plane at Sydney and instantly met with 26 degree (Celsius) heat and humidity of 90% (which is pretty reasonable as far as Sydney goes!)

During my short visit to Blighty, my sister took me for a day out around Salisbury and Winchester Cathedrals, in which I discovered that the Rogers have a coat of arms all of their own:

In heraldry-speak, that’s apparently “Argent a Chevron gules between three roebucks courant sable attired and gorged with ducal coronets or branches of laurel vert”. Whatever it means, I intend to use it sometime. Oh, and I am apparently, by descent, a great spear-thrower. I’ve just been hiding it well all these years.

I just wanted to say ‘thank you’ to everyone who sent condolences, either via comments here or via email/snail mail. They were much appreciated. It is true that I wasn’t particularly close to my brother and he’d been ill a long time, but it’s still a shock when it happens -so it was very helpful to know others were ‘on my side’, as it were.

Anyway, back to business: I notice that Mint 14 is now out, in both Cinnamon and MATE flavours (Cinnamon uses Gnome 3 code but not the Gnome 3 shell; MATE uses a fork of Gnome 2 code). I have had a quick look at the Cinnamon flavour in a virtual machine, but nothing stands out that’s particularly worth talking about. In line with my new policy, Gladstone will NOT be getting an update to deal with the new OS version. However, Gladstone’s replacement is lurking in the wings… so watch this space.

Sorted… and absent for a bit

Phew. It shouldn’t haven taken so long, but I have been a bit distracted and so it did. I have, however, finally worked out why my Oracle-on-Solaris 11.1 installations were failing at the point where Enterprise Manager gets configured. Somewhat unbelievably (to me), it turned out that my server’s timezone was wrong.

Yup: a timezone issue can stop the dbconsole from starting. If you skim-read the logs generated at the point where dbconsole fails, though, it might not be obvious! What you’ll see is something like:

WARN  http: nmehl_connect_internal: connect failed to (kelvin.dizwell.home:3938): Connection refused...

…and you will then spend several days wondering if your network configuration is wrong in some way, because connections to a URL are clearly not getting through. You’ll disable IPv6 and your firewall. You’ll rebuild your DNS server, just in case. You’ll do anything, in fact, except look a bit more closely at the emdctl.trc file, where you might just have spotted one line amongst dozens that reads, instead:

ERROR main: nmectl.c: nmectl_validateTZRegion, agentTZoffset =660,and testTZoffset for +10:00...

…which kind of gives the game away, if only you’d noticed it among the detritus!

Anyway, a quick echo $TZ revealed it was set to localtime, despite me having carefully picked a properly-named timezone during the original OS install. An even quicker export TZ=Etc/GMT+10 followed by yet another emctl start dbconsole and the darn’d thing started first time of asking! I feel very silly for not having spotted the issue earlier, but it’s a lesson learnt, that’s for sure.

I’ll write this up properly as soon as I can… but unfortunately, my brother died a couple of days ago, so I have been busy organising a hasty trip to London for the funeral. I won’t be posting anything here very much until after I get back around 26th November, therefore. Top of my list, otherwise…

Letters from the Past

When I was a good deal younger than I am today, I would stumble bleary-eyed upon my father in the kitchen on Sunday mornings preparing that day’s roast lunch and, as he did so, listening to “the wireless”. Invariably, his choice of radio station was Radio 4 …and on Sunday mornings, equally invariably, Radio 4 would broadcast Alistair Cooke’s Letter from America.

Letter from America ran from 1946 to 2004, and Alistair Cooke’s ‘take’ on American life, delivered in round, warm and comforting tones, was enthralling and entertaining. Most things stopped in the kitchen so we could listen to him without interruption. His tendency to digress as though in ordinary conversation was, at times, infuriating; but his ability to digress in a full circle, as it were, meant that the concluding minute or two would usually wrap up in a satisfying way an intellectual yet genial jaunt through whatever topic had caught his eye that week.

I can’t recommend those broadcasts highly enough for an object lesson in clarity of thought and diction, an ability to express an opinion without rancour, to entertain by telling a tale well. And, praise be, the BBC has finally gotten around to making the entire 58 years’-worth of broadcasts available to anyone with an internet connection.

Can I therefore point you in the direction of the BBC’s new Letter from America archive? I particularly liked his remembrance of FDR and his analysis of Nixon’s response to Watergate. But all deserve listening to. And not just on Sundays.

Solaris Pitfalls

I should have learnt by now: never promise the second of a two-part article before you’ve finished it! Last week, I published an article about installing Solaris 11.1 as a text-based server, promising to pair it with an article about installing Oracle 11gR2 on it which was ‘about 90% done’.

Many hours of head-banging later, however, and the missing 10% turns out to be quite serious:

That is Oracle’s installer declaring ‘success’ whilst also simultaneously announcing that it couldn’t configure Enterprise Manager (which makes it something less than a success in my book!). It is true that the database is all present and correct (and happy to display 14 rows of EMP when asked), but we require a bit more from our installations than that, I think!

The error message hints it might be because the ORACLE_UNQNAME as an environment parameter hasn’t been set… but it has, so that’s a red herring.

It is quite probably something to do with networking, my hosts file and my DNS set up, but if it is, I haven’t worked out precisely what, despite around 30 installation attempts.

I shall continue to plug away at it, but don’t expect that second article in a hurry. Sorry.

OS Baby

On the day Windows 8 is finally released to the public (I used it for a month, quite liked it, but decided Linux remained more fun and thus wiped it last week), I realised that not only is Red Hat Enterprise Linux ten years old, but that I remember struggling for days trying to get Windows 3 to run in 386-enhanced mode on a diskless workstation, some 22 years ago.

Yikes.

It took me a while to realise that if you were using a 80286 chip, you couldn’t actually do 386-enhanced mode. I should have guessed…

This was my favourite wallpaper of the time:

What sophisticates we were back then! :-)

I also have fond memories of the London Borough of Bromley Council, for they ran Xenix …in 1987, one of my first database-using clients. That was my introduction to the tar command and the mysteries of TCP. Ten years later, I spent six weeks wrestling with my HP Vectra:

…trying to get Red Hat 5 printing and dialling the nascent Internet via my 14 kbps modem. The printer, I finally managed. The modem never worked. Ten years later still, I finally persuaded my company to move its databases off Windows and onto RHEL 5 servers. Ah, the circular irony.

However, my first ever professional involvement with an operating system was with MS-DOS 3.1 in 1985, at an accounting firm. I was following the manual (OSes came with manuals back then!) which had a section on the format command. I dutifully typed in the sample command shown (format c:), turned the page and only then saw the warning that this command would destroy your data. I remember trying to hit Ctrl+C to interrupt the format… but discovered that wouldn’t work. Happily, there were only a dozen or so sets of client accounts on it, none of them backed up, all of them production data.

Everyone should be allowed to format a production hard disk once in their lives. Just not twice. That was my shot and, happily, it’s never happened since :-)

Should I mention the many Novell Netware 286 installations? Nah… no point. We only did them because DOS couldn’t handle volume sizes larger than 32MB anyway.

I like operating systems. Can you tell?

A Lean Solaris 11 Server

I’ve just put together a brief guide to installing Solaris 11 in text mode and making it ready for a subsequent installation of Oracle 11g. That basically involves installing a minimum of X-related software and then knowing how to get Solaris-based graphical clients talking to a locally-run X server. The results aren’t always pretty …but they’re functional enough to run things like Oracle Universal Installer or Database Configuration Assistant without too much drama!

I haven’t actually documented that sort of Oracle installation on Solaris yet: but consider it a ‘forthcoming attraction’ (it’s already 90% written, so early next week is looking good!)

Solaris 11 has surprised me a bit: even in text mode, it’s easy to install, mostly painless to configure and (!) attractive to use. I wish other OSes would adopt its default choice of bold, serifed fonts in their terminals, anyway! If you prefer the full-on desktop experience, it can be installed with a slick Gnome desktop that is instantly familiar to any Linux user …and it’s Gnome 2, which is even better!

I virtualized my Solaris box in KVM (Linux’s built-in virtualization tool). It worked well enough, provided I lied upfront and said I was about to run a Unix/FreeBSD box. That stops KVM building the virtual machine with virtio hard disks, a format that Solaris neither supports nor recognises. There were a couple of other KVM-specific virtualization issues that arose during and after O/S installation, too -but those are documented in the main article. Anyway, VirtualBox runs Solaris 11 quite well -but VMware Workstation 9 had “issues” that prevented me from ever getting it working. Nevertheless, most people will be able to virtualize a Solaris server pretty easily, I think.

Give it a whirl, anyway: you may be pleasantly surprised!

Fedora Glitch

One of the consequences of tidying up Gladstone before his retirement has been the discovery that installing 11g Release 2 on Fedora 17 is a variable experience, depending on the Oracle version you’re using. This has revealed a bit of a stuff-up on my part regarding the sort of Oracle installations I do!

To explain: my standard advice when installing 11gR2 on Fedora 17 has been that you should expect to experience a linking error (relating to the $ORACLE_HOME/sysman/lib/ins_emagent.mk makefile). Gladstone knows this ahead of time and therefore writes out a little shell script (in your Desktop directory) which you can run the moment the linking error appears. As soon as it has completed its work, you switch back to the Oracle installer, click Retry …and everything will then complete successfully. A perfect installation in the end, then, with just a minor blip on the way.

However, it turns out that this advice is only true if you are installing Oracle 11.2.0.3!

If you are instead using the 11.2.0.1 version, the advice is wrong …because you will experience a completely different linking error much earlier in the piece. This one relates to the …ctx/lib/ins_ctx.mk makefile …and there’s no fix for it (not one I can work out, anyway). The only thing you can do when this particular error appears is to click ‘continue’ in the Oracle installer. The installer will then carry on linking everything else, bump into the “known” ins_emagent problem as before… and you can worked around that with the fix-up shell script previously described. Overall, you’ll experience two linking errors, only one of which can be fixed. You will therefore complete the installation, but you’ll be left with defective Oracle Text functionality, which may or may not matter to you.

Put it this way, then: if you’ve got paid access to My Oracle Support, you can use the latest version of Oracle and you won’t have an ins_ctx.mk problem. If you’re relying on the freebie downloads from OTN, though, you will.

I should have noticed this much sooner than I did. Trouble is, with access to the latest version of Oracle 11g, I inevitably got into the habit of using it when testing Gladstone, so I never noticed the big difference in the way the two versions behave during installation.

This is particularly bad on my part because, of course, the people most likely to be using Gladstone on non-supported Distros are precisely the people least likely to have access to the higher version. (Home learners, basically).

I should have kept “my audience” in mind, and stuck to working things out on the 11.2.0.1 version only, therefore… which is what I’ll definitely be doing in future. Apologies in the meantime: 11g on Fedora 17 will work, but only with slightly defective Oracle Text functionality and a willingness to accept the first of the two linking errors that result, without trying to fix it.

Gladstone Goodbye

After nearly three years, I’ve decided that it’s time to say goodbye to Gladstone. I hasten to add, I don’t mean that the script itself will be disappearing any time soon: it’s still here, still available for download and isn’t going anywhere.

What I mean, though, is that I won’t be developing it any further.

In the past couple of weeks, I’ve tidied him up and tweaked all sorts of bits and pieces, ensuring that he works for correctly preparing assorted Linux Mint, Debian, Fedora, Sabayon, Ubuntu, Centos, Scientific Linux and Oracle Enterprise Linux distros for running Oracle 10g and 11g. As far as I know, every one works as intended (you may well have to click ‘ignore all’ on the Oracle Universal Installer’s prerequisite checks page, but actually everything under-the-hood is fine). I’ve even made sure it works with the latest Developer build of Ubuntu 12.10, so I can’t make it much more up-to-date than that. There are just a couple of instrumentation changes I want to make, probably by the end of the coming weekend, but other than that, I think he’s “done”.

Gladstone now therefore deserves a ‘code freeze’, because it’s getting harder and harder to make it work for new distros without stuffing it up working with previous ones. What’s more, it’s silly having to make sure he handles Oracle 10g installs when 10g itself is no longer available for download: that particular dead equine has long since been flogged past the point of useful reward. Additionally, trying to handle the imminent release of 12c in that mass of ancient and straggly code is going to take me way beyond where I am comfortable being, I think!

So this weekend will mark the point where gladstone.sh becomes ‘read only’.

I haven’t abandoned attempts to automate the process of preparing a Linux system for running Oracle, however. It’s just that I need something more maintainable, more modular, forgetting about 10g, but capable of doing 12c when it’s finally here.

Watch this space for ‘son of gladstone’, therefore, which will hopefully be along soon enough.

Some Solaris 11 Tricks

I am currently doing battle with a text-only installation of Solaris 11. I say “doing battle” because, of course, it isn’t quite like Linux. It’s close enough that it’s familiar, but different enough that nothing really works! What you really need is a Linux-to-Solaris phrasebook… and these are the bits I’ve cooked up so far!

Before anyone writes in to say, “This method does it better’ or ‘Why not use this command instead’… this is a quick survival guide, not an elegant, considered dissertation on the best way of doing anything. Getting a result (that’s useful to me) is all that counts!

1. How do you know what your CD/DVD device is called?

You want to mount a CD or DVD manually and the mount command will require that you know the proper device name for that drive. How do you find out what it is?

In Linux, you might do any of these:

cat /etc/fstab
ls -l /dev/cdrom
cat /proc/sys/dev/cdrom/info  -check the "drive name" information

The Solaris 11 equivalent I use is:

rmformat -l

That’s the “removable rewriteable media format utility” (so it has more uses than just listing things out!) Its output is potentially confusing: what it refers to as the “Logical Node” is what you’re actually after in a mount command, whereas its display of the “Physical Node” isn’t.

2. How do you see all your file systems?

Obviously, “rmformat” is only going to tell you about file systems on removable media. How do you simply get a listing of all other physical storage devices that exist?

In Linux, you could do worse than check the contents of /etc/fstab, though more detail is usually available by doing an fstab -l.

On Solaris, there are lots of ways of doing it, but maybe the most informative and yet simplest is:

iostat -En

Bear in mind, though, that the default file system for a Solaris 11 installation is ZFS, so maybe something like

zpool list

…will provide you the information you’re looking for.

3. How do you manually mount a CD/DVD then?

In Linux, you might get away with things such as:

mount -t iso9660 /dev/sr0 /some-mountpoint

The Solaris 11 equivalent is very close:

mount -F hsfs -o ro /dev/rdisk/c3t1d0p0 /some-mountpoint

It’s still essentially “mount <some file type> <some device> <somewhere>, but the specific switches have changed. Specifically, “hsfs” is the ‘High Sierra Rock Ridge and ISO9660 file system’… which makes it ‘the cd file system’. And we use “-F” rather than “-t”, because we’re dealing with “F”ilesystems, not “t”ypes. Sort of!

4. How do you create an ISO file from files?

Let’s pretend you’ve downloaded the two Oracle 11gR2 zip files from OTN, you’ve unzipped both of them and thus created a single “database” directory. How can you turn that directory into the contents of a single new ISO file, suitable for burning to a DVD?

On Linux, I’d perhaps fire up Brasero and do it via a GUI (though K3b is really needed to get that specific job done properly) Using Brasero would also be open to me if I’d installed the Live version of Solaris 11, given the Gnome desktop that ships with. But using the command-line only, I’d do this on Linux:

mkisofs -r -v -J -R -o output.iso /path-to-main-folder

There are a bazillion switches that might be needed to get all the right formats on the resulting ISO (like long file names, etc). The particular mix of Joliet and Rock Ridge options shown here might not always be appropriate.

On Solaris, we have this:

mkisofs -r -v -J -R -o output.iso /path-to-main-folder

Actually, that’s exactly the same command as before. So there’s a win!

If you happen to be trying to create a functional ISO from the unzipped & combined two Oracle 11gR2 zip file downloads as I mentioned originally, though, I think you’ll need to add a few more switches. I find this works on Solaris 11, anyway:

mkisofs -log-file log.txt -r -v -J -R -d -l -N -allow-lowercase 
-allow-multidot -ldots -allow-leading-dots 
-o ora11gR2.iso /database

(In case the font lets me down, that’s “Jay Are dee el En’ in the middle bit there and it’s a reference to ‘minus eldots’… there’s no number ’1′ anywhere, in other words. And of course it’s all on one line, though I’ve broken it up here to make it look a bit nicer).

5. How do you map a SAMBA share?

Assume we have a mountpoint called “/network” on both a Linux and a Solaris 11 machine, and we want to connect to a share called NEWTON/Public that is being offered by a Windows 2012 server somewhere (we’re nothing if not up-to-date in these parts!) On Linux, I’d do this: mount -t cifs -o username=Administrator NEWTON/Public /network

I’d love to be able to tell you what that Solaris 11 equivalent is, but I have yet to find one on text-mode Solaris 11. The GUIversion of Solaris 11 will certainly let you browse network shares in Nautilus, but it seems not to like any provided by Windows 2008 R2 and Windows 2012 servers… it simply keeps asking for the username/password for the share without ever seeming to realise it’s been told it multiple times! Browsing an ancient XP box I’d forgotten about, though, was no problem.

Anyway, the long and the short of it is that Solaris 11 of any flavour does not seem to be a nice fit in a mostly-Windows environment. However, that perception might be as a result of the fact that a lot of the available documentation and web-tips etc. appear to be mostly about Solaris 10 -and mostly about setting up a SAMBA server, not using Solaris as a mere SAMBA client. Give me a week or two… hopefully some better news will turn up. (If you know the answer already, feel free to add enlightenment for all in the comments!)

6. How do you check what IP address you’re using

On either Linux or Solaris, you can still use ifconfig, but it’s been deprecated for a while (even in Linux, but especially in Solaris). The command is used slightly differently in the two O/Ses, too: in Linux, the command ifconfig will return you the IP addresses for all interfaces. Try that on Solaris, however, and you’ll get a help/syntax message -because on Solaris, you’re supposed to specify the precise interface you want to know about. You are therefore supposed to use a command like ifconfig net0.

Which of course immediately invites the question: how do I know what my network interfaces are called? To which there is the answer: dladm show-link. There are other variants on that command: dladm show-ether, for example, will list only the Ethernet interfaces, not the wireless ones, bridged, virtual interfaces (or sundry other types).

Anyway… I have plenty of other Linux/Solaris conversion tips like these, but that’s probably enough for today’s efforts. Watch this space…