This is a step by step description of how to load a basic Oracle 9i
install on a SuSE 9.2 OS. This is an improvement over exisiting
documentation in that it lists all the steps in one place in plain
english. If you follow them to the letter, you should be assured of
a working implementation.
Steps for the oracle 9i installation on linux:
1. Get appropriate downloads from otn.oracle.com (it's under
Databases > Previous Version > 9i)
2. gunzip the 3 downloads (eg gunzip <filename>)
3. cpio each archive. (Remember to redirect the file into cpio
rather than simply passing it as a parameter from the command
line):
"cpio -idmv < archip.cpio"
4. Add the dba group:
"groupadd dba"
5. Add the oracle user:
"useradd -g dba -p <password> oracle"
6. Change finger info if desired:
"chfn oracle"
7. Create skeleton .profile and modify to include the following:
##glibc library compat
export LD_ASSUME_KERNEL=2.4.21
## BEGIN ORACLE SPECIFIC VARIABLES
# SET THIS PARAMETER TO WHATEVER YOU LIKE
# It will be the instance name of your new database
ORACLE_SID=mccourt
#You are the oracle user, thus "oracle"
ORACLE_OWNER=oracle
#"Put all your files in these directories
ORACLE_BASE=/oracle/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/9i
export ORACLE_HOME ORACLE_OWNER ORACLE_SID
ORACLE_BASE
SH_LIB_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/
ctx/lib:/usr/lib:/usr/local/lib:.
TNS_ADMIN=$ORACLE_HOME/network/admin
export SH_LIB_PATH LD_LIBRARY_PATH TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH
export PATH
CLASSPATH=.:$ORACLE_HOME/jdbc/lib/classes111.zip;
export CLASSPATH
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;
export ORA_NLS33
NLS_LANG=american;
export NLS_LANG
##END ORACLE-SPECIFIC VARS
8. Set appropriate kernel params with the following:
## BEGIN ORACLE KERNEL PARAMS
# semaphore settings
echo 250 32000 100 100 > /proc/sys/kernel/sem
# maximum shared memory
echo 2147483648 > /proc/sys/kernel/shmmax
#maximum shared memory segments for system
echo 4096 > /proc/sys/kernel/shmmni
#maximum shared memory for system
echo 2097152 > /proc/sys/kernel/shmall
#maximum open file handles
echo 65536 > /proc/sys/fs/file-max
#available port range
echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
#maximum number of user processes
ulimit -u 16384
#max number of open user files
ulimit -n 65536
## END ORACLE KERNEL PARAMETERS
9. Create the Oracle directory structure
mkdir /oracle/u01 /oracle/u02
10. Permission it appropriately
chown -R oracle:dba /oracle/u01
chown -R oracle:dba /oracle/u02
11. Confirm that your oracle user can log in locally and
successfully run X
12. Log in to an X session.
cd <Disk1 location>
./runInstaller
13. The Oracle Universal Installer pops up:
a. Accept the base directory
b. Give the dba group patching rights
c. Execute /tmp/orainstRoot.sh as root from a term
d. Accept the source and destinations, as appropriate
e. Accept the install of the full database
f. Select "Custom"
g. UNCHECK "Oracle Advanced Security . . ." and "Legato
Network Single Server . . ." under "Enterprise Edition Options",
"Enterprise Manager Web Site" and "Oracle Manager Server"
under "Oracle Enterprise Manager Products", and "Oracle HTTP
Server" in its entirety.
h. Accept Component Locations. (Make sure there's enough disk
space.)
(If you get an error about IP address, click "Continue" to use the
setup default)
i. Accept 'dba' as OSDBA and OSOPER groups
j. Select to not create a database now.
k. Click "Install" (Logs of installs are stored in $ORACLE_BASE/
oraInventory/logs/installActions<date>.log.)
l. When prompted, run root.sh scripts
m. Select for the Oracle Net Config Asst to assign a typical
configuration (read the Help)
n. run 'dbca' from the shell and supply the appropriate sid, etc
n. Restart the host
o. Log in again as 'oracle' and run lsnrctl.
- at the lisnctl prompt, enter 'start' and look for a success
message.
- query 'status' to double-check.
- enter 'exit'
p. Run a ps and look for a tnslnsr process running from
somewhere under $ORACLE_HOME
q. From the shell:
"oemapp console"
Enter the appropriate SID and 'localhost'.
For user account, use sysdba/change_on_install".
20. Config your listener.ora file:
In $ORACLE_HOME/network/admin/listener.ora (NOTE the Host
IP specification):
#BEGIN LISTENER.ORA
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST =
192.168.0.2) (PORT = 1521)
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)
(KEY = EXTPROC))
)
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/u01/app/oracle/product/9i)
(PROGRAM = extproc)
)
)
#END LISTENER.ORA
21. Start the listener:
$ lsnrctl start
22. Run the patch sets as appropriate.
23. Restart the listener
24. Run dbca from the command line and configure as
appropriate. When through, be sure you have an entry in
$ORACLE_HOME/network/admin/tnsnames.ora.