Installation of Oracle 11g Release 2 on Solaris 10 x86_64


This paper (HOWTO) describes step-by-step installation of Oracle 11g release 2 (11.2.0.1.0) database software on Solaris 10 x86_64.

This paper covers following steps:

Pre-Instalation Tasks

1. Create oracle User Account

Login as root and create te user oracle which belongs to oinstall,dba,asmdba and asmadmin groups.
su -
# groupadd dba
# groupadd oinstall
# groupadd asmdba
# groupadd asmadmin
# useradd -g oinstall -G dba,asmdba,asmadmin -m -d /export/home/oracle -s /usr/bin/bash oracle
Note: "#" sign means that you need execute this command as root user. For use of Bash shell you need to install SUNWbash package
You can separate ASM and DBA roles between more users. You can create for example "asm" user as ASM administrator.


2. Setting System parameters
Edit the /etc/system and add following line:
set noexec_user_stack=1
Note: Since Solaris 10 shared memory settings for Oracle in /etc/system is obsolete.

Execute following commands to configure system settings for Oracle.
# projadd -U oracle -K "project.max-shm-memory=(priv,4g,deny)" user.oracle
# projmod -sK "project.max-sem-nsems=(priv,512,deny)" user.oracle
# projmod -sK "project.max-sem-ids=(priv,128,deny)" user.oracle
# projmod -sK "project.max-shm-ids=(priv,128,deny)" user.oracle
Note:
- Use "projects -l project user.oracle" command to check the settings.
- Values for max-sem-nsems, max-sem-ids, max-shm-ids are defaults in Solaris 10. You need not to specified them unless you want to set higher values.
More info at http://docs.sun.com/app/docs/doc/817-0404/chapter1-33?a=view
- Example (as above) represents setting for "oracle" user. In case your "dba" group will contain more members than "oracle" user define limits for group (group.dba) rather than user (user.oracle).


3. Enviroment settings
Edit the /export/home/oracle/.bash_profile file and add following lines:

ORACLE_BASE=/opt/oracle
ORACLE_HOME=$ORACLE_BASE/112
ORACLE_SID=ORA11GR2
CRS_HOME=$ORACLE_BASE/112_crs
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$CRS_HOME/lib
PATH=$PATH:/usr/local/bin:/usr/ccs/bin:$ORACLE_HOME/bin:$CRS_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
Note: This configuration assumes that user oracle is using Bash as default shell.
CRS_HOME is optional. You don't need to set CRS_HOME in case Grid will be not installed.


Save the .bash_profile and execute following commands for load new enviroment:
cd /export/home/oracle
. .bash_profile

4. Create base directory for Oracle

Login as root and create base directory for Oracle ($ORACLE_BASE).
su -
# cd /opt
# mkdir oracle
# chown oracle:dba oracle

Download & Install

1. Installation of required packages

Some additional packages are required for succesful instalation of Oracle software. To check whether required packages are installed on your operating system use following command:
pkginfo -i SUNWarc SUNWlibms SUNWtoo SUNWi1cs SUNWi15cs SUNWxwfnt SUNWxwplt SUNWmfrun SUNWxwplr SUNWxwdv SUNWgcc SUNWbtool SUNWi1of SUNWhea SUNWlibm SUNWsprot SUNWuiu8 SUNWpool SUNWpoolr


Install the required packages using the pkgadd command:
# pkgadd -d . SUNWarc SUNWlibms SUNWtoo SUNWi1cs SUNWi15cs SUNWxwfnt SUNWxwplt SUNWmfrun SUNWxwplr SUNWxwdv SUNWgcc SUNWbtool \
SUNWi1of SUNWhea SUNWlibm SUNWsprot SUNWuiu8 SUNWpool SUNWpoolr

3. Download the Oracle 10g (11.2.0.1.0) software from Oracle website.
Extract the files using following command:

For Grid (CRS) software installation:
unzip solaris.x64_11gR2_grid.zip

For Database software installation:
unzip solaris.x64_11gR2_database_1of2.zip
unzip solaris.x64_11gR2_database_2of2.zip


4. Start the Oracle software installation process.

Now the system is prepared for Oracle software installation. To start the installation process execute the following commands:

For Grid (CRS) software installation:
cd grid
./runInstaller

For Database software installation:
cd database
./runInstaller

Post-Instalation Tasks

1. Execute scripts (# means "as root"):
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/112/root.sh


2. (Optional) You may consider to use rlwrap for comfortable work with sqlplus, rman or adrci utility. For Solaris 10 (x86) release you need to download following packages from official Sunfreeware.com site:

rlwrap-0.30-sol10-x86-local.gz (use Save as)
readline-5.2-sol10-x86-local.gz (use Save as)
libgcc-3.4.6-sol10-x86-local.gz (use Save as)

Install downloaded packages:
su -
# gunzip libgcc-3.4.6-sol10-x86-local.gz
# gunzip readline-5.2-sol10-x86-local.gz
# gunzip rlwrap-0.30-sol10-x86-local.gz
# pkgadd -d libgcc-3.4.6-sol10-x86-local
# pkgadd -d readline-5.2-sol10-x86-local
# pkgadd -d rlwrap-0.30-sol10-x86-local
# exit
echo "alias sqlplus='/usr/local/bin/rlwrap sqlplus'" >> /export/home/oracle/.bash_profile
echo "alias rman='/usr/local/bin/rlwrap rman'" >> /export/home/oracle/.bash_profile
echo "alias adrci='/usr/local/bin/rlwrap adrci'" >> /export/home/oracle/.bash_profile
. /export/home/oracle/.bash_profile


Common Installation Errors

UX: useradd: ERROR: Unable to create the home directory: No such file or directory.
Create specified directory where home directory will be located. In example for /export/home/oracle home you need to execute "mkdir -p /export/home" directory.

Unable to convert from "UTF-8" to "646" for NLS!
Solution: Install SUNWuiu8 package.

Checking monitor: must be configured to display at least 256 colors >>> Could not execute auto check for display colors using command /usr/openwin/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<< Some requirement checks failed. You must fulfill these requirements before continuing with the installation,at which time they will be rechecked.
Solution(s):
1. Install SUNWxwplt package
2. Set DISPLAY variable
3. Execute xhost + on target (set in DISPLAY) computer

Exception in thread "main" java.lang.UnsatisfiedLinkError:
... libmawt.so: ld.so.1: java: fatal: libXm.so.4: open failed: No such file or directory

Solution: Install the SUNWmfrun package.

Can't load '/usr/perl5/5.8.4/lib/i86pc-solaris-64int/auto/Sun/Solaris/Project/Project.so' for module Sun::Solaris::Project: ld.so.1: perl: fatal: libpool.so.1: open failed: No such file or directory at /usr/perl5/5.8.4/lib/i86pc-solaris-64int/DynaLoader.pm line 230. at /usr/sbin/projadd line 19 Compilation failed in require at /usr/sbin/projadd line 19. BEGIN failed--compilation aborted at /usr/sbin/projadd line 19.
Solution: Install the SUNWpool SUNWpoolr packages.

root.sh: /usr/xpg4/bin/grep: not found
Solution: ln -s /usr/bin/grep /usr/xpg4/bin/grep


Last update: 29-12-2009 (DD-MM-YYYY). Comments, suggestions, questions, errors (also grammatical :) )? Feel free to contact me. Also You can leave the comment to relevant post on my blog