MAKE SURE TO USE ALL LOWER-CASE LETTERS in the database name
DO NOT CREATE A PLUGGABLE DATABASE It does not work with flashback.
Make sure that the environment variable ORACLE_SID is set to the database name (the plugin, not the outer db if using pluggable).
Step 4: Configure A TCP Listener
VirtualBox note: VirtualBox's NAT network adaptor allows you to set up port forwarding
RedHat Note: RHEL has a firewall enabled by default. Make sure that this firewall allows through port 1521.
You will need to configure things. Start by editing the file $ORACLE_HOME/network/admin/listener.ora At a minimum, the file should contain the following (this declares a TCP listener named LISTENER on localhost:1521, oracle's default port):
Then you need to declare every database that the listener will be hosting:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME=*** GLOBALLY VISIBLE NAME ***) (SID_NAME = *** SID USED WHEN CREATING DB ***) (ORACLE_HOME = *** THE SAME AS $ORACLE_HOME ***) ) (SID_DESC = ... ) ... )
Finally, you start the listener
As it starts up, you should see a listing of every database that is running.
There are a crapload of required packages. Be sure to install them all. Many of them need both the i686 and x86_64 versions of the packages installed. When in doubt install both.
Make sure to make the relevant changes to sysctl.conf and MAKE SURE TO RUN sysctl -p so that the changes stick.
If using GCC3.4 (most likely), compat-glibc++33 needs to be installed. This manifests itself as an LD error when the installer is first run.
Trial and error kind of works. The log file is pretty good about letting you know what libraries are missing. Occasionally, the installer will need to be restarted from scratch if you're going about it this way.
The error: ORA-27125: unable to create shared memory segment
may arise during supplemental installation. This is an issue with the HUGETLB feature of later linux kernels. The simplest fix is to disable this by replacing the oracle binary with a script that sets the relevant environment variable
The "correct" solution involves recompiling the kernel to support this feature.
To start the actual oracle instance, you need to modify the config file. When oracle first starts up, it will complain about a missing config file. The directory it points to has a default (init.ora) that can be copied almost directly.
I encountered an issue with memory allocation : ORA-00371 (Not enough shared pool memory). The fix was to set the 'sga_target' parameter in the config file to the size suggested by oracle.
The 'sga_target' parameter doesn't seem to play well with the 'db_block_buffers' parameter, so the latter may need to be commented out.
After the config file is created, you'll need to start up oracle itself. This is done using the sqlplus command
$> sqlplus /nolog
starts up sqlplus without asking for a logon
SQL> CONNECT [username]/[password] AS SYSDBA;-- establishes an oracle instanceSQL> CREATE SPFILE FROM PFILE;-- compiles the config fileSQL> STARTUP-- starts oracle------ DON'T DO THE FOLLOWING... USE bin/dbca insteadSQL> CREATE DATABASE-- instantiates a databaseSQL> CREATE USER [username] IDENTIFIED BY [passwordnoquotes];SQL> GRANT ALL PRIVILEGES TO [username] WITH ADMIN OPTION;