Dizwell Informatics

News from Nowhere

Atlas – Installing Oracle on Zorin 12+

1.0 Introduction

Zorin is based on Ubuntu, but with extensive tweaks to make it graphically similar to Windows; indeed, it’s very reason for existence is to try to make it possible for Windows users to transition to Linux without too much pain. Wine is installed right out-of-the-box, for example, presumably with an eye to running all those Windows programs people have come to rely on. I have to say, however, that the default interface strikes me as quite childish in appearance (the default ‘Paper’ theme application icons in particular). I think I’d be feeling a bit patronized as a Windows user if this was what I was asked to transition to! Fortunately, those theming details can be easily changed.

In any case, with its Windows audience in mind, it’s perhaps not surprising that Zorin comes in two distinct editions: “Ultimate” and “Core”. Ultimate is a commercial proposition: you pay €19 for it. Core is available for free, but lacks the games and productivity apps which are part of Ultimate.

For some reason, Zorin ranks 8th on DistroWatch’s popularity rankings: that seems surprisingly high to me, for what (in its Core form, at least) is a pretty much cut-down version of Ubuntu. Perhaps there’s a lot of corporate interest in it… and perhaps its popularity is down to the fact that it uses a heavily-disguised Gnome Shell rather than Ubuntu’s Unity (making it a saner choice of desktop environment, in my view!)

Zorin is driven off stable Ubuntu releases: the current Zorin Core 12 (on which this article was based -I try not to pay for my OSes these days!) is based on Ubuntu 16.04 LTS (long term support). That makes it stable and predictable, if a tad less exciting than running off the latest Ubuntu releases.

As is the case with all Atlas/Oracle installs, of course, your Zorin server needs to be built with at least 5GB RAM and at least a 40GB hard disk.

Please watch the generic Atlas videos here, here and here to get an idea of how Atlas works in general. The generic documentation (including those videos) are available from this page. Below are Zorin-specific notes.

2.0 What’s been tested?

  • Zorin OS Core 12

3.0 Operating System media

Get your Zorin downloads from here. Bear in mind that if you want the Ultimate edition, you’ll have to pay. The Core edition is entirely free of charge, however -and is what I used for this article.

4.0 Operating System installation issues

There are almost no surprises with the OS installation. You can accept all the defaults and just click your way through to completion. You initially boot into a live environment, from which you can take the ‘Install Zorin’ option:

Reflecting the ‘made for former Windows users’ role that Zorin seeks to carve out for itself, the installer makes installing Flash and other multimedia codecs a default option:

You can accept that or not as you choose; personally, I don’t have Flash running on anything within a mile of me and think it doubly-unnecessary to do so on a database server. So I un-check the option at this point, but it makes no difference to the Atlas/Oracle outcome whether you do or not.

 

For disk partitioning:

The default option here is simply to ‘erase the disk’. That can safely be accepted: you will get a simple ‘everything in one root volume’ partitioning scheme which Atlas will find entirely acceptable. If you decide to go the ‘something else’ path and cook up your own partitioning scheme, remember that Atlas wants a ‘big root’ to work with (at least 25GB of free space on the ‘/’ mount point, basically).

Other than that, the installation proceeds to completion without drama or need to alter any of the defaults.

No wmctrl or xdotool utilities are installed by default, so once your OS has come back from its post-install reboot, you need to add that to Zorin before you try running Atlas:

sudo apt-get install wmctrl

…will do the job.

I found I was able to scale the display on my Zorin VirtualBox VMs without needing to install any Guest Additions, so getting a screen resolution high enough for Atlas (at least 1200 x 750) was not an issue.

I did also change the default font size on the terminal:

You don’t, strictly speaking, need to do likewise, but I find the default font size way too large for my liking!

5.0 Running Atlas

Assuming you’ve installed wmctrl (or xdotool) and have a big enough screen resolution, therefore, acquiring and running Atlas is straightfoward:

wget http://bit.do/dizatlas -O atlas.sh
chmod +x atlas.sh
./atlas.sh

…after which, I simply followed the prompts.

