一.安装前预备
1.使用VM自带工具划分共享磁盘 (VM虚拟机版本6.0)
进入VM所在目录使用以下工具划分共享磁盘空间
vmware-vdiskmanager.exe -c -s 1GB -a lsilogic -t 2 "盘符:/文件夹/文件名.vmdk"
分别创建三个1G.两个2G
2.创建,配置虚拟机
创建虚拟机时候注重删除软驱,添加一块网卡(选择仅和主机通信)
在虚拟机配置文件中添加以下(是把刚才创建的磁盘添加近来,双节点都必须添加)
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.filename = "盘符:/文件夹/文件名.vmdk"
scsi1:1.deviceType = "plainDisk"
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.filename = "盘符:/文件夹/文件名.vmdk"
scsi1:2.deviceType = "plainDisk"
scsi1:3.present = "TRUE"
scsi1:3.mode = "independent-persistent"
scsi1:3.filename = "盘符:/文件夹/文件名.vmdk"
scsi1:3.deviceType = "plainDisk"
scsi1:4.present = "TRUE"
scsi1:4.mode = "independent-persistent"
scsi1:4.filename = "盘符:/文件夹/文件名.vmdk"
scsi1:4.deviceType = "plainDisk"
scsi1:5.present = "TRUE"
scsi1:5.mode = "independent-persistent"
scsi1:5.filename = "盘符:/文件夹/文件名.vmdk"
scsi1:5.deviceType = "plainDisk"
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
3.安装系统 (rhel5)
采用默认安装,因为asm和ocfs2都需要图形化的配置,所以必须要有图形化界面. 关闭SELINUX防火墙,配置系统只开机启动ssh.syslognetworkxfs服务。另外一个系统也做同样设置.(分区时,不要给共享磁盘分区,让他保持free状态)
4.安装所需包
#rpm -ivh compat-db-4.2.52-5.1.i386.rpm
#rpm -ivh libstdc++-devel-4.1.1-52.el5.i386.rpm
#rpm -ivh libgomp-4.1.1-52.el5.i386.rpm
#rpm -ivh glibc-headers-2.5-12.i386.rpm
#rpm -ivh glibc-devel-2.5-12.i386.rpm
#rpm -ivh gcc-4.1.1-52.el5.i386.rpm
#rpm -ivh gcc-c++-4.1.1-52.el5.i386.rpm
#rpm -ivh compat-gcc-34-3.4.6-4.i386.rpm
#rpm -ivh compat-gcc-34-c++-3.4.6-4.i386.rpm
#rpm -ivh compat-libgcc-296-2.96-138.i386.rpm
#rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm
#rpm -ivh cpp-4.1.1-52.el5.i386.rpm
#rpm -Uvh glibc-2.5-12.i386.rpm
#rpm -ivh libaio-0.3.106-3.2.i386.rpm
#rpm -ivh libXmu-1.0.2-5.i386.rpm
#rpm -ivh libXp-1.0.0-8.i386.rpm
#rpm -ivh make-3.81-1.1.i386.rpm
#rpm -ivh openmotif22-2.2.3-18.i386.rpm
#rpm -ivh openmotif-2.3.0-0.3.el5.i386.rpm
#rpm -ivh setarch-2.0-1.1.i386.rpm
#rpm -ivh sysstat-7.0.0-3.el5.i386.rpm
5.创建oracle用户,建立SSH信任,编辑参数和变量 (以下没注明的都是双节点实现)
#vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 278396928
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=1048576
net.core.wmem_default=262144
net.core.wmem_max=1048576
注销原有kernel.shmmax kernel.shmall (以上数值有待改变)
#sysctl -p
#vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
#vi /etc/pam.d/login
session required /lib/security/pam_limits.so
#vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
#vi /etc/rc.d/rc.local
/sbin/modprobe hangcheck_timer
#modprobe hangcheck_timer
#grep hangcheck /var/log/messages | tail -2
#vi /etc/hosts
127.0.0.1 localhost
192.168.0.243 rac1
192.168.0.245 rac2
192.168.0.143 v-rac1
192.168.0.145 v-rac2
10.0.0.243 int-rac1
10.0.0.245 int-rac2
#ping -c 3 rac1
#ping -c 3 rac2
#ping -c 3 int-rac1
#ping -c 3 int-rac2
#groupadd oinstall
#groupadd dba
#useradd -u 200 -g oinstall -G dba -d /home/oracle -r oracle -m
#passwd oracle
#id oracle
#su - oracle
#mkdir ~/.ssh
#chmod 700 ~/.ssh
#ssh-keygen -t rsa (一路回车)
#ssh-keygen -t dsa (一路回车)
使用节点1执行
#cd ~/.ssh
#cat id_rsa.pub >>authorized_keys
#cat id_dsa.pub >>authorized_keys
#scp authorized_keys rac2:/home/oracle/.ssh/
#ssh rac2
#cd .ssh
#cat id_rsa.pub >>authorized_keys
#cat id_dsa.pub >>authorized_keys
#exit
使用节点2执行
#cd ~/.ssh
#scp authorized_keys rac1:/home/oracle/.ssh/
双节点实现
#ssh-agent $SHELL
#ssh-add
#ssh rac1 date
#ssh rac2 date
#vi /home/oracle/.bash_profile
umask 022
export ORACLE_base=/u01/app/oracle
export ORACLE_HOME=$ORACLE_base/10.2.0/rac_db
export ORA_CRS_HOME=$ORACLE_base/10.2.0/crs
export ORACLE_PATH=$ORACLE_base/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_SID=orcl1 (节点2为oracl2)
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_base/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$
ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
export DISPLAY=192.168.0.244:0.0
6.切换root用户创建安装目录,分配权限
mkdir -p /u01/app/oracle/10.2.0/rac_db
mkdir -p /u01/app/oracle/10.2.0/crs
chown -R root.oinstall /u01/
chmod -R 775 /u01/
mkdir -p /u02/oradata/orcl
chown -R oracle.dba /u02/
chmod -R 775 /u02/
7.节点1给磁盘分区
# fdisk /dev/sdb (同样方法格式/dev/sdc /dev/sdd/ dev/sde/ dev/sdf/)
n>p>1>回车>回车>w
重新启动两台计算机,让另外一台机器能认到被格式化过的磁盘
8.安装ocfs2,配置ocfs2 (双节点)
#rpm -ivh ocfs2-tools-1.2.6-1.el5.i386.rpm
#rpm -ivh ocfs2-2.6.18-8.el5-1.2.6-6.el5.i686.rpm (根据不同的内核打不同的包)
#rpm -ivh ocfs2console-1.2.6-1.el5.i386.rpm
#ocfs2console X下使用
#vi /etc/init.d/o2cb
删除以下行
### BEGIN INIT INFO
## Provides: o2cb
## Required-Start: $network
## Should-Start:
## Required-Stop:
## Default-Start: 2 3 5
## Default-Stop:
## Description: Load O2CB cluster services at system boot.
### END INIT INFO
#/etc/init.d/o2cb offline ocfs2
#/etc/init.d/o2cb unload
#/etc/init.d/o2cb configure
在节点1格式/dev/sdb1为ocfs2
#mkfs.ocfs2 -b 4k -C 32k -L oradatafiles /dev/sdb1
最好在重新启动一下双节点,因为是虚拟环境,所以担心另外一台虚拟机同步的慢
#mount -t ocfs2 -o datavolume /dev/sdb1 /u02/oradata/orcl
#vi /etc/fstab
/dev/sdb1 /u02/oradata/orcl ocfs2 _netdevdatavolume 0 0
#vi /etc/sysconfig/o2cb
O2CB_HEARTBEAT_THRESHOLD=601
9.安装asm配置asm
#rpm -ivh oracleasm-support-2.0.4-1.el5.i386.rpm
# rpm -ivh oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm (根据不同的内核打不同的包)
# rpm -ivh oracleasmlib-2.0.3-1.el5.i386.rpm
#/etc/init.d/oracleasm configure
oracledbayy
节点1执行
#/etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
#/etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
#/etc/init.d/oracleasm createdisk VOL3 /dev/sde1
#/etc/init.d/oracleasm createdisk VOL4 /dev/sdf1
#/etc/init.d/oracleasm listdisks
#ls -l /dev/oracleasm/disks/
节点2执行
#/etc/init.d/oracleasm scandisks
#/etc/init.d/oracleasm listdisks
#ls -l /dev/oracleasm/disks/
10.配置NTPD服务器,或者配置2台机器的时间一样,不然在安装的时候会有很多的问题,建议装台时间服务器来进行同步时间.另外,在安装的时候,监视2台机器的时间,有时候会差好多
13.使用root用户解压,并安装
#unzip 10201_clusterware_linux32.zip
#unzip 10201_database_linux32.zip
二.安装clusterware以及oracle
#rpm -ivh clusterware/rpm/cvuqdisk-1.0.1-1.rpm
#scp clusterware/rpm/cvuqdisk-1.0.1-1.rpm rac2:/opt/
节点2执行
rpm -ivh /opt/cvuqdisk-1.0.1-1.rpm
检查环境,节点1执行
#su - oracle
# cd clusterware/cluvfy
#./runcluvfy.sh stage -pre crsinst -n rac1rac2 -verbose
ERROR:
Could not find a suitable set of interfaces for VIPs.
Result: Node connectivity check failed.
虚拟IP报错可以不管
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
会提示没有以上包的报错,以root用户在双节点安装以下包
#rpm -ivh compat-gcc-7.3-2.96.128.i386.rpm
#rpm -ivh compat-libstdc++-7.3-2.96.128.i386.rpm
#rpm -ivh compat-libstdc++-devel-7.3-2.96.128.i386.rpm
#rpm -ivh compat-gcc-c++-7.3-2.96.128.i386.rpm
硬件检查
#./runcluvfy.sh stage -post hwos -n rac1rac2 -verbose
ERROR:
Could not find a suitable set of interfaces for VIPs.
Result: Node connectivity check failed.
还是会有虚拟IP的报错,可以忽略
#vi /etc/redhat-release
将版本5改成4因为oracle10G不支持RHEL5安装
#cd ..
# ./runInstaller
●Welcome:
点[Next]
●Specify Inventory directory and credentials:
Inventory directory: /u01/app/oracle/oraInventory
Operating System group name: oinstall
点[Next]
●Specify Home Details:
Name: OraCrs10g_home
Location: /u01/app/oracle/10.2.0/crs (手动改变CRS的目录)
点[Next]
●Product Specific Prerequisite Checks:
点[Next]
●Specify Cluster Configuration:
Cluster Name: crs
--------------------------------------------------------
|Public Node Name |Private Node Name |Virtual Node Name|
--------------------------------------------------------
| rac1 | int-rac1 |v-rac1 |
--------------------------------------------------------
| rac2 | int-rac2 | v-rac2 |
--------------------------------------------------------
点[Next]
●Specify Network Interface Usage:
--------------------------------------------------
| Interface Name | Subnet | Interface Type |
--------------------------------------------------
| eth0 | 192.168.0.0 | Public |
--------------------------------------------------
| eth1 | 10.0.0.0 | Private |
--------------------------------------------------
点[Next]
●Specify OCR Location:
选 Normal Redundacy
Specify OCR Location: /u02/oradata/orcl/OCRFile
Specify OCR Mirror Location: /u02/oradata/orcl/OCRFile_mirror
(假如出现没权限写的提示,则使用root用户 chown -R oracle.dba /u02/)
点[Next]
●Specify Voting Disk Location:
选 Normal Redundacy
Voting Disk Location: /u02/oradata/orcl/VotingFile
Additional Voting Disk 1 Location: /u02/oradata/orcl/VotingFile_mirror1
Additional Voting Disk 2 Location: /u02/oradata/orcl/VotingFile_mirror2
点[Next]
●Summary:
点[Install]
{{{arch=`uname -m`
#if [ "$arch" = "i686" -o "$arch" = "ia64" ]
#then
# LD_ASSUME_KERNEL=2.4.19
# export LD_ASSUME_KERNEL
#fi
#End workaround● Execute Configuration scripts:}}}
以root身份在rac1上运行 /u01/app/oracle/oraInventory/orainstRoot.sh
完成后,以root身份在rac2上运行 /u01/app/oracle/oraInventory/orainstRoot.sh
完成后,以root身份在rac1上运行 /u01/app/oracle/product/crs/root.sh
完成后,以root身份在rac2上运行 /u01/app/oracle/product/crs/root.sh
在rac2上执行完root.sh后,会出一错误,在X下使用root运行vipca来解决
#/u01/app/oracle/product/10.2.0/crs/bin/vipca
●Welcome:
点[Next]
●Network interfaces:
eth0、eth1都要选中
点[Next]
●Virtual IPs for cluster notes:
--------------------------------------------------------------
| Node Name | IP Alias Name | IP Address | Subnet Mask |
--------------------------------------------------------------
| rac1 | v-rac1 | 192.168.0.143 | 255.255.255.0 |
--------------------------------------------------------------
| rac2 | v-rac2 | 192.168.0.145 | 255.255.255.0 |
--------------------------------------------------------------
点[Next]
●Summary:
点[Finish]
●Configuration Assistant Progress Dialog:
等配置完成后,点[OK]
●Configuration Results:
点[Exit]
在rac1上点 Execute Configuration scripts 界面的[OK]
●End of installation:
点[Exit]
ORACLE软件安装
$cd database/
$./runInstaller
●Welcome:
点[Next]
●Select Installation Type:
我选的是 Enterprise Edition
点[Next]
●Specify Home Details:
Name: OraCrs10g_home1
Location: /u01/app/oracle/10.2.0/rac_db
点[Next]
●Specify Hardware Cluster Installation Mode:
选 Cluster Installation,并且两个节点全选中
点[Next]
●Product-Specific Prerequisite Checks:
点[Next]
●Select Configuration Option:
选 Install database Software only
点[Next]
●Summary:
点[Install]
●Run script Windows:
以root身份在rac1上运行 /u01/app/oracle/10.2.0/rac_db/root.sh
完成后,以root身份在rac2上运行 /u01/app/oracle/10.2.0/rac_db/root.sh
●End of installation:
点[Exit]
创建TNS监听进程:
----------------
0.运行netca(rac1):
用oracle登录
$netca
●Real Application Clusters Configuration:
选 Cluster configuration
点[Next]
●Real Application Clusters Active Nodes:
两个节点全选中
点[Next]
●Welcome:
选 Listener configuration
点[Next]
●Listener Configuration Listener:
选 Add
点[Next]
●Listener Configuration Listener Name:
填 LISTENER
点[Next]
●Listener Configuration Select Protocols:
选 TCP
点[Next]
●Listener Configuration TCP/IP Protocol:
选 Use the standard port number of 1521
点[Next]
●Listener Configuration More Listener?:
选 No
点[Next]
●Welcome:
选 Naming Methods configuration
点[Next]
●Naming Methods Configuration Select Naming Methods:
选 Local Naming 和 Easy Connect Naming
点[Next]
●Naming Methods Configuration Done:
点[Next]
●Welcome:
点[Finish]
1.检查一下:
rac1上
$ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
rac2上
$ps -ef | grep lsnr | grep -v 'grep' | grep -v 'ocfs' | awk '{print $9}'
创建数据库:
-----------
0.运行dbca(rac1):
用oracle登录
$dbca
●Welcome:
选 Oracle Real Application Clusters database
点[Next]
●Step 1 of 17: Opetations:
选 Create a Database
点[Next]
●Step 2 of 17: Node Selection:
两个节点全选中
点[Next]
●Step 3 of 17: Database Templates:
选 Custom Database
点[Next]
●Step 4 of 17: Database Identification:
Global Database Name: orcl
SID Prefix: orcl
点[Next]
●Step 5 of 16: Management Options:
使用默认选项,即
选 Configure the Database with Enterprise Manager
选 Use Database Control for Database Management
点[Next]
●Step 6 of 16: Database Credentials:
选 Use the Same Password for All Accounts
输入密码
点[Next]
●Step 7 of 15: Storage Options:
选 ASM
点[Next]
●Step 8 of 15: Create ASM Instance:
输入刚才的密码
选 Create server parameter file (SPFILE)
/u02/oradata/orcl/dbs/spfile+ASM.ora
点[Next]
出来的窗口中,点[OK]
●Step 9 of 15: ASM Disk Groups:
点[Create New]
●Create Disk Group:
Disk Group Name: DATA
Redundancy: Normal
选 VOL1 及 VOL2
点[OK]
点[Create New]
●Create Disk Group:
Disk Group Name: FLASH_RECOVERY_AREA
Redundancy: External
选 VOL3 及 VOL4
点[OK]
点[Next]
●Step 10 of 15: Database File Locations:
选 Use Oracle-Managed Files
Database Area: +DATA
点[Next]
●Step 11 of 15: Recovery Configuration:
选 Specify Flash Recovery Area
Flash Recovery Area: +FLASH_RECOVERY_AREA
Flash Recovery Area Size: 2048 MB
点[Next]
●Step 11 of 15: Database Content:
用默认值
点[Next]
●Step 12 of 15 Database Services:
点[Add],名称为 RACTEST
orcl1: Preferred
orcl2: Preferred
TAF Policy: Basic
点[Next]
●Step 13 of 15: Initialization Parameters:
用默认值
点[Next]
●Step 14 of 15: Database Storage:
用默认值
点[Next]
●Step 15 of 15: Create Options:
用默认值
点[Finish]
文章来源:http://www.bestlinux.cn/emb/wdtec/network/rhel5vmwareoracle.html