srijeda, 13. lipnja 2012.

Short notes on installing Oracle Grid Standalone Server and DB 11GR2 on Vmware ESXi

These are short notes what is needed to do to install:
           - Oracle Grid Standalone Server 11.2.0.2
           - Oracle Database 11GR2 11.2.0.2

Infrastructure:
ESXi VMware v 3.5
Oracle EL 5.8
MEM 4GB
LAN 10GB
Disks 2x40 GB VHD

Installation steps:

Demands for a SWAP space:

                RAM Swap Space:

                               Between 1 GB and 2 GB 1.5 times the size of the RAM

                               Between 2 GB and 16 GB Equal to the size of the RAM

                               More than 16 GB 16 GB



1.       Enabling wget over proxy so we can get YUM public repository files:



Set http_proxy=http://proxy:port/ or http_proxy=ip:port

Set use_proxy=on



2.       Next step is to install YUM Public



# http_proxy=ip:port                    (-- This can be entered in shell_profile file)

# export http_proxy

# cd /etc/yum.repos.d

# wget http://public-yum.oracle.com/public-yum-el5.repo



Edit .repo file by putting "1" instead "0" in enabled lines for each repository that you want to use.



3.       Install FTP:

# yum install ftp.i386

# yum install vsftp*



/etc/xinetd.d/vsftpd. Should look like this:

service ftp

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/sbin/vsftpd

server_args = /etc/vsftpd/vsftpd.conf

nice = 10

per_source = 5

instances = 50

log_on_success += PID HOST DURATION

log_on_failure += HOST

}



 Add "vsftpd: ALL" to /etc/hosts.allow. Replace "ALL" with your subnet, machine list, or whatever if you don't want everyone to be able to connect. ALL will let every machine connect, but you still need a login and password.



If you want to ftp as root or any other user that is normally restricted, remove them from /etc/vsftpd/ftpusers and in /etc/vsftpd/user_list.



# service iptables stop

# chkconfig iptables off



4.       Install MC:



# yum install mc



5.       Install Grid Standalone:



5.1 Checking if there is enough space in /tmp (minimum 1GB)

                              

                                # df -h /tmp



5.2. Checking the size of shared memory (/dev/shm)



                               # df -h /dev/shm/



Reason: If you use AMM (paremeters: MEMORY_MAX_TARGET and MEMORY_TARGET ) then value of those parameters must be lower than shared memory.

How to resize shared memory:

                              

# mount -t tmpfs shmfs -o size=7g /dev/shm

                               # add to /etc/fstab --> shmfs /dev/shm tmpfs size=7g 0



5.3. Checking disk size for DB installation:



                # df -h



Recommended Size:

·         Installation Type Requirement for Software Files (GB)

§  Enterprise Edition 3.95

§  Standard Edition 3.88



·         Installation Type Disk Space for Data Files (GB)

§  Enterprise Edition 1.7

§  Standard Edition 1.5

                                                                                                             

5.4.  Package requirements

Ssome of packages mentioned in installation guide will be installed as dependenices of these):



                                # yum install binutils*

                               # yum install compat-libstdc*

                               # yum install elfutils*

                               # yum install gcc*

                               # yum install ksh*

                               # yum install pdksh*

                               # yum install libaio*

                                                              

5.5.  Installation unixODBC drivers:



                                # yum install unixOD*

                                              

5.6. Setup UDP and TCP Kernel Parameters



                               # cat /proc/sys/net/ipv4/ip_local_port_range --> check ports range

                               # vi /etc/sysctl.conf

                                               net.ipv4.ip_local_port_range = 9000 65500

                               # service network restart



5.7. Create install groups and users:



                               # groupadd oinstall

                               # groupadd -g 502 dba

                               # groupadd -g 503 oper

                               # groupadd -g 504 asmadmin

                               # groupadd -g 506 asmdba

                               # groupadd -g 505 asmoper

                               # useradd -u 502 -g oinstall -G dba,asmdba oracle

                               # passwd oracle

                              

5.8. Setting resource shell limits

                              

                               Add proceeding lines in vi /etc/security/limits.conf :

                               oracle              soft    nproc   2047

                               oracle              hard    nproc   16384

                               oracle              soft    nofile  1024

                               oracle              hard    nofile  65536

                               oracle              soft    stack   10240

                              

