Oracle

This section is all about Oracle and by this I mean their database products. So nothing here about SOA Suite, CRM or any of the other many Oracle products.

Documentation

Oracle have a lot of official documentation, however here are some good places to start:

The library is the starting point for everything, however I usually find that the Administrator's Guide is good for getting the Oracle Database installed and configured and the Language Reference great for writing queries or changing schema. If you need to install or work with Oracle Database 12c then start at Oracle® Database Online Documentation Library 12c Release 1 (12.1.0.2) and work from there.

Installation

The first, and most obvious thing is check the Operating System requirements in the Installation Guide. Failure to do so will just cause trouble. So for example, I could not get Oracle 11gR2 to install on CentOS, however switching to Oracle Linux 6 made for a much easier ride. It is possible not impossible to use CentOS, in fact I have seen it working but I struggled. In addition ORACLE-BASE - Oracle Database 11g Release 2 (11.2) Installation On Oracle Linux 6 proved very useful, especially the yum pre-requisites command! Check out the rest of the site for further installation help.

In 2018, and this seems to have been the case for a while at this time, the Oracle development team use Oracle Linux, so, whatever the official docs say, guess which operating system has the best support? Yes, Oracle Linux, so whenever possible use it.

Oracle Universal Installer

I have worked on Linux servers where OUI is not on the application menu and so I used the following commands to run it:
cd $ORACLE_HOME/oui/bin
./runInstaller

Environment

If your login is not setup for Oracle and you don't know where it is installed then here are some hints. If the server hosts an Oracle database then try cat /etc/oratab which will list the installed databases and their Oracle home. Alternatively try find / -name 'oraenv' 2> /dev/null to locate the environment setup script. It should be in something like /usr/local/bin/oraenv in which case I would add /usr/local/bin to the path in my .profile file. Then run the environment script like this . oraenv which may struggle with the Oracle home but you should have found that by now.

I found that adding the following to my profile was helpful:
export PATH=$PATH:/usr/local/bin
echo "Oracle Home directories:"
cat /etc/oratab | grep :/ | cut -d: -f2 | sort | uniq
echo

Oracle XE

This section refers to Oracle Express Edition. When installing this I made the mistake of accepting all the defaults and I ended up with Oracle's web interface running on port 8080. However changing it is not as simple as some products, however ORACLE - DBA Tips Corner - XML DB Port Assignments explained exactly what I needed to do and it worked, I moved Oracle to port 9090, keeping the listener on 1521 of course!