Dizwell Informatics

News from Nowhere

Atlas – Installing Oracle on Solaris

1.0 Introduction

The future of Solaris is a little less clear than is ideal, but it nevertheless remains for now a rock-solid platform on which to run Oracle 12c. It is also freely downloadable from the Oracle website (though don’t expect to use it in a production environment without paying out big dollar amounts!) It’s therefore a good platform on which to learn Oracle -and accordingly, Atlas will help configure your Solaris server appropriately to make that easier to do.

As is the case with all Atlas/Oracle installs, of course, your Solaris server needs to be built with at least 5GB RAM and at least a 40GB hard disk -though personally, given that Solaris is a little bit ‘heavier’ than most Linux distros, I’d recommend at least 8GB RAM. 5GB has been tested, though, and works well enough.

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 Solaris-specific notes.

2.0 What’s been tested?

  • Solaris 11.3 (Live DVD)

3.0 Operating System media

Solaris 11.3 is available to download from Oracle, which means you’ll need an “oracle account” to log into at the time of clicking to download something. Such an account can be created for free, though, so no cash need change hands at this time!

Solaris comes in two families (Sparc and x86); it is additionally available in various formats, depending on whether you want a full GUI server, a text-mode-only server or an automated build over the network. Atlas only works for Solaris running on traditional PC CPUs (i.e., the x86 family). And whilst you could get everything running on a text-mode-only server, I’m going to recommend sticking to using the Live version, because that’s the only one that gives you the full GUI experience that the Oracle database installer expects to be able to run in. (It is, of course, possible to create a text-mode server and then use remote X techniques to run a GUI installer on it from another PC: I’ve explained how to do this for remotely running Linux applications in a number of previous articles. But I won’t consider that approach here.) Accordingly, stick to downloading either the x86 Live DVD image (1.1GB) or the x86 Live USB image (1.4GB), depending only on how you boot the server you intend to run Oracle database on. If you’re doing this with a virtual machine, the Live DVD image will be fine.

4.0 Operating System installation issues

Using the Live DVD, you boot Solaris into a ‘live’ environment that runs a Gnome desktop environment. It will look very familiar to anyone who has ever run Gnome on a Linux distro! On the desktop, you’ll find an icon labelled ‘Install Oracle Solaris’: double-click that and the install wizard will appear. Just click your way through it, accepting the default suggestions for the most part and clicking [Next] a number of times: it’s pretty painless. Of course, you’ll have to choose an appropriate timezone and locale, but other than that you only real interaction with the installer is to specify a non-root user of the system:

Note that you also get a chance to name your new server, though Atlas will prompt you for this later on anyway, so don’t get too worked up about it at this point.

Subsequently, you’ll be prompted to supply ‘Support Registration’ details: there’s no need to bother doing anything with that screen, however. Just click [Next] to dismiss it when it appears.

After the O/S has been installed, you reboot. Make sure you’ve removed the installation DVD before the server starts to come back up, otherwise you’ll end up booting back into the live environment instead of the ‘real’ one, installed on your hard drive.

If you’re using VirtualBox as your virtualization platform, you’ll probably find that the maximum resolution you can get from your new Solaris box is 1024×768. Usually, you’d expect to have to (somehow!) get higher resolutions than this before Atlas will run, but -uniquely!- Atlas’ screen resolution checks are not performed when Atlas detects that it is running on Solaris, so 1024×768 will be fine.

However, the Atlas screen display will still be complete garbage if you don’t arrange to run terminals with very small fonts: so I suggest the first thing you do when logging on to your new server for the first time is to open a terminal, click Edit -> Profile Preferences and then uncheck the option to use ‘the system fixed width font’.  Then click the ‘Monospace Regular 12-point’ button and select instead to use a 7-point font:

Click OK and then Close. Finally, maximize your terminal window, so that it occupies the entire screen:

When you then come to run Atlas, you’ll find everything will be rather small -but at least it will display legibly 🙂 Once you’ve completed the Atlas run, of course, you can always set your terminal preferences back to using larger fonts than this: 7-point fonts get a bit hard on tired eyes after a while, after all!

A second thing to do immediately upon logging onto your new server for the first time is to attempt to become root:

su - root

It is a quirk of Solaris that you don’t get to set a password for root during the OS installation, and the default one that Oracle sets under-the-hood (which is the same as the one you specified for the non-root account) is set to expire the first time the root account is accessed. You therefore merely trigger a prompt for a new password for the root account when you first try becoming root. Supply the non-root user’s password when first prompted -and then you’ll be told it’s just been expired and then given an opportunity to specify a new one:

Once a new password has been supplied successfully, this is a root password that Atlas will be able to use successfully to complete his work.

5.0 Running Atlas

Once you have sorted out your terminal font size and changed the root password to a non-expired one, fetch and run Atlas in ALMOST the normal way:

