<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title></title>
</head>
<body>
This is just a listing of steps taken to create a fully functionaly
Oracle VE.
Create the VE on the
Hardware Node (HN)
vzctl create 1001 --ostemplate centos-4-i386-default
vzctl set 1001 --userpasswd root:password --save
vzctl set 1001 --hostname ve-oracle.example.com --save
vzctl set 1001 --ipadd 192.168.0.62 --save
Reset resource limits
I decided to have max limits to avoid porblems during installation.
Once the installation is
done and the system left running for some time, these limits can be
adjusted.
vzctl set 1001 --kmemsize 2147483647:2147483647 --save
vzctl set 1001 --lockedpages 2147483647:2147483647 --save
vzctl set 1001 --privvmpages 2147483647:2147483647 --save
vzctl set 1001 --shmpages 2147483647:2147483647 --save
vzctl set 1001 --dummy 2147483647:2147483647 --save
vzctl set 1001 --numproc 2147483647:2147483647 --save
vzctl set 1001 --physpages 2147483647:2147483647 --save
vzctl set 1001 --vmguarpages 2147483647:2147483647 --save
vzctl set 1001 --oomguarpages 2147483647:2147483647 --save
vzctl set 1001 --numtcpsock 2147483647:2147483647 --save
vzctl set 1001 --numflock 2147483647:2147483647 --save
vzctl set 1001 --numpty 2147483647:2147483647 --save
vzctl set 1001 --numsiginfo 2147483647:2147483647 --save
vzctl set 1001 --tcpsndbuf 2147483647:2147483647 --save
vzctl set 1001 --tcprcvbuf 2147483647:2147483647 --save
vzctl set 1001 --othersockbuf 2147483647:2147483647 --save
vzctl set 1001 --dgramrcvbuf 2147483647:2147483647 --save
vzctl set 1001 --numothersock 2147483647:2147483647 --save
vzctl set 1001 --dcachesize 2147483647:2147483647 --save
vzctl set 1001 --numfile 2147483647:2147483647 --save
vzctl set 1001 --numiptent 2147483647:2147483647 --save
Start the VE
vzctl start 1001
Update /etc/resolv.conf on the VE
search example.com
nameserver <ip address of your name server>
Install Required Packages
vzyum 1001 install binutils compat-db gcc gcc-c++ glibc glibc-common
libstdc++ libstdc++-devel gnome-libs make pdksh sysstat libaio
xscreensaver openmotif21
vzyum 1001 install xorg-x11-xfs usbutils urw-fonts shared-mime-info
perl-libwww-perl perl-XML-Parser perl-URI perl-HTML-Tagset
perl-HTML-Parser patch
vzyum 1001 install lvm2 intltool libIDL libart_lgpl libbonobo xterm
libcap libcroco libgnomecanvas libexif libgnomecups libgnomeprint22
libsoup libwnck libxklavier
Check the following rpms are installed on the VE
vzctl exec 1001 rpm -q binutils gcc gcc-c++ glibc gnome-libs libstdc++
libstdc++-devel make pdksh sysstat xscreensaver libaio
Add Oracle User/Group
vzctl exec 1001 /usr/sbin/groupadd oinstall
vzctl exec 1001 /usr/sbin/groupadd dba
vzctl exec 1001 /usr/sbin/useradd -m -g oinstall -G dba oracle
vzctl exec 1001 id oracle
Set Password for the Oracle user
vzctl exec 1001 passwd oracle
Create Directories for Oracle Home/Data and the download directory
vzctl exec 1001 mkdir /home/oracle/10gR2_db
vzctl exec 1001 mkdir -p /u01/app/oracle/product/10.2.0/db_1
vzctl exec 1001 mkdir /u01/app/oracle/oradata
vzctl exec 1001 chown -R oracle:oinstall /u01/app/oracle
/home/oracle/10gR2_db
vzctl exec 1001 chmod -R 775 /u01/app/oracle /home/oracle/10gR2_db
vzctl exec 1001 ln -s /usr/lib/libstdc++.so.6.0.3
/usr/lib/libstdc++.so.5
Put these values in /etc/sysctl.conf on the HN
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
Execute on the HN
/sbin/sysctl -p
At this point the VE is ready for Oracle installation.
We take a backup of the VE at this point in case we need to rebuild the
system or do a clean Oracle install
Shutdown the VE and take a backup
vzctl stop 1001
cd /u01/backups
tar czpvf ve-1001-preOracle.tar.gz /vz/private/1001/
/etc/vz/conf/1001.conf
Start VE again
vzctl start 1001
Copy the downloaded Oracle zip file to the VE and change its
ownership to oracle on the VE
cp /u01/software/10201_database_linux32.zip
/vz/private/1001/home/oracle/10gR2_db/
vzctl exec 1001 chown oracle:oinstall
/home/oracle/10gR2_db/10201_database_linux32.zip
Now login as oracle on the ve-1001
cd /home/oracle/10gR2_db
unzip 10201_database_linux32.zip
cd database/
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export DISPLAY=192.168.0.149:0
Make sure u can run xterm
./runInstaller
When prompted to run scripts as root. Login as root and execute
export DISPLAY=192.168.0.149:0
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh
Update oracle's profile with the following
cd
vi /home/oracle/.bashrc
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=orcl
Delete installation files (optional)
cd /home/oracle/10gR2_db
rm -rf database
Time to take another backup of the VE on the HN node.
This backup will allow you to restore the VE to the point where no
database has yet been created.
vzctl stop 1001
cd /u01/backups
tar czpvf ve-1001-postOracleSoftware.tar.gz /vz/private/1001/
/etc/vz/conf/1001.conf
Start VE
vzctl start 1001
Login as oracle and create the database
export DISPLAY=192.168.0.149:0
dbca
Create listener
netca
Now take another backup on the HN node
vzctl stop 1001
cd /u01/backups
tar czpvf ve-1001-postOracleDatabase.tar.gz /vz/private/1001/
/etc/vz/conf/1001.conf
</body>
</html>