Configuring Red Hat Enterprise Linux 5 on VMware

advertisement
Configuring Red Hat
Enterprise Linux 5 on VMware
before Oracle 11gR2
installation
Login as root and connect
the installation DVD.
[root@localhost ~]# cd “/media/Enterprise Linux dvd 20100405/Server”
[root@localhost Server]# rpm -Uvh binutils-2.*
[root@localhost Server]# rpm -Uvh compat-libstdc++-33*
[root@localhost Server]# rpm -Uvh elfutils-libelf-0*
[root@localhost Server]# rpm -Uvh elfutils-libelf-devel-*
[root@localhost Server]# rpm -Uvh elfutils-libelf-devel-static-*
[root@localhost Server]# rpm -Uvh gcc-4.*
[root@localhost Server]# rpm -Uvh gcc-c++*
[root@localhost Server]# rpm -Uvh glibc-2.*
[root@localhost Server]# rpm -Uvh glibc-common-2.*
[root@localhost Server]# rpm -Uvh glibc-devel-2.*
[root@localhost Server]# rpm -Uvh glibc-headers-2.*
[root@localhost Server]# rpm -Uvh unixODBC-devel-2.*
Open a terminal window and install additional required packages.
[root@localhost Server]# rpm -Uvh kernel-headers*
[root@localhost Server]# rpm -Uvh kernel-debug*
[root@localhost Server]# rpm -Uvh ksh-2*
[root@localhost Server]# rpm -Uvh libaio-0.*
[root@localhost Server]# rpm -Uvh libaio-devel-0.*
[root@localhost Server]# rpm -Uvh libgcc-4.*
[root@localhost Server]# rpm -Uvh libgomp*
[root@localhost Server]# rpm -Uvh libstdc++-4.*
[root@localhost Server]# rpm -Uvh libstdc++-devel-4.*
[root@localhost Server]# rpm -Uvh make-3.*
[root@localhost Server]# rpm -Uvh oracleasm*
[root@localhost Server]# rpm -Uvh oracleasm-support*
[root@localhost Server]# rpm -Uvh sysstat-7.*
[root@localhost Server]# rpm -Uvh unixODBC-2.*
install additional required packages (continue).
Modify /etc/xinetd.d/gssftp to allow ftp logins by root (remove -a
option.)
Restart xinetd.
[root@localhost ~]# mkdir /u01/staging
[root@localhost ~]# chown grid:oinstall /u01/staging
<FTP TRANSFER>
[root@localhost ~]# cd /u01/staging
[root@localhost staging]# ls ora*
oracleasmlib-2.0.4-1.el5.i386.rpm
[root@localhost staging]# rpm -Uvh oracleasmlib-2.0.4-1.el5.i386.rpm
Create /u01/staging directory, transfer oracleasmlib-2.0.4-1.el5.i386.rpm file
there using FTP (or any other method), and install the package.
Why install VMware tools?
• Improved video performance
• Mouse synchronization with host OS
• Improved mouse performance
• Copy and paste between host OS and guest OS
• Not required to be installed
Install VMware Tools.
Install VMware Tools (continue).
Run vmware-config-tools.pl script.
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
groupadd -g 504 asmadmin
groupadd -g 505 asmdba
groupadd -g 506 asmoper
useradd -m -d /home/oracle -u 501 -g oinstall -G dba,oper,asmdba -s /bin/bash -c "Oracle Software Owner" oracle
useradd -m -d /home/grid -u 502 -g oinstall -G asmadmin,asmdba,asmoper -s /bin/bash -c "Grid Infrastructure Owner" grid
Create users and groups.
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db1
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
passwd grid
passwd oracle
Create filesystem directory structure; set proper
ownerships and permissions. Set passwords for
users grid and oracle.
/etc/security/limits.conf:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
/etc/pam.d/login
session required /lib/security/pam_limits.so
Increase shell limits for user oracle.
/etc/sysctl.conf
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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 = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
Execute the following command:
/sbin/sysctl -p
Modify kernel parameters and activate changes at runtime.
/etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=600
/etc/rc.local
/sbin/modprobe hangcheck-timer
Execute the following command:
/sbin/modprobe -v hangcheck-timer
Configure hangcheck timer kernel module and activate
changes at runtime.
127.0.0.1
localhost.localdomain
localhost
10.66.0.226
tom.localhost tom
10.66.0.228
tom-vip.localhost tom-vip
10.10.10.26
tom-priv.localhost tom-priv
10.66.0.227
jerry.localhost jerry
10.66.0.229
jerry-vip.localhost jerry-vip
10.10.10.27
jerry-priv.localhost jerry-priv
10.66.0.230
acme.localhost
acme
Modify /etc/hosts. Replace the IP addresses to your IP addresses.
/etc/udev/rules.d/50-udev.rules
KERNEL=="sdb1", OWNER="grid", GROUP="oinstall", MODE="0640"
KERNEL=="sdc1", OWNER="grid", GROUP="oinstall", MODE="0640"
KERNEL=="sdd1", OWNER="grid", GROUP="oinstall", MODE="0640"
KERNEL=="sde1", OWNER="grid", GROUP="oinstall", MODE="0640"
Activate the change at runtime by execuing:
/sbin/start_udev
Assign rules to control ownership and permission attributes on
shared storage devices.
/etc/profile (and/or /etc/bashrc)
if [ \$USER = "oracle" ] || [ \$USER = "grid" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Increase user limits for users grid and oracle.
1.
Rename the original nslookup file to nslookup.orig:
mv /usr/bin/nslookup /usr/bin/nslookup.orig
2. Create the new nslookup file with the contents below:
#!/bin/bash
# Replace 10.66.0.114 with your primary DNS
# Replace 10.66.0.230 with your SCAN IP address
HOSTNAME=${1}
if [[ $HOSTNAME = "acme" ]]; then
echo "Server:
10.66.0.114"
echo "Address:
10.66.0.114#53"
echo "Non-authoritative answer:"
echo "Name:
acme"
echo "Address: 10.66.0.230"
else
/usr/bin/nslookup.orig $HOSTNAME
fi
3.
Change the privileges on the newly created file:
chmod 755 /usr/bin/nslookup
"Hack" nslookup to avoid installation errors.
Format shared storage drives sdb and sdc using fdisk command
.
Repeat for storage drives sdd and sde.
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original
rm /var/run/ntpd.pid
chkconfig --list ntpd
Deactivate the NTP service.
•
Shutdown virtual machine tom.
•
Create Windows directory C:\Virtual Machines\jerry
•
Copy all contents of C:\Virtual Machines\tom to C:\Virtual Machines\jerry
•
Rename all files with names that contain string “tom” to replace it with “jerry”.
•
Edit file C:\Virtual Machines\jerry\jerry.vmx and replace all occurrences of string “tom” with string “jerry”.
•
Go to the VMware Server Home Page.
•
Click on “Add Virtual Machine to Inventory” in the “Commands” section.
•
Select "standard" -> "jerry" -> "jerry.vmx" and click "OK".
•
Select “I _copied it” on the warning pane and click “OK”
Create new virtual machine jerry as a copy of virtual machine tom.
Start newly created Virtual Machine "jerry". Login as root and open
Network Configuration window.
Deactivate and delete entries for eth0.bak and eth1.bak.
Edit “eth0”. On the “Ceneral” tab enter the “Address” and
“Subnet mask” to match the entries in /etc/hosts.
On the “Hardware Device” tab click on “Probe” button, then click
“OK”.
Repeat for “eth1”.
Repeat for “eth1” (continue).
On the DNS tab, specify “Hostname”, “DNS search path”,
“Primary DNS”, “Secondary DNS”, and "DNS search
path" fields. The last 3 are optional.
1.
2.
<Ctl-S>; <Ctl-Q>
service network restart
Save network configuration and exit Network
Configuration window. Restart the network.
Start tom, login as root, and run "oracleasm configure -i"
command to configure the Oracle ASM library driver.
Run “oracleasm init” to load ASMLib kernel module and
create/mount ASMlib filesystem.
Run "oracleasm createdisk" command to create 4
disks, CRS, DATA1, DATA2, and FRS1.
Restart "jerry" and repeat the first 2 steps
Then run “oracleasm scandisks” to
recognize the new volumes.
user grid:
export EDITOR=vi
export ORACLE_SID=+ASM1
export JAVA_HOME=/usr/bin/java
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_HOSTNAME=tom.localhost
export PATH=.:$JAVA_HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TMP=/tmp
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
Modify .bashrc for user grid on "tom".
user oracle:
export EDITOR=vi
export ORACLE_SID=acmedb11
export ORACLE_UNQNAME=acmedb
export JAVA_HOME=/usr/bin/java
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_HOSTNAME=tom.localhost
export PATH=.:$JAVA_HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TMP=/tmp
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
Modify .bashrc for user oracle on "tom".
user grid:
export EDITOR=vi
export ORACLE_SID=+ASM2
export JAVA_HOME=/usr/bin/java
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_HOSTNAME=tom.localhost
export PATH=.:$JAVA_HOME/bin:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TMP=/tmp
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
Modify .bashrc for user grid "jerry".
user oracle:
export EDITOR=vi
export ORACLE_SID=acmedb12
export ORACLE_UNQNAME=acmedb
export JAVA_HOME=/usr/bin/java
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_HOSTNAME=tom.localhost
export PATH=.:$JAVA_HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
export TMP=/tmp
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
Modify .bashrc for user oracle on "jerry".
The system is now ready for Oracle
Grid 11gR2 installation!
Download