You are on page 1of 10

Step Install Oracle 10g R2 on Solaris 10 x86

September 4, 2007 in Oracle, Solaris


Tags: Install Oracle 10g R2, Solaris 10 x86
Checking Requirement:
#/usr/sbin/prtconf | grep Memory size [Check RAM size]
# /usr/sbin/swap -s [check swap]
# df -k /tmp [check /tmp size (>400mb)]
# uname -r [check solaris version]
# pkginfo -i SUNWarc SUNWbtool SUNWhea SUNWlibm SUNWlibms SUNWsprot
SUNWsprox SUNWtoo SUNWi1of SUNWi1cs SUNWi15cs SUNWxwfnt
# cat /etc/nsswitch.conf | grep hosts
# hostname
# domainname
RUN INSTALL:
A. create group name dba, oracle inventory group oinstall and oracle user
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
{Determine oracle user exist or not
# id -a oracle
{if exist, should be look like this=
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper)
{create oracle user=
# useradd -d /export/home/oracle -g dba -G oinstall -m -s /bin/ksh oracle
#mkdir /export/home/oracle
#chown oracle:dba /export/home/oracle
{set password=
# passwd -r files oracle
{to determine nobody user=
# id nobody
# /usr/sbin/useradd nobody >>run if does not exist

B. EDIT FILE /export/home/oracle/.profile

umask 022
TMP=/tmp
TMPDIR=$TMP
DISPLAY=localhost:0.0
export TMP TMPDIR DISPLAY
ORACLE_BASE=/u01/app/oracle [replace with ur Oracle base Directory]
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 [replace with ur Oracle home
Directory]
ORACLE_SID=jktdb [replace with your database]
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
C. Configure Kernel Parameter

Note: Do not follow the official installation instruction, they contain misleading and out
errors of fact!
#projadd oracle [This command will create a new 'resource project']
edit the /etc/user_attr file:
adm::::profiles=Log Management
lp::::profiles=Printer Management
root::::auths=solaris.*,solaris.grant;profiles=Web Console
Management,All;lock_after_retries=no
oracle::::project=oracle [add this line]
then:
#su oracle
$ id -p
$ prctl -n project.max-shm-memory -i project oracle
The display look like this:
project: 100: oracle
NAME PRIVILEGE VALUE FLAG ACTION RECIPIENT
project.max-shm-memory
privileged 126MB deny system 16.0EB max deny leaving the oracle user still connected in the original one Then, as root in the new
terminal, you can issue this command:

#prctl -n project.max-shm-memory -v 4gb -r -i project oracle [create max memory to


4GB]
As soon as youve issued that command, switch back to the oracle users session and reissue the earlier command:
$ prctl -n project.max-shm-memory -i project oracle
Note:
#prctl -n project.max-shm-memory -v 4gb -r -i project oracle [this setting will lost after
reboot]
to set permanently, run this: #projmod -s -K project.max-shmmemory=(priv,4gb,deny) oracle
D. Performing the Oracle Installation
#su oracle
$xhost +
$export DISPLAY=localhost;0.0
$ xhost +<your-remote-pc-ipaddress> >>run this if you install from remote PC
$ cd /export/home/database/ [the source unzipped here]
./runInstaller
FOR SOLARIS SPARC:
====================
$ gunzip ship_rel10_sol64_db.cpio.gz
$ cpio -idm < ship_rel10_sol64_db.cpio
$./runInstaller
If you found unsufficient SWAP disk space on your disk, create folder under / then run
this command:

$ TMP=/directory
$ TMPDIR=/directory
$ export TMP TMPDIR
Follow the screen>>NEXT>>NEXT
last, run this as root user:
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh

Create db:
orc1
jktdb
E. 6.0 On-going Administration

Finally, its time to get the web-based Enterprise Manager database administration tool up
and running.
Since were using 10g Release 2, you should be able to launch a browser (Launch -> Web
Browser) and simply navigate to : http://localhost:1158/em
If you do not know the correct port number to use, look for the following line in the
$ORACLE_HOME/install/portlist.ini file.
in order to be able to log on as SYS with a password of whatever you supplied to the first
screen of the Oracle installation wizard. In fact, getting a meaningful result at this point
relies on three things having been performed successfully:
1. starting a listener (lsnrctl start)
2. opening the database (sqlplus / as sysdba then startup)
3. starting the Enterprise Manager agent (emctl start dbconsole)
F. Automating Database Startup

edit file /var/opt/oracle/oratab script to find lines with Y at their ends


Create file /etc/init.d/dbora
#!/bin/sh
ORA_HOME=/u01/app/oracle/product/10.2.0/db_1
ORA_OWNER=oracle
if [ ! -f $ORA_HOME/bin/dbstart ]
then
echo Oracle startup: cannot start
exit
fi
case $1 in
start)
su $ORA_OWNER -c $ORA_HOME/bin/dbstart
;;
stop)
su $ORA_OWNER -c $ORA_HOME/bin/dbshut
;;
esac


#chmod 777 /etc/init.d/dbora
#/etc/init.d/dbora stop
To integrate dbora file to standart Solaris startup and shutdown process:

#ln -s /etc/init.d/dbora /etc/rc0.d/K01dbora


#ln -s /etc/init.d/dbora /etc/rc2.d/S99dbora
IF u found error this:

ORACLE_HOME_LISTNER is not SET, unable to auto-stop Oracle Net Listener


edit file dbstart & dbshut, find line $ORACLE_HOME_LISTNER=$1
and change to = $ORACLE_HOME_LISTNER=/u01/app/oracle/product/10.2.0/db_1
RECOMMENDED DIRECTORY STRUCTURE:
[Oracle Base Directory:]
/u01/app/oracle
/u01/app/orauser
/opt/oracle/app/oracle
[Oracle Inventory Directory:]
ORACLE_BASE/oraInventory
[Oracle Home Directory:]
ORACLE_BASE/product/10.2.0/db_1
[Identify an existing oracle base directory:]
#more /var/opt/oracle/oraInst.loc
[the output should be:]
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
# more /var/opt/oracle/oratab
*:/u03/app/oracle/product/10.2.0/db_1:N
*:/opt/orauser/infra_904:N
*:/oracle/9.2.0:N

COMMON INSTALLATION ERROR:


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

UX: useradd: ERROR: Inconsistent password files. See pwconv(1M)


This is because the /etc/passwd and /etc/shadow files are out of synchronization on your
machine. [CSCdi74894]
To fix this, run the pwconv command, and then rerun cwconfigure.
try to run:
wc -l /etc/passwd /etc/shadow

ERROR 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 theinstallation, 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.
Cant 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 failedcompilation aborted at
/usr/sbin/projadd line 19.

Solution: Install the SUNWpool SUNWpoolr packages.

bash-3.00$ /u01/app/oracle/product/10.2.0/db_1/bin/./emctl start dbconsole


Exception in getting local host
java.net.UnknownHostException: -a: -a
at java.net.InetAddress.getLocalHost(InetAddress.java:1191)
at oracle.sysman.emSDK.conf.TargetInstaller.getLocalHost(TargetInstaller.java:4977)
at oracle.sysman.emSDK.conf.TargetInstaller.main(TargetInstaller.java:3758)
Exception in getting local host
Solution : check server hostname and /etc/hosts
UNINSTALL ORACLE 10G:

1. remove all database, by running $dbca


2. stop any oracle process running:
Database Control : $ORACLE_HOME/bin/emctl stop dbconsole
Oracle Net listener : $ORACLE_HOME/bin/lsnrctl stop
iSQL*Plus : $ORACLE_HOME/bin/isqlplusctl stop
Ultra Search : $ORACLE_HOME/bin/searchctl stop
3. Start Oracle Universal installer:
$ORACLE_HOME/oui/bin/runInstaller
4. In the Welcome window, click Deinstall Products.
5. In the Inventory screen, select the Oracle home and the products that you want to
remove,
then click Remove.

99 Replies

1.

BJones
October 31, 2007 at 2:33 am

Very good documentation.


Reply

2.

felix
December 21, 2007 at 1:23 pm

Hi AZIZ !
Thank you very much for this helpful installation guide for solaris x86. this is
what i call a real practical and state-of-the-art guide. I printed it out and its a
pretty layout as well. so thank you very much for your time and effort to publish
these!
kind [ +cold!] regards from switzerland
felix
Reply

3.

Aziz
December 27, 2007 at 1:54 am

Youre welcome Felix


Reply

4.

Donny
January 11, 2008 at 12:03 am

Excellent documentation, I used this information on sparc systems.


Reply

5.

madhukar
January 24, 2008 at 1:55 am

Hi Aziz,

Can you provide me STEP BY STEP procedure of oracle 9.2.0.1 installation on


Solaris 10 ..
Madhukar
Reply

6.

Aziz
January 30, 2008 at 2:31 am

@madhukar
Step-by-step Oracle 9.i Installation for Solaris/Unix:
1).Create a Unix group that will be used by the Oracle software owner and
database administrators. You can call it anything you like, but the standard is
dba. You can use the admintool, or you can create your dba group with a
command like:
groupadd -g 300 dba
2).Create a Unix group that will be used by the Oracle software owner. You can
call it anything you like, but the standard is oinstall. If you will be installing
Oracle on multiple servers on your network, you might want to keep the groupid
the same on all servers. You can use the admintool, or you can create your oinstall
group with a command like:
groupadd -g 301 oinstall
3).Create a Unix user that will be the Oracle software owner. You can call it
anything you like, but the standard is oracle.
4).Note that this users home directory will not be the ORACLE_HOME or where
the actual Oracle software is installed; this users home directory should be in the
same place as other users home directories. You should make oinstall the primary
group and dba the secondary group. You can create your oracle user with the
admin tool, or with commands like:
useradd -c Oracle software owner -d /home/oracle -g oinstall -G dba -m -u 300
-s /bin/ksh oracle
#passwd oracle

5).mount CDROM:
mount -r -F hsfs device_name /cdrom
6).Set your DISPLAY variable to the IP address of your X server plus the X server
and screen numbers. EXAMPLE:
xhost 10.32.25.147
DISPLAY=10.32.25.147:0.0
export DISPLAY
7).Run installer:
#su oracle
$cd /tmp
$/cdrom/disk1/./runInstaller
8).u need to run : /tmp/orainstRoot.sh after choose the Unix Group for Oracle
software owner
9).Click NEXT, and follow the screen dialog till finish

10

You might also like