Oracle Installation under Mac OS X (Leopard)
Initial preparation
Install Xcode
Then you need to create oracle user as well as increase default kernel parameters. Open Terminal and switch to root user:
sudo -i
Create oinstall group and oracle user (I used group and user number 600 to ensure that they do not collide with existing groups and users):
dscl . -create /groups/oinstall
dscl . -append /groups/oinstall gid 600
dscl . -append /groups/oinstall passwd "*"
dscl . -create /users/oracle
dscl . -append /users/oracle uid 600
dscl . -append /users/oracle gid 600
dscl . -append /users/oracle shell /bin/bash
dscl . -append /users/oracle home /Users/oracle
dscl . -append /users/oracle realname "Oracle software owner"
mkdir /Users/oracle
chown oracle:oinstall /Users/oracle
Change password for oracle user:
passwd oracle
Change default kernel parameters:
vi /etc/sysctl.conf
and enter values recommended by Oracle:
kern.sysv.semmsl=87381
kern.sysv.semmns=87381
kern.sysv.semmni=87381
kern.sysv.semmnu=87381
kern.sysv.semume=10
kern.sysv.shmall=2097152
kern.sysv.shmmax=2197815296
kern.sysv.shmmni=4096
kern.maxfiles=65536
kern.maxfilesperproc=65536
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65000
kern.corefile=core
kern.maxproc=2068
kern.maxprocperuid=2068
After this reboot your computer so that these new kernel parameters would be taken into effect. After reboot open again Terminal and now login as oracle user:
su - oracle
Set shell settings in .bash_profile
vi .bash_profile
and enter
export DISPLAY=:0.0
export ORACLE_BASE=$HOME
umask 022
ulimit -Hn 65536
ulimit -Sn 65536
Now execute this script so that these settings are applied to current shell:
. ./.bash_profile
Now you are ready to start installation:
./runInstaller
Installation
In installation wizard I selected the following options:
- Advanced Installation – so that I can change some default options
- Standard Edition – as I don’t need additional features of Enterprise Edition
- Create Database / General Purpose
- Global database name: orcl, SID: orcl
- Character set: UTF-8 AL32UTF8
- Create database with sample schemas
- Selected “Use the same password for all the accounts” – do not specify default “manager” password as it will not be allowed
- Password Management – selected this to unlock necessary sample accounts (e.g. HR schema account that I use as default test schema)
At the end of installation you will be instructed to run one shell script from root.
If you will use oracle user later then add the following lines to .bash_profile of oracle user:
export ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
export DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=ORCL
PATH=$PATH:$ORACLE_HOME/bin
Then create startup script for Oracle database:
mkdir /Library/StartupItems/Oracle
cd /Library/StartupItems/Oracle
vi Oracle
and enter the following:
#!/bin/sh
# Suppress the annoying "$1: unbound variable" error when no option
# was given
if [ -z $1 ] ; then
echo "Usage: $0 [start|stop|restart] "
exit 1
fi
# source the common startup script
. /etc/rc.common
# Change the value of ORACLE_HOME to specify the correct Oracle home
# directory for the installation
ORACLE_HOME=/Users/oracle/oracle/product/10.2.0/db_1
DYLD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_HOME DYLD_LIBRARY_PATH
# change the value of ORACLE to the login name of the
# oracle owner at your site
ORACLE=oracle
PATH=$PATH:$ORACLE_HOME/bin
# Set shell limits for the Oracle Database
ulimit -Hu 2068
ulimit -Su 2068
ulimit -Hn 65536
ulimit -Sn 65536
StartService()
{
ConsoleMessage "Starting Oracle Databases"
su $ORACLE -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
}
StopService()
{
ConsoleMessage "Stopping Oracle Databases"
su $ORACLE -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
}
RestartService()
{
StopService
StartService
}
RunService "$1"
and then make this script executable
chmod a+x Oracle
and in addition create properties file:
vi StartupParameters.plist
with the following contents:
{
Description = "Oracle Database Startup";
Provides = ("Oracle Database");
Requires = ("Disks");
OrderPreference = "None";
} Now you can verify that these scripts are working. Open new terminal and try
sudo /System/Library/StartupItems/Oracle/Oracle stop
to stop the database and
sudo /System/Library/StartupItems/Oracle/Oracle start
After computer reboot you probably noticed that now you got oracle user in initial login window. To get rid of it execute this from terminal:
sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add oracle
reboot the system

0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home