Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Oracle 10g VE

147 bytes added, 19:50, 11 October 2011
m
Reverted edits by 109.227.76.113 (talk) to last revision by Kir
This is just a listing of steps taken to create a fully functional
Oracle VEcontainer.<br><br><span style="font-weight: bold;">= Create the VE container on the[[host system]] ==Hardware Node (HN)</span><br><br> vzctl create 1001 --ostemplate centos-4-i386-default<br> vzctl set 1001 --userpasswd root:password --save<br> vzctl set 1001 --hostname ve-oracle.example.com --save<br> vzctl set 1001 --ipadd 192.168.0.62 --save<br><br><span style="font-weight: bold;">= Reset resource limits</span><br>==<br>I decided to have max limits to avoid porblems problems during installation.Once the installation is<br>done and the system left running for some time, these limits can should beadjusted.<br><br>{{Note|setting the UBC limits to "unlimited" value like below can only be done on a trusted single-container machine, and can create problems. For more info about UBC, see [[Resource shortage]] and [[UBC]].}} {{Inconsistent UBC warning}}  vzctl set 1001 --kmemsize 2147483647:2147483647 unlimited --save<br> vzctl set 1001 --lockedpages 2147483647:2147483647 unlimited --save<br>  vzctl set 1001 --privvmpages 2147483647:2147483647 unlimited --save<br> vzctl set 1001 --shmpages 2147483647:2147483647 unlimited --save<br> vzctl set 1001 --dummy 2147483647:2147483647 numproc unlimited --save<br> vzctl set 1001 --numproc 2147483647:2147483647 numtcpsock unlimited --save<br> vzctl set 1001 --physpages 2147483647:2147483647 numflock unlimited --save<br> vzctl set 1001 --vmguarpages 2147483647:2147483647 numpty unlimited --save<br> vzctl set 1001 --oomguarpages 2147483647:2147483647 numsiginfo unlimited --save<br>  vzctl set 1001 --numtcpsock 2147483647:2147483647 tcpsndbuf unlimited --save<br> vzctl set 1001 --numflock 2147483647:2147483647 tcprcvbuf unlimited --save<br> vzctl set 1001 --numpty 2147483647:2147483647 othersockbuf unlimited --save<br> vzctl set 1001 --numsiginfo 2147483647:2147483647 dgramrcvbuf unlimited --save<br> vzctl set 1001 --tcpsndbuf 2147483647:2147483647 numothersock unlimited --save<br> vzctl set 1001 --tcprcvbuf 2147483647:2147483647 dcachesize unlimited --save<br> vzctl set 1001 --othersockbuf 2147483647:2147483647 numfile unlimited --save<br> vzctl set 1001 --dgramrcvbuf 2147483647:2147483647 numiptent unlimited --save<br>vzctl set 1001 --numothersock 2147483647:2147483647 --save<br>vzctl Or you can set these limits in your <code>/etc/vz/conf/1001 --dcachesize 2147483647.conf</code> file:2147483647 --save {{Inconsistent UBC warning}}<brpre>vzctl set 1001 --numfile 2147483647:2147483647 --save<br># Primary parametersAVNUMPROC="unlimited"NUMPROC="unlimited"vzctl set 1001 --numiptent 2147483647:2147483647 --save<br>NUMTCPSOCK="unlimited"NUMOTHERSOCK="unlimited"<br>VMGUARPAGES="unlimited"'''Start the VE'''<br><br># Secondary parametersvzctl start 1001<br>KMEMSIZE="unlimited"TCPSNDBUF="unlimited"<br>TCPRCVBUF="unlimited"<br>OTHERSOCKBUF="unlimited"'''Update /etc/resolv.conf on the VE'''<br>DGRAMRCVBUF="unlimited"OOMGUARPAGES="unlimited"<br>search example.com<br># Auxiliary parametersnameserver &lt;ip address of your name server&gt;<br>LOCKEDPAGES="unlimited"<br>SHMPAGES="unlimited"<br>PRIVVMPAGES="unlimited"'''Install Required Packages'''<br>NUMFILE="unlimited"NUMFLOCK="unlimited"NUMPTY="unlimited"NUMSIGINFO="unlimited"DCACHESIZE="unlimited" PHYSPAGES="unlimited"NUMIPTENT="unlimited"<br/pre>vzyum == Start the container == vzctl start 1001 install binutils compat-db gcc gcc-c++ glibc glibc-commonlibstdc++ libstdc++-devel gnome-libs make pdksh sysstat libaioxscreensaver openmotif21== Update <code>/etc/resolv.conf<br/code>on the container ==vzyum 1001 install xorg-x11-xfs usbutils urw-fonts shared-mime-infoperl-libwww-perl perl-XML-Parser perl-URI perl-HTML-TagsetPut the following into your container's /etc/resolv.conf:perl-HTML-Parser patch <br>vzyum 1001 install lvm2 intltool libIDL libart_lgpl libbonobo xterm search example.comlibcap libcroco libgnomecanvas libexif libgnomecups libgnomeprint22libsoup libwnck libxklavier nameserver <brip address of your name server>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>== Install Required Packages ==&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;<br>'''Check the following rpms are installed on the VE'''<br><br>vzctl exec 1001 rpm -q binutils gcc gcc- vzyum 1001 install binutils compat-db gcc gcc-c++ glibc gnome\ glibc-libs common libstdc++libstdc++-devel make gnome-libs make \ pdksh sysstat libaio xscreensaver libaio<br>openmotif21 xorg-x11-xfs \<br><br>'''Add Oracle User/Group'''<br> usbutils urw-fonts shared-mime-info perl-libwww-perl \<br>vzctl exec 1001 /usr/sbin/groupadd oinstall<br> perl-XML-Parser perl-URI perl-HTML-Tagset perl-HTML-Parser \vzctl exec 1001 /usr/sbin/groupadd dba<br> patch lvm2 intltool libIDL libart_lgpl libbonobo xterm \ libcap libcroco libgnomecanvas libexif libgnomecups \ libgnomeprint22 libsoup libwnck libxklavier == Check the following rpms are installed on the container ==vzctl exec 1001 /usr/sbin/useradd -m -g oinstall -G dba oracle<br> vzctl exec 1001 id oracle<br>rpm -q binutils gcc gcc-c++ glibc gnome-libs \<br>'''Set Password for the libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio == Add Oracle user'''<br>User/Group ==<br> vzctl exec 1001 passwd oracle<br>/usr/sbin/groupadd oinstall<br> vzctl exec 1001 /usr/sbin/groupadd dba'''Create Directories for Oracle Home/Data and the download directory'''<br><br>vzctl vzctl exec 1001 mkdir /homeusr/oraclesbin/10gR2_db<br>useradd -m -g oinstall -G dba oracle vzctl exec 1001 mkdir -p /u01/app/id oracle/product/10.2.0/db_1<br> == Set Password for the Oracle user ==  vzctl exec 1001 mkdir /u01/app/passwd oracle/oradata<br>vzctl exec 1001 chown -R oracle:oinstall == Create Directories for Oracle Home/u01/app/oracleData and the download directory ==  vzctl exec 1001 mkdir /home/oracle/10gR2_db<br> vzctl exec 1001 chmod mkdir -R 775 p /u01/app/oracle /homeproduct/oracle10.2.0/10gR2_db<br>db_1 vzctl exec 1001 ln -s mkdir /usru01/libapp/libstdc++.so.6.0.3oracle/oradata vzctl exec 1001 chown -R oracle:oinstall /u01/usrapp/liboracle /libstdc++.so.5<br><br>'''Put these values in home/etcoracle/sysctl.conf on the HN'''<br>10gR2_db vzctl exec 1001 chmod -R 775 /u01/app/oracle /home/oracle/10gR2_db<br>kernel vzctl exec 1001 ln -s /usr/lib/libstdc++.shmall = 2097152<br>kernelso.shmmax = 536870912<br>kernel6.shmmni 0.3 /usr/lib/libstdc++.so.5 = 4096<br>kernel.sem = 250 32000 100 128<br>fsPut these values in /etc/sysctl.file-max conf on the HN == 65536<br>net.ipv4Put these values in /etc/sysctl.ip_local_port_range conf on the HN:  kernel.shmall = 1024 65000<br>2097152net kernel.core.rmem_defaultshmmax =262144<br>536870912net kernel.core.wmem_defaultshmmni =262144<br>4096net kernel.core.rmem_maxsem =262144<br>250 32000 100 128net fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.wmem_maxrmem_default=262144<br><br> net.core.wmem_default=262144'''Execute net.core.rmem_max=262144 net.core.wmem_max=262144 Then execute on the HN'''<br>the following command:<br> /sbin/sysctl -p<br><br><br><br>At this point the VE container is ready for Oracle installation.<br>We take a backup of the VE container at this point in case we need to rebuild thesystem or do a clean Oracle install<br>.<br>'''== Shutdown the VE container and take a backup'''<br><br>==  vzctl stop 1001<br> cd /u01/backups<br> tar czpvf ve-1001-preOracle.tar.gz /vz/private/1001//etc/vz/conf/1001.conf<br><br>'''== Start VE the container again'''<br>==<br> vzctl start 1001<br><br>'''== Put oracle distro into the container == Copy the downloaded Oracle zip file to the VE container and change itsownership to "oracle " on the VE'''<br>container.<br> cp /u01/software/10201_database_linux32.zip/vz/private/1001/home/oracle/10gR2_db/<br> vzctl exec 1001 chown oracle:oinstall/home/oracle/10gR2_db/10201_database_linux32.zip<br><br>'''== Start installation == Now login as oracle on the ve-1001'''<br>, and run the following commands:<br> cd /home/oracle/10gR2_db<br> unzip 10201_database_linux32.zip<br> cd database/<br> export ORACLE_BASE=/u01/app/oracle<br> export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1<br> export DISPLAY=192.168.0.149:0<br><br>Make sure u you can run xterm<br>, then:<br> ./runInstaller<br><br>'''When prompted to run scripts as root. Login as root and execute'''<br><br> export DISPLAY=192.168.0.149:0<br> /u01/app/oracle/oraInventory/orainstRoot.sh<br> /u01/app/oracle/product/10.2.0/db_1/root.sh<br><br>'''Update oracle's profile with the following'''<br><br> cd<br> vi /home/oracle/.bashrc<br> export ORACLE_BASE=/u01/app/oracle<br> export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1<br> export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH<br> export PATH=$ORACLE_HOME/bin:$PATH<br> export ORACLE_SID=orcl<br><br><br> '''Delete installation files (optional)'''<br><br> cd /home/oracle/10gR2_db<br> rm -rf database<br><br>'''Time to take another backup of the VE container on the HN [[hardware node]].''' <br><br>This backup will allow you to restore the VE container to the point where nodatabase has yet been created.<br><br> vzctl stop 1001<br> cd /u01/backups<br> tar czpvf ve-1001-postOracleSoftware.tar.gz \ /vz/private/1001//etc/vz/conf/1001.conf<br><br><br>Start VE<br>Start the container   vzctl start 1001<br><br>'''Login as oracle and create the database'''<br><br> export DISPLAY=192.168.0.149:0<br> dbca<br><br><br>'''Create listener'''<br><br> netca<br><br>'''Now take another backup on the HN node'''<br><br> vzctl stop 1001<br> cd /u01/backups<br> tar czpvf ve-1001-postOracleDatabase.tar.gz \ /vz/private/1001//etc/vz/conf/1001.conf<br><br>== Oracle Help == * [http://www.orafaq.com/forum Ask questions on the Oracle Forum]* [http://www.orawiki.com/ Oracle Wiki] 
[[Category:HOWTO]]