if[\$USER="oracle"];then
if[\$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
umask022
fi
EOF
#######---SetforOracle10gInstall-------------
oraclevi.bash_profile
exportORACLE_BASE=/home/oracle
exportORACLE_HOME=$ORACLE_BASE/product/database
exportCRS_HOME=$ORACLE_BASE/product/crs
exportORACLE_TERM=xterm
exportORACLE_SID=testdb1//不同的节点ORACLE_SID要做相应的修改
exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK
exportPATH=$ORACLE_HOME/bin:
$CRS_HOME/bin:
$PATH
7、磁盘分区
fdisk/dev/sdb
fdisk/dev/sdc
fdisk/dev/sdd
fdisk/dev/sde
以此选择操作n,p,1,enter,enter,w.
对于虚拟环境,我们可以在配置完成后进行复制来完成另一个节点的安装,但是如果是真机环境,此时可在另一节点上运行partprobe命令,扫描分区。
8、配置裸设备(在此配置文档中使用RAW来处理OCR和votedisk,而不使用OCFS2)
所谓裸设备就是通过字符方式访问设备,也就是读写设备不需要缓冲区。
在LINUX下,对磁盘只提供了块方式访问,要想通过字符方式方位设备,必须配置裸设备服务,并且oracle用户对这些裸设备必须有访问权限。
在两个节点上都要执行下面的配置(如果是虚拟环境,可在此步做完后再复制)。
我使用的是RedHat5内核,与redhat4不同的地方,redhat5取消了rawdevices,如果要添加裸设备,需要编辑配置文件。
vi/etc/udev/rules.d/60-raw.rules添加如下内容:
ACTION==”add”,KERNEL==”sdb1”,RUN+=”/bin/raw/dev/raw/raw1%N”
ACTION==”add”,KERNEL==”sdc1”,RUN+=”/bin/raw/dev/raw/raw2%N”
KERNEL==”raw[1-2]”,OWNER=”oracle”,GROUP”=oinstall”,MODE=”660”
start_udev
ls/dev/raw/-l
(如果是虚拟环境,完成此步骤后,可复制创建另一个节点rac2,注意需要修改IP,hostname,/etc/hosts,/etc/ntp.conf,ORACLE_SID,修改完毕后重启rac2)
9、使用SSH建立用户等效性。
在集群就绪服务(CRSClusterReadyService)和RAC安装过程中,oracleuniversalinstaller必须能够以oracle的身份将软件复制到所有RAC节点,而不提示输入口令。
在oracle10g中,可以使用SSH代替RSH完成此操作。
(两节点均处于运行状态)
在个节点上分别执行:
(oracle用户)
Su–oracle
#Cd$HOME
mkdir.ssh
chmod700.ssh
cd.ssh
ssh-keygen–trsa
ssh-keygen–tdsa
(cd.ssh在.ssh目录下)
cat*.pub>>authorized_keys
在rac1上执行(oracle用户)
scpauthorized_keysrac2:
/home/oracle/.ssh/authorized_keys
scpauthorized_keysrac3:
/home/oracle/.ssh/authorized_keys
在rac2上执行
scpauthorized_keysrac1:
/home/oracle/.ssh/
scpauthorized_keysrac3:
/home/oracle/.ssh/authorized_keys
在rac3上执行
scpauthorized_keysrac1:
/home/oracle/.ssh/
scpauthorized_keysrac2:
/home/oracle/.ssh/
在各个节点分别测试
sshrac2date
sshrac2-privdate
sshrac1date
sshrac1-privdate
10、配置ASM
[root@rac1~]#rpm-qa|greporacleasm
oracleasm-support-2.1.7-1.el5
oracleasm-2.6.18-164.el5-2.0.5-1.el5
oracleasmlib-2.0.4-1.el5
确定是否安装与内核版本对应的oracleasm,在RedFlag中安装完之后,要做个连接
mkdir–p/lib/modules/2.6.18-164AS3/kernel/drivers/addon/
ln–s/lib/modules/2.6.18-164.el5/kernel/drivers/addon/oracleasm//lib/modules/2.6.18-164AS3/kernel/drivers/addon/
更新依赖关系,加载模块:
#depmod-a
#modprobeoracleasm
查看及测试:
引用
#lsmod|greporacleasm
oracleasm815760
#serviceoracleasmstart
配置oracleasm
/etc/init.d/oracleasmenable
[root@rac1~]#/etc/init.d/oracleasmconfigure
ConfiguringtheOracleASMlibrarydriver.
Defaultusertoownthedriverinterface[]:
oracle
Defaultgrouptoownthedriverinterface[]:
dba
StartOracleASMlibrarydriveronboot(y/n)[y]:
y
ScanforOracleASMdisksonboot(y/n)[y]:
y
WritingOracleASMlibrarydriverconfiguration:
done
InitializingtheOracleASMLibdriver:
[OK]
ScanningthesystemforOracleASMLibdisks:
[OK]
[root@rac1~]#/etc/init.d/oracleasmcreatediskVOL1/dev/sdd1#不用添加asm,做OCRdisk
Markingdisk"VOL1"asanASMdisk:
[OK]
[root@rac1~]#/etc/init.d/oracleasmcreatediskVOL2/dev/sde1#不用添加asm,做votedisk
Markingdisk"VOL2"asanASMdisk:
[OK]
[root@rac1~]#/etc/init.d/oracleasmscandisks
[root@rac1~]#/etc/init.d/oracleasmlistdisks
在另一节点上配置
[root@rac2~]#/etc/init.d/oracleasmconfigure
ConfiguringtheOracleASMlibrarydriver.
Thiswillconfiguretheon-bootpropertiesoftheOracleASMlibrary
driver.Thefollowingquestionswilldeterminewhetherthedriveris
loadedonbootandwhatpermissionsitwillhave.Thecurrentvalues
willbeshowninbrackets('[]').Hittingwithouttypingan
answerwillkeepthatcurrentvalue.Ctrl-Cwillabort.
Defaultusertoownthedriverinterface[]:
oracle
Defaultgrouptoownthedriverinterface[]:
dba
StartOracleASMlibrarydriveronboot(y/n)[n]:
y
ScanforOracleASMdisksonboot(y/n)[y]:
y
WritingOracleASMlibrarydriverconfiguration:
done
InitializingtheOracleASMLibdriver:
[OK]
ScanningthesystemforOracleASMLibdisks:
[OK]
[root@rac2~]#/etc/init.d/oracleasmlistdisks
VOL1
VOL2
VOL3
VOL4
至此oracleasm配置完毕
11、安装clusterware
注意,尽管这看起来像OUI中一个严重的错误,但您完全可以将其看作是一个警告而忽略。
“tar”命令DOES确实提取了文件;然而,当您在远程节点上执行文件列表时(使用ls-l),它们将缺少时间字段,直到服务器上的时间大于该文件的时间戳。
在启动以上任何一个所述安装之前,确保尽可能将集群的每个成员节点设置为相同的时间和日期。
由于两个OracleRAC节点使用相同的参考NetworkTimeProtocol服务器,因此Oracle强烈建议使用多数操作系统的NetworkTimeProtocol功能来执行该操作。
然而,访问NetworkTimeProtocol服务器并非始终可用。
在这种情况下,为集群中的节点手动设置日期和时间,确保要从其中执行软件安装的节点(linux1)的时间和日期小于集群中所有其他节点(linux2)。
我一般使二者之间相差20秒,如以下示例所示:
设置linux1的日期和时间:
#date-s"9/13/200623:
00:
00"
设置linux2的日期和时间:
#date-s"9/13/200623:
00:
20"
本文中所述的双节点RAC配置没有使用NetworkTimeProtocol服务器。
再返回刚才的错误界面,重新执行检查。
检查通过后退出。
二、安装oracle数据库