The project process is as follows:
1. RAC Installation
1. Experimental Platform: Oracle 10gR2 RAC + RHEL 5.4 + VMware-server-1.0.9
2. installation steps:
(1) system requirements:
Operating System: Red Hat 5.0 or 5.4
Memory: 800 mb
Swap space: 2048 M
Hard Disk: 10 GB
NIC: 2 (public IP + Virtual IP, priv IP)
Host node: 2 (node1, node2)
Storage Device: 1 (DB files)
(2) Network Planning:
Host Name type IP Address
Node1 public 142.105.100.111
Node2 public 142.105.100.112
Node1-vip virtual 142.105.100.211
Node2-vip virtual 142.105.100.212
Node1-priv dedicated 192.168.100.111
Node2-priv dedicated 192.168.100.112
(3) Installation Process
> Install a Virtual Machine (vmware server 1.0.9)
> Install the Operating System (RHEL 5.4)
> Configure the Operating System
> Copy a VM
> Configure the dual-host Trust Relationship
> Install clusterware
> Install database software
> Configure listener
> Create a database instance
> Client TAF (transparent application failover) configuration (transparent switch)
(4) Prepare the installation package and OS installation and configuration before installation, including:
Slave (database package)
RAC1 Votingdisk
OCRdisk
Vmware sharedisk ASMdisk1 (two ASM, one for user data and one for flash data)
ASMdisk2
RAC2
1) install vmware-1.0.9 Virtual Machine
Rpm-ivh VMware-server-1.0.9-156507.i386.rpm
RAC1 (New-> select bridge-> LSI Logic-> SCSI-> RAC1.vmdk (10G)-> Votingdisk. vmdk (0.1G) (scsi1: 1) (Independent)-> OCRdisk. vmdk (0.1G) (scsi1: 2) (Independent)-> ASMdisk1 (2G) (scsi1: 3) (Independent)-> ASMdisk2 (1G) (scsi1: 4) (Independent)-> ethernet (add a NIC (BRIDGE ))
RAC2 (same, can also be copied after creation)
2) install the RedHat Linux 5.4 Operating System
Key points:
Partition (swap, sda1) package (select all for development, select all for basic system, and select FTP for server)
Firewall (disabled), SELINUX (disabled), RAC1.vmx.
[Root @ node1 ~] # Uname-
Linux node1 2.6.18-164. el5 #1 SMP Tue Aug 18 15:51:54 EDT 2009 i686 i686 i386 GNU/Linux
[Root @ node1 ~] # Tail-7/etc/hosts
127.0.0.1 localhost. localdomain localhost
142.105.100.111 node1
142.105.100.112 node2
142.105.100.211 node1-vip
142.105.100.212 node2-vip
192.168.100.111 node1-priv
The 192.168.100.112 node2-priv
[Root @ node1 ~] # Tail-7/etc/sysctl. conf
Kernel. sem = 250 32000 100 128
Fs. file-max = 65536
Net. ipv4.ip _ local_port_range = 1024 65000
Net. core. rmem_default = 1048576
Net. core. rmem_max = 1048576
Net. core. wmem_default = 262144
Net. core. wmem_max = 262144
[Root @ node1 ~] # Sysctl-p
Net. ipv4.ip _ forward = 0
Net. ipv4.conf. default. rp_filter = 1
Net. ipv4.conf. default. accept_source_route = 0
Kernel. sysrq = 0
Kernel. core_uses_pid = 1
Net. ipv4.tcp _ syncookies = 1
Kernel. msgmnb = 65536
Kernel. msgmax = 65536
Kernel. shmmax = 4294967295
Kernel. shmall = 268435456
Kernel. sem = 250 32000 100 128
Fs. file-max = 65536
Net. ipv4.ip _ local_port_range = 1024 65000
Net. core. rmem_default = 1048576
Net. core. rmem_max = 1048576
Net. core. wmem_default = 262144
Net. core. wmem_max = 262144
[Root @ node1 ~] # Sysctl-p
[Root @ node1 ~] # Tail-1/etc/rc. local
Modprobe hangcheck-timer hangcheck-tick = 30 hangcheck_margin = 20
[Root @ node1 ~] # Vi/etc/redhat-release
[Root @ node1 ~] #>/Etc/resolv. conf
[Root @ node1 ~] # Groupadd oinstall
[Root @ node1 ~] # Groupadd dba
[Root @ node1 ~] # Useradd oracle
[Root @ node1 ~] # Passwd oracle
[Root @ node1 ~] # Tail-7/home/oracle/. bash_profile
Export PATH
Export ORACLE_BASE =/u01/app/oracle
Export ORACLE_HOME = $ ORACLE_BASE/product/10.2.0/db_1
Export ORACLE_SID = RACDB1
Export PATH = $ ORACLE_HOME/bin: $ PATH
Export LD_LIBRARY_PATH = $ ORACLE_HOME/bin: $ PATH
Export CLASSPATH = $ ORACLE_HOME/JRE: $ ORACLE_HOME/jlib: $ ORACLE_HOME/rdbms/jlib
[Root @ node1 ~] # Mkdir-p/u01/app/oracle
[Root @ node1 ~] # Chown-R oracle: oinstall/u01
[Root @ node1 ~] # Chmod-R 775/u01
[Root @ node1 ~] # Fdisk-l
Disk/dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065*512 = 8225280 bytes
Device Boot Start End Blocks Id System
/Dev/sda1*1 1241 9968301 83 Linux
/Dev/sda2 1242 1305 514080 82 Linux swap/Solaris
Disk/dev/sdb: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048*512 = 1048576 bytes
Device Boot Start End Blocks Id System
/Dev/sdb1 1 102 104432 83 Linux
Disk/dev/sdc: 107 MB, 107374080 bytes
64 heads, 32 sectors/track, 102 cylinders
Units = cylinders of 2048*512 = 1048576 bytes
Device Boot Start End Blocks Id System
/Dev/sdc1 1 102 104432 83 Linux
Disk/dev/sdd: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065*512 = 8225280 bytes
Device Boot Start End Blocks Id System
/Dev/sdd1 1 261 2096451 83 Linux
Disk/dev/sde: 1073 Mbit/s, 1073741824 bytes
255 heads, 63 sectors/track, 130 cylinders
Units = cylinders of 16065*512 = 8225280 bytes
Device Boot Start End Blocks Id System
/Dev/sde1 1 130 1044193 + 83 Linux
[Root @ node1 ~] # Rpm-ivh oracleasm-support-2.1.3-1.el5.i386.rpm
[Root @ node1 ~] # Rpm-ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
[Root @ node1 ~] # Rpm-ivh oracleasmlib-2.0.4-1.el5.i386.rpm
[Root @ node1 ~] #/Etc/init. d/oracleasm configure
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start oracle ASM library driver interdace on boot (y/n) [n]: y
Scan for oracle ASM disks on boot (y/n) [y]: y
[Root @ node1 ~] #/Etc/init. d/oracleasm createdisk VOL1/dev/sdd1
[Root @ node1 ~] #/Etc/init. d/oracleasm createdisk VOL2/dev/sde1
[Root @ node1 ~] #/Etc/init. d/oracleasm listdisks
[Root @ node1 ~] # Tail-5/etc/udev/rules. d/60-raw.rules
ACTION = "add", KERNEL = "sdb1", RUN + = "/bin/raw/dev/raw/raw1% N"
ACTION = "add", ENV {MAJOR} = "8", ENV {MINOR} = "17 ", RUN + = "/bin/raw/dev/raw/raw1% M % m"
ACTION = "add", KERNEL = "sdc1", RUN + = "/bin/raw/dev/raw/raw2% N"
ACTION = "add", ENV {MAJOR} = "8", ENV {MINOR} = "33 ", RUN + = "/bin/raw/dev/raw/raw2% M % m"
KERNEL = "raw [1-2]", OWNER = "oracle", GROUP = "oinstall", MODE = "640"
[Root @ node1 ~] # Start_udev
[Root @ node1 ~] # Ls-l/dev/raw
[Root @ node1 ~] # Rpm-ivh/oradisks/compat-gcc-7.3-2.96.128.i386.rpm
[Root @ node1 ~] # Rpm-ivh/oradisk/compat-libstdc ++-7.3-2.96.128.i386.rpm-force
[Root @ node1 ~] # Rpm-ivh/oradisk/compat-libstdc ++-devel-7.3-2.96.128.i386.rpm
[Root @ node1 ~] # Rpm-ivh/oradisk/compat-gcc-c +++-7.3-2.96.128.i386.rpm
Node2
[Root @ node1 ~] # Mkdir/vmware/RAC2
[Root @ node1 ~] # Cp/vmware/RAC1/*/vmware/RAC1/-rf
[Root @ node1 ~] # Vim rac2.vmx (Change rac1 to rac2)
Open RAC2 under vmware, (create)
[Root @ node1 ~] # Hostname node2
[Root @ node2 ~] # Cat/etc/sysconf/network
[Root @ node2 ~] # Cd/etc/sysconfig/network-scripts/
[Root @ node2 network-scripts] # Music ifcfg-eth0.bak ifcfg-eth0
[Root @ node2 network-scripts] # Music ifcfg-eth1.bak ifcfg-eth1
[Root @ node2 network-scripts] # Ifconfig eth0 | grep Hwaddr
[Root @ node2 network-scripts] # Ifconfig eth1 | grep Hwaddr
[Root @ node2 network-scripts] # Vim ifconfig eth0 (change the hardware address)
[Root @ node2 network-scripts] # Vim ifconfig eth1 (change the hardware address)
[Root @ node2 network-scripts] # Service network restart
[Root @ node2 network-scripts] # vim/home/oracle/. bash_profile (Change ORACLE_SID to RACDB2)
[Root @ node2 ~] # Ping node1
[Root @ node2 ~] # Ping node2
[Root @ node2 ~] # Ping node1-priv
[Root @ node2 ~] # Ping node1-priv
[Root @ node2 ~] #/Etc/init. d/oracleasm scandisks
[Root @ node2 ~] #/Etc/init. d/oracleasm listdisks
[Root @ node2 ~] # Service xinetd start
[Root @ node2 ~] # Chkconfig time-stream on
[Root @ node2 ~] # Exit
[Root @ node2 ~] # Crontab-e
* *** Rdate-s 142.105.100.112
[Root @ node1 ~] # Su-oracle
[Oracle @ node1 ~] # Mkdir. ssh
[Oracle @ node1 ~] # Chmod 700. ssh
[Oracle @ node1 ~] # Ssh-keygen-t rsa
[Oracle @ node1 ~] # Ssh-keygen-t dsa
[Root @ node2 ~] # Su-oracle
[Oracle @ node2 ~] # Mkdir. ssh
[Oracle @ node2 ~] # Chmod 700. ssh
[Oracle @ node2 ~] # Ssh-keygen-t rsa
[Oracle @ node2 ~] # Ssh-keygen-t dsa
[Oracle @ node1 ~] # Cat/home/oracle/. ssh/id_rsa.pub>/home/oracle/. ssh/authorized_keys
[Oracle @ node1 ~] # Cat/home/oracle/. ssh/id_dsa.pub>/home/oracle/. ssh/authorized_keys
[Oracle @ node1 ~] # Ssh node2 cat/home/oracle/. ssh/id_rsa.pub>/home/oracle/. ssh/authorized_keys
[Oracle @ node1 ~] # Ssh node2 cat/home/oracle/. ssh/id_dsa.pub>/home/oracle/. ssh/authorized_keys
[Oracle @ node1 ~] # Scp/home/oracle/. ssh/authorized_keys node2:/home/oracle/. ssh/authorized_keys
[Oracle @ node1 ~] # Ssh node1 date
[Oracle @ node1 ~] # Ssh node2 date
[Oracle @ node1 ~] # Ssh node1-priv date
[Oracle @ node1 ~] # Ssh node1-priv date
[Oracle @ node1 ~] # Ssh node2
[Oracle @ node2 ~] # Ssh node1 date
[Oracle @ node2 ~] # Ssh node2 date
[Oracle @ node2 ~] # Ssh node1-priv date
[Oracle @ node2 ~] # Ssh node2-priv date
Install Oracle 10gR2 clusterware:
[Oracle @ node1 ~] # Cd/oradisk
[Oracle @ node1 ~] # Unzip Oracle10201_clusterware_linux32.zip
[Oracle @ node1 ~] # Chown-R oracle: oinstall/oradisk
[Oracle @ node1 ~] # Chmod-R 775/oradisk
[Oracle @ node1 ~] # Cd/oradisk/clusterware
[Oracle @ node1 clusterware] #/oradisk/clusterware/cluvfy/runcluvfy. sh stage-pre crsinst-n node1, node2-verbose
[Oracle @ node1 ~] # Su-root
[Root @ node1 ~] # Cd/oradisk/clusterware/rootpre
[Root @ node1 ~] # Exit
[Oracle @ node1 ~] # Cd/oradisk/clusterware
[Oracle @ node1 clusterware] # export LANG = en_US.UTF-8
[Oracle @ node1 clusterware] #./runInstaller-ignoreSysPreReqs