5.9. Set kernel parameters (minimum values - suggestion is to tune them on production)



                               If not set adjust next valuse in /etc/sysctl.conf

                                fs.aio-max-nr = 1048576

                                fs.file-max = 6815744

                                kernel.shmall = 2097152

                                kernel.shmmax = 4294967295

                                kernel.shmmni = 4096

                                kernel.sem = 250 32000 100 128

                                net.ipv4.ip_local_port_range = 9000 65500

                                net.core.rmem_default = 262144

                                net.core.rmem_max = 4194304

                                net.core.wmem_default = 262144

                                net.core.wmem_max = 1048576

                                              

                                # sysctl -p --> change parameters

                                # sysctl -a --> verify



5.10. Creating base directory:

               

                                # mkdir -p /u01/app/oracle

                               # chown -R oracle:oinstall /u01/app/oracle

                               # chmod -R 775 /u01/app/oracle

                               

5.11. Installing and Configuring the Automatic Storage Management Library Driver Software:

               

                               #yum install oracleasm*

                              

5.12. Using OracleASM to "mark" disks we should use as ASM disks:

                              

                                # fdisk -l /dev/sdb

                               # fdisk /dev/sdb

                               # dd if=/dev/zero of=/dev/sdb1

                               # oracleasm createdisk DISK1 /dev/sdb1

                              

5.13. Installing CVU (Cluster verify utility package exists in installation package):



                               # rpm -Uvh cvuqdisk-1.0.7-1.rpm

                                              

5.14. Installing Grid Standalone Server :

 Use manuals that comes with software distribution. It's NNF (Next-Next-Finish) method with some answers to write (passwords, ORACLE_BASE, ORACLE_HOME)

                                              

5.15. During the instalation Oracle DB software asks to execute some scripts as root user: When you try to execute: /u01/app/oracle/product/11.2.0/grid/root.sh

this error may appear:  "/u01/app/oracle/product/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory"

                Solution is to:

                               # yum install compat-libcap1.i686

                               # yum install oracle-valida*





If we need to redo root.sh script first we need to ininstall CRS configuration



#/u01/app/oracle/product/11.2.0/grid/crs/install/rootcrs.pl -deconfig -force



                                              

5.16. After Instaling Grid Standalone server if you want to install Oracle Database 11GR2 on same server you need to:



                               # yum install kernel-devel.i686                                

                               # yum install kernel-uek-devel kernel-uek-headers

                                              

                                              

5.17. Problem that may be shown after installation database when we try to use sqlplus:



"sqlplus: error while loading shared libraries: /u01/app/11.2.0/grid/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied. (You should also see these errors in the logfile $ORACLE_HOME/cfgtoollogs/crsconfig/rootcrs_$HOSTNAME.log )

To resolve, deconfigure the Oracle clusterware stack, change the SELinux security context of the shared library and re-run root.sh. Everything as the root user:"



Solution:

               

                                # su - root

                                # $ORACLE_HOME/crs/install/rootcrs.pl -verbose -deconfig -force

                                # chcon -t textrel_shlib_t /u01/app/11.2.0/grid/lib/libclntsh.so.11.1

                                # $ORACLE_HOME/root.sh



5.18. Install Apache:

               

                                # yum install http*

                                # service httpd start

                                # chkconfig httpd on



5.19. Install webmin:

               

                                # rpm -Uvh webmin-1.580-1.noarch.rpm






ponedjeljak, 11. lipnja 2012.

Space Leak" when shutting down db 11GR2

When i try to shut down database 11.2.0.2 (immediate, as sysdba) i got the error : ORA-600 [729][][].....

Metalink posts on that topic:
  A space leak has been detected in the User Global Area (UGA).
There is NO data corruption as a result of this error.
It is an internal memory housekeeping problem.

And solution is to:

Set the following in init.ora for example to disable space
  leaks less than 4000 bytes:

event = "10262 trace name context forever, level 4000"

and stop and restart the database.

On test machine i did not wait  shutdown immediate to finish and instead executed shutdown abort.
After that database was restarted normally.