wget https://bit.do/dizatlas2 -O atlas.sh
chmod +x atlas.sh
./atlas.sh

It is important to note that the first command mentions “dizatlas2“. This is not used on any other OS or distro that Atlas runs on: it’s unique to Solaris. On Linux distros, you’d wget something called “dizatlas”, for example. But if you try that on Solaris, the download will fail. Only by specifically requesting the “dizatlas2” download will anything actually happen.

Assuming you correctly specified “dizatlas2”, the other commands simply make the downloaded file executable and then actually executes it …after which, you simply follow the prompts.

At one point, Atlas will probably discover that it doesn’t like the hostname you specified during the installation:

That’s fine, because you get to specify a hostname now anyway. Make it a fully-qualified one (i.e., it needs a domain name component). If you don’t have a genuine domain name to work with, make one up (such as ‘mydomain.home’ or ‘.localdomain’ or just ‘.local’, as the mood takes you). Type the fully-qualified host-and-domain name at the prompt shown. Note that if you just press Enter, you get given the hostname “osrvr.test.lab” anyway. Note that if you happen to want a really long host+domain name, just keep typing it and try and ignore the fact that, at one point, it will wrap onto the beginning of the next line. It’s ugly -and quite difficult to read your handiwork in consequence! But, provided you don’t type any spaces or attempt to backspace back to the original line, it will work correctly, no matter how much text you type.

Here’s my attempt, anyway:

Other than that, there are no surprises. Just follow the prompts.

Be warned that when Atlas starts installing necessary software prerequisites, it will appear to stall for a very long time. Depending on your Internet speed, of course, you can expect to wait many, many minutes. (Mine is reasonably fast, and I sit there twiddling my thumbs for getting on for 10 minutes). Just be patient: left to its own devices, the script will eventually complete and prompt you to trigger a necessary reboot. Don’t try to be clever by avoiding the reboot: if you don’t reboot when prompted, rather important bits of configuration will never be performed.

6.0 Installing Oracle 12c

There are no major dramas arising during the Oracle database installation: you just download the relevant ZIP files from Oracle (I suggest to the /osource directory which Atlas created for you for just this purpose), unzip them and then launch the installer from the database subdirectory created by the unzipping process:

/osource/database/runInstaller

…does it for me, anyway!

Neither version of Database 12c should trigger any complaint about failed pre-requisites, so you should simply be taken to a screen with an ‘Install’ button to trigger the actual software installation.

Since there are no linking errors to worry about, Atlas will have created a post-install script in the oracle user’s Documents directory which you can (optionally) run once the Oracle installation completes successfully. Since I am my own oracle user, the following screenshot shows me checking the contents of my own Documents directory:

Note that the file is already executable: Atlas created it that way. You can also see what this script actually does: it merely adds three settings into the glogin.sql script which SQL*Plus uses to configure its display. The stuff is, therefore, entirely cosmetic and it’s entirely up to you whether you want these changes made to SQL*Plus’ default way of working or not (but I’d recommend them anyway!)

You run that script now -as yourself, not root- using the following commands:

cd 
cd Documents
./atlas-postinstall.sh

Once you see the ‘all done’ message indicating successful completion of the script, you can launch SQL*Plus in the usual way and immediately start working with your new database.

Incidentally, Atlas provides two ways of launching SQL*Plus: the usual ‘sqlplus / as sysdba‘ way that is familiar to all users of Oracle databases, and the simpler ‘sql‘ command. This is just an alias of the full-blown ‘sqlplus / as sysdba’ command, but it’s quicker to type! It also uses the rlwrap utility to give SQL*Plus a command-line history -so you can scroll up and down through any previously submitted SQL commands to edit and re-submit them as you like. Use the traditional command when you don’t want this sort of facility, then, and the shortened ‘sql’ command when you do (and I rather suspect that you will want it a lot!)

Note that Atlas provides two other alias commands you can experiment with: diag simply takes you to your database’s trace directory, so that all files associated with explaining what the database is doing and what issues it is running into can be accessed simply, without having to remember the convoluted path needed to find them! Finally, there’s the tailalert command, which simply ‘tails’ the alert log in ‘following’ mode, so that you can see the output of the alert log as it is generated in real-time: I find it a convenient way of being able to see what the database is doing internally without having to type much!

Finally, be aware that the Oracle instance will not automatically restart at every reboot of the server unless you first, as root, edit the /var/opt/oracle/oratab file. Replace the ‘N’ that ends the line on which your new database is listed with a ‘Y’. For a database called “orcl”, for example, you’d change this:

orcl:/u01/app/oracle/product/12.2.0/db_1:N

…into:

orcl:/u01/app/oracle/product/12.2.0/db_1:Y

Once the file is saved with that trailing ‘y’ in place, you’ll find that you can immediately connect to your database once the server comes back up from a reboot: Atlas has already created the necessary service scripts needed to make that happen.