Note that as part of its work, Atlas installs gcc-4.9 and g++-4.9. A complex series of switcheroo-games is then played to make sure that gcc-4.9 becomes the default gcc version in use. This is needed to get the Oracle binaries to link (or compile) correctly. After Oracle has been installed correctly, you may want to issue these commands to switch the version back to the version that the distro ships with:

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
sudo update-alternatives --install /usr/bin/cpp cpp-bin /usr/bin/cpp-6 100

sudo update-alternatives --set g++ /usr/bin/g++-6
sudo update-alternatives --set gcc /usr/bin/gcc-6
sudo update-alternatives --set cpp-bin /usr/bin/cpp-6

But don’t go issuing those commands until AFTER Oracle 12c has been installed and is working correctly.

Additionally, be aware that if you switch back to the default versions after Oracle has been installed, you won’t be able to patch Oracle 12c (because the wrong compiler version will be in use once again). Of course, given that you’re running on an unsupported distro, it’s unlikely you’ll be patching Oracle 12c any time soon (since obtaining patches requires a support contract!), but if you were thinking of it, just be aware that patching requires the 4.9 version of gcc, g++ and cpp to be the system-wide defaults.

6.0 Installing Oracle 12c

Oracle installation on Zorin starts by warning you that your system is not adequate for the task:

The warning is a red herring, however, and it is perfectly OK to click [Yes] at this point to continue the installation regardless. You mostly just keep clicking [Next] after that!

Sadly, however, it remains the case that Zorin, reflecting its Ubuntu heritage, is one of the few distros these days to throw errors during the installer’s ‘linking phase’:

As you can see, you get a pop-up at around the 59% mark, claiming that there’s a problem with compiling the ins_rdbms.mk makefile. As you can also see, however: your response to this error should be to open a new terminal window and change directory to the oracle user’s Documents directory. There, you’ll find an ‘atlas-fixup.sh’ shell script, previously created by Atlas.

Note that the file is already executable: Atlas created it that way. You can therefore run that script now, as yourself, using the following command:

./atlas-fixup.sh

The script takes practically no time at all to run, but indicates it has completed by putting a big pop-up dialog box somewhere on your screen:

So now you do what the pop-up tells you to do: click [OK] to dismiss this new pop-up itself, switch back to the error message dialog generated by the original Oracle installer …and there click the [Retry] button.

Do all of that, and you’ll see that the linking phase resumes… and completes without further incident:

After that, the Oracle installation follows its usual path: you are asked to run two scripts as root, as you can see, so you can just prefix the script path/names the Oracle dialog gives you with “sudo” to achieve that.

Note that if you elected to create a new, dedicated oracle user when first running Atlas (instead of using the default option of making yourself the oracle user), using sudo in this way will not be possible, because Atlas doesn’t make new users members of the sudo-capable group by default.

If that happens to you, the trick is to use “su – <username>” to become the original non-root user (the user account specified when you first installed the operating system), and only then to prefix the path/filenames with the sudo command. That is, make the oracle user become someone who can sudo things, and run the root scripts as that other user with sudo prefixes.

You could alternatively just make the oracle user a sudo-capable user (by issuing the sudo adduser <username> sudo command), but that would not be a particularly secure way to do things: I don’t like my oracle users having more powers than they need strictly to run a database!

Once the database has been created for you, you should be able to immediately log on to the database and see visually-pleasing results:

The key point here is that, since there were linking errors that required you to run a fixup script, there is no Atlas-created post-install script to be run, as there would be with many other distros. Therefore, SQL*Plus is already configured to display line lengths and page sizes sensibly.

Incidentally: the command you see me typing in that last screenshot (“sql“) is the alias of the full command (“sqlplus / as sysdba“). It is aliased with a reference to the rlwrap utility, so that if you get into SQL*Plus using it, you can press the up and down cursor keys to retrieve and scroll through any previous SQL commands you’ve typed. If you ever need the vanilla, un-rlwrapped version of SQL*Plus, however, then just type the full-blown sqlplus  command and you’ll be running the exact same program as before but without a command line history.