- 浏览: 1137656 次
文章分类
最新评论
-
chenhailong:
嘿嘿,没事其实IT这样怎么干也不能成为富翁,就是穷打工的。说是 ...
80后IT跳槽男的故事!你的那? -
denger:
cxh116 写道好人 转帖不留名原文:http://www. ...
程序员的黄金时代 -
cxh116:
好人 转帖不留名
程序员的黄金时代 -
ruby_windy:
500多页的书,我也是这几天刚看到完.乔布斯是半个神,活的像人 ...
看完乔布斯传,说说感受
RAW+ASM 的RAC 安装文档
有关RAC的一些概念性和原理性的知识,请参考我的blog:
http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5331067.aspx
这次实验是RAW+ASM来实现的,在生产环境中还是raw+ASM比较多。也可以用OCFS2+ASM来做,ocfs2的安装方法参考我的Blog:
OCFS2+ASM的RAC安装文档
http://blog.csdn.net/tianlesoftware/archive/2010/02/27/5331074.aspx
实验平台:Oracle10gR2RAC+RHEL4.0+VMWareGSX3.2.0
安装步骤:
1.安装前准备及OS安装配置
2.安装Oracle10gR2clusterware
3.安装Oracle10gR2database
4.配置netca
5.创建ASM实例
6.配置dbca创建数据库
7.检查RAC状态
8.RAC卸载
一.安装前准备及OS安装配置
HostOS准备
1.从OracleOTN下载oracle10gR2forx86linux,下2个zip,一个是clusterwarezip,一个是databasezip,compCD可选.
2.准备的RHEL4(x86)
3.搞清楚你的linux的kernelversion
4.从OracleOTN下载ASMLib,ASMLibsupport,记住这些都是针对你的kernel的,不要下错
http://www.oracle.com/technology/tech/linux/asmlib/index.html
该页面有下载地址,注意选择CPU类型。里面有asmlib和support。在同一个页面。
5.VMWareGSX3.2.0forlinux
虚拟机Workstation,GSXServer和ESX之间的区别
http://blog.csdn.net/tianlesoftware/archive/2010/02/22/5316767.aspx
OS安装
1.在vmwareconsole中创建redhat4实例,取名raw1.内存700M,硬盘12GB。
2.创建好后vmwareOS之后,加上一块NIC网卡
3.在gsx里用vdiskmanager创建ShareDisk。
rawforOCRandvotingdisk,ASMforOracleDATA.
Dos下进入vmware的安装目录,运行一下命令
vmware-vdiskmanager创建pre-allocated并且是lsicontoller的硬盘300m一个forrawforOCR+CRSvoting
vmware-vdiskmanager.exe-c-s300Mb-alsilogic-t2E:/VM/rawShare/raw_ocr_crs.vmdk
vmware-vdiskmanager创建pre-allocated并且是lsicontoller的硬盘forOracledata&flashrecoveryarea
vmware-vdiskmanager.exe-c-s4096Mb-alsilogic-t2E:/VM/rawShare/asm_data.vmdk
vmware-vdiskmanager.exe-c-s2048Mb-alsilogic-t2E:/VM/rawShare/asm_recovery.vmdk
做好后,share目录就会产生你刚才创建的这些vmdk了.
4.到raw1的目录,打开raw1.vmx,在最后空白处添加这几段内容(一定要最后)
scsi1.present="TRUE"
scsi1.virtualDev="lsilogic"
scsi1.sharedBus="virtual"
这段是打开scsi1上的使用,并且设置成virtual,controller设置成lsilogic
然后依次添加
scsi1:1.present="TRUE"
scsi1:1.mode="independent-persistent"
scsi1:1.filename="E:/VM/rawShare/raw_ocr_crs.vmdk"
scsi1:1.deviceType="plainDisk"
scsi1:2.present="TRUE"
scsi1:2.mode="independent-persistent"
scsi1:2.filename="E:/VM/rawShare/asm_data.vmdk"
scsi1:2.deviceType="plainDisk"
scsi1:3.present="TRUE"
scsi1:3.mode="independent-persistent"
scsi1:3.filename="E:/VM/rawShare/asm_recovery.vmdk"
scsi1:3.deviceType="plainDisk"
最后添加这个
disk.locking="false"
diskLib.dataCacheMaxSize="0"
diskLib.dataCacheMaxReadAheadSize="0"
diskLib.DataCacheMinReadAheadSize="0"
diskLib.dataCachePageSize="4096"
diskLib.maxUnsyncedWrites="0"
这段是对vmware使用共享硬盘的方式进行定义
保存退出之后,重新打开你的vmware-console,你就可以看到2个vmwareguestOS的配置中,都有这些硬盘出现了.
5.然后就安装你的vmwareOS,安装的时候,为了方便,把包全部装上,省得以后麻烦。
将raw1结点复制到raw2,在虚拟机中用新ID打开,修改IP地址,hostname,节点2创建完成。采用复制就省的安装2次系统,比较方便。
6.配置你的2个网卡的固定IP,hostname,DNS,gateway,timeserver(NTP)
/etc/sysconfig/network-script/ifcfg-eth0
/etc/sysconfig/network-script/ifcfg-eth1
修改机器名,IP和网关--默认网关必须设置,不然vipca报错
[root@raw1~]#vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=10.85.10.119
NETMASK=255.255.255.0
GATEWAY=10.85.10.253
修改主机名
vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=raw1
修改完之后重启生效:
/etc/rc.d/init.d/networkrestart重新启动
查看DNS:
cat/etc/resolv.conf
同步时间:
1.在raw1上用root用户执行
#chkconfigtimeon#在系统引导的时候自动启动
2.在raw2上添加任务,每一分钟和raw1进行一次时间同步。
[root@raw2~]#crontab-l
*/1****rdate-s10.85.10.119
rac对节点间时间较敏感,如果不同步在安装clusterware时后会报错,而且在安装vipca的时候也会报错。具体时间同步参考我的blog:
Linux时间同步配置
http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5315587.aspx
linux下修改日期和时间
http://blog.csdn.net/tianlesoftware/archive/2009/11/13/4808096.aspx
7.安装结束后,进入OS,修改解析文件:/etc/hosts
如下
注:机器名和public名要一样
127.0.0.1localhost(必须要这样)
10.85.10.119raw1
10.85.10.121raw2
192.168.1.119raw1-priv
192.168.1.121raw2-priv
10.85.10.122raw1-vip
10.85.10.123raw2-vip
两个node都要一样.
修改后要确认这个hosts都正确(ping)
8.建立用户等效性
建立等效用户之后,2个结点直接Oracle用户互相访问就不在需要密码了,这样就为RAC管理提供了可能性,如果等效性没有配好,RAC肯定是装不起来的。
groupadddbaoinstall组在两个node上,创建oracle用户,主组oinstall,附加组是dba和disk
#groupaddoinstall
#groupadddba
#useradd-goinstall-Gdbaoracle
#passwdoracle
建立等效用户
在raw1:
[root@raw1opt]#su-oracle
[oracle@raw1~]$mkdir~/.ssh
[oracle@raw1~]$chmod700~/.ssh
[oracle@raw1~]$ssh-keygen-trsa
[oracle@raw1~]$ssh-keygen-tdsa
在raw2:
[root@raw2opt]#su-oracle
[oracle@raw2~]$mkdir~/.ssh
[oracle@raw2~]$chmod700~/.ssh
[oracle@raw2~]$ssh-keygen-trsa
[oracle@raw2~]$ssh-keygen-tdsa
切换回raw1,接着执行:
[oracle@raw1~]$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
[oracle@raw1~]$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
提示:下列命令会提示你输入raw2的oracle密码,按照提示输入即可,如果失败可重新尝试执行命
令。
Raw1节点:
[oracle@raw1~]$scp~/.ssh/authorized_keysraw2:~/.ssh/authorized_keys
Raw2节点:
[oracle@raw2~]$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
[oracle@raw2~]$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
[oracle@raw2~]$scp~/.ssh/authorized_keysraw1:~/.ssh/authorized_keys
确保2个node都有相互的结点信息。
两机相互执行,看看是否还需要输入密码
[oracle@raw1~]$sshraw1date
[oracle@raraw1]$sshraw2date
[oracle@raraw1]$sshraraw1rivdate
[oracle@raraw1]$sshraw2-privdate
切换至raw2执行
[oracle@raw2~]$sshraraw1ate
[oracle@raw2~]$sshraw2date
[oracle@raw2~]$sshraraw1rivdate
[oracle@raw2~]$sshraw2-privdate
9.在每个结点上创建目录
[root@raw2~]#mkdir-p/u01/app/oracle
[root@raw2~]#chown-Roracle:oinstall/u01
[root@raw2~]#chmod-R777/u01
这个目录给oracle和clusterware系统的
10.修改你的/etc/sysctl.conf,添加这些kernel参数
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
kernel.shmall=78643200
kernel.shmmax=314572800
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
#sysctl-p立刻生效
kernel.shmall为物理内存除以pagesize;
kernel.shmmax为物理内存的一半;
fs.file-max为512乘以processes(如128个process则为65536);
net.ipv4.ip_local_port_range/net.core.rmem_default/net.core.rmem_max三个参数设置和官方文档不一样,这是根据metalink343431.1最新要求更改的;
net.ipv4.tcp_rmem/net.ipv4.tcp_wmem两个参数一般情况下无需设置,除非是在Dataguard/Streams等需很多网络传输情况下;
其它参数根据官方文档要求设置即可.
具体内容参考我的blog:
Linux内核参数及Oracle相关参数调整
http://blog.csdn.net/tianlesoftware/archive/2009/10/15/4668741.aspx
11.设置用户资源限制
因为所有的进程都是以Oracle身份来运行的,因此需要定义Oracle用户能够使用的系统资源数量。
vi/etc/sysconfig/limits.conf
--使用HugePage内存技术,添加下面2行
Oraclesoftmemlock5242880
Oraclehardmemlock524280
--进程句柄数量
oraclesoftnproc2047
oraclehardnproc16384
--文件句柄
oraclesoftnofile65536
oraclehardnofile65536
将下面一行添加到/etc/pam.d/login文件中:
sessionrequired/lib/security/pam_limits.so
12.配置hangcheck-timer模块
Hangcheck-timer是Linux提供的一个内核级的IO-Fencing模块,这个模块会监控Linux内核运行状态,如果长时间挂起,这个模块会自动重启系统。这个模块在Linux内核空间运行,不会受系统负载的影响。这个模块会使用CPU的TimeStampCounter(TSC)寄存器,这个寄存器的值会在每个时钟周期自动增加,因此使用的是硬件时间,所以精度更高。
配置这个模块需要2个参数:hangcheck_tick和hangcheck_margin。
hangcheck_tick用于定义多长时间检查一次,缺省值是30秒。有可能内核本身很忙,导致这个检查被推迟,该模块还允许定义一个延迟上限,就是hangcheck_margin,它的缺省值是180秒。
Hangcheck-timer模块会根据hangcheck_tick的设置,定时检查内核。只要2次检查的时间间隔小于hangcheck_tick+hangchec_margin,都会认为内核运行正常,否则就意味着运行异常,这个模块会自动重启系统。
CRS本身还有一个MissCount参数,可以通过crsctlgetcssmiscount命令查看。
当RAC结点间的心跳信息丢失时,Clusterware必须确保在进行重构时,故障结点确实是Dead状态,否则结点仅是临时负载过高导致心跳丢失,然后其他结点开始重构,但是结点没有重启,这样会损坏数据库。因此MissCount必须大于hangcheck_tick+hangcheck_margin的和。
12.1查看模块位置:
[root@raraw1]#find/lib/modules-name"hangcheck-timer.ko"
/lib/modules/2.6.9-78.EL/kernel/drivers/char/hangcheck-timer.ko
/lib/modules/2.6.9-78.ELsmp/kernel/drivers/char/hangcheck-timer.ko
12.2配置系统启动时自动加载模块,在/etc/rc.d/rc.local中添加如下内容
[root@raraw1]#modprobehangcheck-timer
[root@raraw1]#vi/etc/rc.d/rc.local
modprobehangcheck-timer
12.3配置hangcheck-timer参数,在/etc/modprobe.conf中添加如下内容:
[root@raraw1]#vi/etc/modprobe.conf
optionshangcheck-timerhangcheck_tick=30hangcheck_margin=180
12.4确认模块加载成功:
[root@raraw1]#grepHangcheck/var/log/messages|tail-2
Feb2322:08:44raraw1ernel:Hangcheck:startinghangchecktimer0.9.0(tickis30seconds,marginis180seconds).
13.格式化分区fdisk/dev/sdb,/dev/sdc,/dev/sdd.
在一个结点执行格式化就可以了,因为他们是共享的。
[root@raw1~]#fdisk/dev/sdb
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwon'tberecoverable.
Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-300,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-300,default300):+150M
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):2
Firstcylinder(145-300,default145):
Usingdefaultvalue145
Lastcylinderor+sizeor+sizeMor+sizeK(145-300,default300):+150M
Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
[root@raw1~]#fdisk/dev/sdc
DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIorOSFdisklabel
BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,
untilyoudecidetowritethem.Afterthat,ofcourse,theprevious
contentwon'tberecoverable.
Warning:invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)
Command(mforhelp):n
Commandaction
eextended
pprimarypartition(1-4)
p
Partitionnumber(1-4):1
Firstcylinder(1-522,default1):
Usingdefaultvalue1
Lastcylinderor+sizeor+sizeMor+sizeK(1-522,default522):
Usingdefaultvalue522
Command(mforhelp):w
Thepartitiontablehasbeenaltered!
Callingioctl()tore-readpartitiontable.
Syncingdisks.
[root@raw1~]#fdisk-l
/dev/sda1*1140211261533+83Linux
/dev/sda214031566131733082Linuxswap
/dev/sdb1114414744083Linux
/dev/sdb214528814745683Linux
/dev/sdc115224192933+83Linux
/dev/sdd11261209645183Linux
注:格式化时候,在另一个节点要重启一下系统,不然识别不了。
14.配置raw设备
所谓raw设备,就是通过字符方式访问的设备,也就是读写设备不需要缓冲区。在Linux下,对磁盘值提供了块方式的访问。要想通过字符方式访问,必须配置raw设备服务,并且Oracle用户对这些raw设备必须有访问的权限。
在2个节点上做如下操作:
14.1修改裸设备服务的配置文件:/etc/sysconfig/rawdevices.添加下面2行。
格式:裸设备名块设备名
/dev/raw/raw1/dev/sdb1
/dev/raw/raw2/dev/sdb2
14.2设置Oracle用户对裸设备的访问权限。
编辑UDEV的权限文件:/etc/udev/permissions.d/50-udev.permissions
找到rawdevice部分,修改成如下格式:
#rawdevices
raw*:oracle:dba:0660
raw/*:oracle:dba:0660
14.3确认裸设备服务自启动,2个节点都要执行
[root@raw1/]#chkconfig--listrawdevices
rawdevices0:off1:off2:off3:on4:on5:on6:off
14.4.启动rawdevices服务,确认裸设备创建成功,权限正确:
[root@raw1/]#servicerawdevicesrestart
Assigningdevices:
/dev/raw/raw1-->/dev/sdb1
/dev/raw/raw1:boundtomajor8,minor17
/dev/raw/raw1-->/dev/sdb2
/dev/raw/raw1:boundtomajor8,minor18
done
[oracle@raw2~]$cd/dev/raw
[oracle@raw2raw]$ls-lrt
total0
crw-rw----1oracledba162,1Feb2803:08raw1
crw-rw----1oracledba162,2Feb2803:08raw2
15.在每个node上安装ASMLibs,tools,support三个rpm文件
#rpm-ivh*.rpm--nodeps--force
然后运行/etc/init.d/oracleasmconfigure
回答oracle,dba,y,y就可以了
linux挂在windows共享的盘
1.启动nfs服务:servicenfsstart
2.mount-ousername=share,password=share//10.85.10.80/RAC/mnt
16.创建ASM磁盘
在一个node上:
通过以root用户身份运行以下命令来标记由ASMLib使用的磁盘:/etc/init.d/oracleasmcreatediskDISK_NAMEdevice_name
(提示:DISK_NAME应由大写字母组成。当前版本有一个错误,即假如使用小写字母,ASM实例将无法识别磁盘。)
记住,ASM在linux下面处理的对象是partition,不是disk,所以你那些vmdk要linux下面partition好才能用,所以先fdisk一下在创建.
/etc/init.d/oracleasmcreatediskVOL1/dev/sdc1
/etc/init.d/oracleasmcreatediskVOL2/dev/sdd1
创建好后,在这个node上运行/etc/init.d/oracleasmlistdisks查看
17.在另外一个node上
/etc/init.d/oracleasmscandisks
/etc/init.d/oracleasmlistdisks查看
18.在每个node上
Su-oracle
Cd/home/oracle
修改oracle用户家目录下的.bash_profile
注意ORACLE_SID,和后面建库要一致。
#.bash_profile
#Getthealiasesandfunctions
if[-f~/.bashrc];then
.~/.bashrc
fi
#Userspecificenvironmentandstartupprograms
PATH=$PATH:$HOME/bin
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportORA_CRS_HOME=$ORACLE_BASE/product/crs
exportORACLE_SID=raw1
exportPATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
exportPATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
exportPATH=${PATH}:$ORACLE_BASE/common/oracle/bin
exportORACLE_TERM=xterm
exportTNS_ADMIN=$ORACLE_HOME/network/admin
exportORA_NLS10=$ORACLE_HOME/nls/data
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
exportLD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
exportCLASSPATH=$ORACLE_HOME/JRE
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
exportCLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
exportTHREADS_FLAG=native
exportTEMP=/tmp
exportTMPDIR=/tmp
第二个节点的ORACLE_SID=raw2其他都一样
二.安装Oracle10gR2clusterware
1.用Xmanager软件连上虚拟机之后运行clusterware的安装软件,Xmanager支持图形界面,所以能省很多事。
2.确认你的安装目录是/u01/app/oracle/product/crs
3.增加相关结点信息
raw1raw1-privrar1-vip
raw2raw2-privraw2-vip
4.指定eth0的类型时public
5.指定OCR和VotingDisk
一般而言,如果采用存储来存放OCR和VotingDisk.存储本身就提供了redundancy策略,此时我们可以选择ExternalRedundancy选项,此时Oracle就不在考虑软件冗余了。如果没有使用存储设备或者存储为RAID0,那么就可以使用Oracle自己提供的软件冗余机制NormalRedundancy选项,此时就会激活MirrorLocation选项.用来指定镜像文件位置,Oracle的Clusterware在运行时会维护这个Mirror文件的内容同步。
OCR最多只有一份冗余:
/dev/raw/raw1
VotingDisk最多可以定义2份冗余:
/dev/raw/raw2
6.后就开始安装了,结束时会提示用root在每个节点上运行orainstRoot.Sh和root.Sh脚本,在第二个结点上运行root.Sh后自动调用vipca这个命令,在第二个结点运行root.Sh之前要修改一下vipca命令,不然可能会报错。
RAC安装时需要执行4个脚本及意义
http://blog.csdn.net/tianlesoftware/archive/2010/02/22/5317034.aspx
注意:VIPCA命令也是用ROOT用户来运行的,只需要在一个结点运行就可以了。
进入$CRS_HOME/bin/目录,用vi来修改vipca和srvctl2个命令。
问题1:vipca报错,是redhat的bug
Runningvipca(silent)forconfiguringnodeapps
/home/oracle/crs/oracle/product/10/crs/jdk/jre//bin/java:errorwhileloading
sharedlibraries:libpthread.so.0:cannotopensharedobjectfile:
Nosuchfileordirectory
解决方法:
Remembertore-editthesefilesonallnodes:
<CRS_HOME>/bin/vipca
<CRS_HOME>/bin/srvctl
<RDBMS_HOME>/bin/srvctl
<ASM_HOME>/bin/srvctl
afterapplyingthe10.2.0.2or10.2.0.3patchsets,asthesepatchsetwillstillincludethosesettingsunnecessaryforOEL5orRHEL5orSLES10.Thisissuewasraisedwithdevelopmentandisfixedinthe10.2.0.4patchsets.
NotethatweareexplicitlyunsettingLD_ASSUME_KERNELandnotmerelycommentingoutitssettingtohandleacasewheretheuserhasitsetintheirenvironment(loginshell).
$vivipca
......
Linux)LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:$ORACLE_HOME/srvm/lib:$LD_LIBRARY_PATH
exportLD_LIBRARY_PATH
echo$LD_LIBRARY_PATH
echo$CLASSPATH
#Removethisworkaroundwhenthebug3937317isfixed
arch=`uname-m`
if["$arch"="i686"-o"$arch"="ia64"]
then
#LD_ASSUME_KERNEL=2.4.19
#exportLD_ASSUME_KERNEL
echo
fi
#Endworkaround
问题2:如果遇到这个错误:
#vipca
Error0(Native:listNetInterfaces:[3])
[Error0(Native:listNetInterfaces:[3])]
解决方法:
在CRS_HOME下运行oifcfg命令:
raw1#./oifcfgsetif-globaleth0/10.85.10.119:public
#./oifcfgsetif-globaleth1/192.168.1.119:cluster_interconnect
#./oifcfggetif
eth010.85.10.119globalpublic
eth1192.168.1.119globalcluster_interconnect
在raw2:
/bin#./oifcfgsetif-globaleth0/10.85.10.121:public
/bin#./oifcfgsetif-globaleth1/192.168.1.121:cluster_interconnect
/bin#./oifcfggetif
eth010.85.10.121globalpublic
eth1192.168.1.121globalcluster_interconnect
然后在手工运行vipca添加nodeappsresource即可。
问题3:AnunexpectedexceptionhasbeendetectedinnativecodeoutsidetheVM.
UnexpectedSignal:11occurredatPC=0xB7503E29
Function=__libc_free+0x49
Library=/lib/tls/libc.so.6
修改主机名不正确导致的。
RHEL
/etc/sysconfig/network主机名,如果在/etc/hosts中解析不了。就报这个错误!
7.clusterware就安装好了.
确认一下.
$/u01/app/oracle/product/crs/bin/olsnodes-n
raraw1b1
raw2pub2
$ls-l/etc/init.d/init.*
-r-xr-xr-x1rootroot1951Oct414:21/etc/init.d/init.crs*
-r-xr-xr-x1rootroot4714Oct414:21/etc/init.d/init.crsd*
-r-xr-xr-x1rootroot35394Oct414:21/etc/init.d/init.cssd*
-r-xr-xr-x1rootroot3190Oct414:21/etc/init.d/init.evmd*
检查CRS安装启动情况:用Root用户执行:
$CRS_HOME/bin/crsctlcheckcrs
CSSappearshealthy
CRSappearshealthy
EVMappearshealthy
表明CRS安装完成,并且启动成功
#./crs_stat-t-v
注:如果clusterware安装失败,再次运行安装程序,里面可以把之前的安装删除掉,删除之后在进行安装。
三.安装Oracle10gR2database
1.检查Oracle的相关包。Oracle10g需要如下包
binutils-2.15.92.0.2-10.EL4
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9.EL4
gcc-c++-3.4.3-9.EL4
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9.EL4
libstdc++-devel-3.4.3-9.EL4
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
libaio-0.3.96
Toseewhichversionsofthesepackagesareinstalledonyoursystem,runthefollowingcommand:
rpm-qbinutilscompat-dbcontrol-centergccgcc-c++glibcglibc-common/
gnome-libslibstdc++libstdc++-develmakepdkshsysstatxscreensaverlibaioopenmotif21
2.在Xmanager中用oracle用户,运行database的runInstaller
3.ORACLE安装目录指定到/u01/app/oracle/product/10.2.0/db_1
4.把2个node选择上
5.选择InstalldatabaseSoftwareonly
6.会要求你用完全的root权限运行root.sh,分别在2个node上一一运行
7.安装完毕
四.netca创建监听
注:创建数据库过程应该遵循这个顺序:先配置监听,再配置ASM实例,最后创建数据库实例,这样可以减少出错的概率。
1.oracle用户在一个node上运行netca
2.选择所有node
3.选择Listenerconfiguration
4.添加一个LISTEN,1521port
然后结束配置
监听配置成功后,2个结点上的Listener都会坐位ApplicationResource注册到CRS中,这样CRS就可以监控Listener的运行状态。我们可以通过crs_stat-t-v查看Listener状态。
五.创建ASM实例
1.运行DBCA命令
2.选择configureAutomaticStorageManagement,来创建ASM实例
3.选择所有结点
4.输入密码。RAC的spfile必须放在共享目录下。参数文件我们选择第一个initializationparameter。也可以放在我们建的裸设备上。
5.修改asm参数:asm_diskstring=ORCL:VOL*,这样能让Oracle自动发现这些硬盘
6.ASM实例创建完后,用CreateNew来创建ASM磁盘组。我们用VOL1来创建一个DATA组,VOL2创建FLASH_RECOVERY_AREA组。
注:Redundancy一般选external就是也就是不考虑冗余,假如选normal则是mirror,至少要一个FailGroup选High就是triplemirror,3倍镜像,需要三个FailGroup
7.创建完成后,能看到组的状态是Mount,ASM组必须mount之后才能使用。
ASM的相关信息参考blog:
OracleASM详解
http://blog.csdn.net/tianlesoftware/archive/2010/02/21/5314541.aspx
六.配置dbca创建数据库
1.用oracle用户运行dbca
2.选择customdatabase
3.输入数据库的全局名,比如raw
4.输入系统的角色建立密码
5.选择ASM来存储,分别选择我们刚创建的DATA和FLASH_RECOVERY_AREA组
6.DatabaseServices这里,你选择Add你一个新的service,随便叫名字,比如oltp
然后选择TAFPolicy,是Basic。这个服务在RAC的Failover中会用到,如果在这里没有配置,也可以通过dbca命令,选择ServicesManagement来进行配置。具体参考blog:
Oracle RAC Failover 详解
http://blog.csdn.net/tianlesoftware/archive/2010/03/03/5340788.aspx
7.开始创建数据库
七.检查RAC运行状态
1.用oracle用户login,运行
[oracle@raraw1in]$./srvctlstatusdatabase-draw
Instanceraw1isrunningonnoderaw1
Instanceraw2isrunningonnoderaw2
2.[root@raw1bin]#./crs_stat-t
NameTypeTargetStateHost
------------------------------------------------------------
ora.raw.dbapplicationONLINEONLINEraw1
ora.raw.raw.csapplicationONLINEONLINEraw1
ora....aw1.srvapplicationONLINEONLINEraw1
ora....aw2.srvapplicationONLINEONLINEraw2
ora....w1.instapplicationONLINEONLINEraw1
ora....w2.instapplicationONLINEONLINEraw2
ora....SM1.asmapplicationONLINEONLINEraw1
ora....W1.lsnrapplicationONLINEONLINEraw1
ora.raw1.gsdapplicationONLINEONLINEraw1
ora.raw1.onsapplicationONLINEONLINEraw1
ora.raw1.vipapplicationONLINEONLINEraw1
ora....SM2.asmapplicationONLINEONLINEraw2
ora....W2.lsnrapplicationONLINEONLINEraw2
ora.raw2.gsdapplicationONLINEONLINEraw2
ora.raw2.onsapplicationONLINEONLINEraw2
ora.raw2.vipapplicationONLINEONLINEraw2
3.客户端Failover测试
3.1修改C:/windows/system32/drivers/etc/hosts文件,添加如下内容
10.85.10.119raraw10.85.10.121raw2
10.85.10.122raraw1ip
10.85.10.123raw2-vip
3.2修改tnsnames.Ora文件,增加一下内容:
RAC=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=raraw1ip)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=raw2-vip)(PORT=1521))
(LOAD_BALANCE=YES)
(
CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=RAC)
(
FAILOVER_MODE=
(TYPE=session)
(METHOD=basic)
(RETRIES=180)
(DELAY=5)
)
)
)
3.3客户端用sqlplus连接数据库
C:/DocumentsandSettings/Administrator>sqlplussystem/admin@rac
SQL*Plus:Release10.2.0.1.0-Productionon星期六2月2702:06:402010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
连接到:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,RealApplicationClusters,OLAPandDataMiningoptions
SQL>selectinstance_namefromV$instance;
INSTANCE_NAME
--------------------------------
raw2
3.4关闭raw2数据库
[oracle@raw2~]$exportORACLE_SID=raw2
[oracle@raw2~]$sqlplus/assysdba
SQL*Plus:Release10.2.0.1.0-ProductiononSatFeb2702:58:482010
Copyright(c)1982,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,RealApplicationClusters,OLAPandDataMiningoptions
SQL>selectinstance_namefromv$instance;
INSTANCE_NAME
----------------
raw2
SQL>shutdownimmediate
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
3.5在客户段再次查询,自动切换到了raw1
SQL>selectinstance_namefromV$instance;
INSTANCE_NAME
--------------------------------
raw1
八.RAC的卸载
卸载分为几个部分:database的卸载和clusterware(10.2版本说法)的卸载(10.1版本称为CRS:clusterreadyservice)。
oracledatabase的卸载可以利用很多方法-粗野的和温柔的,我这里利用dbca去卸载即可。
database的卸载会把所有节点的instance删除掉,并把唯一的database删除。
卸载database的第二步骤是把所有节点的listener卸载,可以利用netca卸载即可。
最后卸载clusterware,可以用Clusterware的安装程序来卸载,也可以利用脚本进行:
$ORA_CRS_HOME/install/rootdelete.sh-help
对本地节点和远程节点使用不用的命令,详细参考帮助。
[root@raraw1nstall]#./rootdelete.sh--help
Usage:rootdelete[-help][local|remote][nosharedvar|sharedvar][sharedhome|nosharedhome][-downgrade[-version<version>]]
/-help:printthismessage
local:ifthisnodeisthenodewhereOUIistoberuntodeinstall,otherwiseuse'remote'
sharedvar:OCRisonasharedpath,otherwiseuse'nosharedvar'
sharedhome:CRShomeisonasharedpath,otherwuseuse'nosharedhome'
/-downgrade:OracleclusterwareandOCRwillberesetfordowngrade
/-version<version>:OCRlocationfilewillresetfordowngradetospecifiedversion,default:10.1
[root@raraw1nstall]#./rootdelete.shlocalsharedvarsharedhome-downgrade
[root@raraw1nstall]#./rootdelete.shremotesharedvarsharedhome-downgrade
最后在本地节点执行
$ORA_CRS_HOME/install/rootdeinstall.sh
即可。
脚本执行是比较安全的方式,完成之后把相关目录删除即可完成clusterware的卸载。
补充:RAC安装的相关问题解决方法:
问题一:
安装好RAC后,在用DBCA建库时选择ASM做为存储方案时,有时候会报错说ASM是单实例环境,不是RAC环境,这样就无法继续建库下来,出错信息如下:
TheASMinstanceconfiguredonthelocalnodeisasingle-instanceASM.Tocreateasingle-instancedatabaseusingthisASMinstance,restartDBCAandselectthesingle-instancedatabaseoption,tocreateaRACdatabaseusingthisASMinstance,convertittoRACASMfirst.
这个错误一般是发生在重装clusterware和database后,这样无论怎么样重启DBCA运行都会报同样的错。具体的解决办法便是在/etc/oratab里面的关于ASM的记录:+ASM1:/u01/app/oracle/product/10.2.0/db_1:N这么一行删除掉,再接着建库就可以了。
问题二:
创建ASM时报:ORA-12547:TNS:lostcontact
解决方法:
$cd$ORACLE_HOME/rdbms/lib
$make-fins_rdbms.mkioracle
问题三:在CRS安装时,最后执行root.sh时,后执行的节点上无法成功,提示:
#./root.sh
WARNING:directory'/u01/app/oracle/product/10.2.0'isnotownedbyroot
WARNING:directory'/u01/app/oracle/product'isnotownedbyroot
WARNING:directory'/u01/app/oracle'isnotownedbyroot
WARNING:directory'/u01/app'isnotownedbyroot
WARNING:directory'/u01'isnotownedbyroot
CheckingtoseeifOracleCRSstackisalreadyconfigured
SettingthepermissionsonOCRbackupdirectory
SettingupNSdirectories
FailedtoupgradeOracleClusterRegistryconfiguration
另外有一种提示为:PRIF-10:failedtoinitializetheclusterregistry
解决方法:关闭共享磁盘的锁定属性
SSA或者FASTT系列盘阵关闭磁盘锁定用:/usr/sbin/chdev-lhdiskn-areserve_lock=no
ESS,EMC,HDS,CLARIION系列盘阵关闭磁盘锁定用:/usr/sbin/chdev-lhdiskn-areserve_policy=no_reserve
在虚拟机上就是添加参数.disk.locking="false"
相关推荐
RedHat 5.3 上orale RAC 的安装文档(详细版) 看不明白的QQ交流:295249907
oracle11g+asm+rac安装指南
硬件设备是2台SUN V490,一台是SOLARIS9,一台是Solaris10,连接EMC存储。 数据库是Oracle10.2.0.1,存储方面选择了ASM.文档里有很多截图。
Oracle11g+ASM+RAC在linux上安装指导
aix6.1+oracle 11gr2+asm+rac 安装文档
ISCSI+ASM+RAC实施文档,帮助你更好的学习rac
完整的Oracle11g+ASM RAC的搭建过程,包括截图,步骤清晰明了,欢迎提意见
数据库安装文档_Suse11sp1+Oracle11gR1+asm+RAC
OracleLinux6.1+Oracle11.2.0.1RAC+ASM安装过程 OracleLinux 安装数据库案例
oracle11g+gird+asm+RAC 配置data guard
ORACLE10r2+RAC+ASM ORACLE10r2+RAC+ASM ORACLE10r2+RAC+ASM
实战完美搭建Oracle 11gR2_RAC+ASM+DG(最新精编版)
Redhat AS4 Oracle10g+ASM单实例转RAC
AIX6.1+RAC 11.2.0.1+ASM安装手记
ORACLE10G R2 RAC安装参考文档.pdf
Oracle11204+RAC+ASM+Centos7超强安装手册
For AIX6.1+ASM安装手册小白必备书籍,现场实施专用。
实在是没啥说的,应该是只有懂的人才下载吧,标题上都写清楚了啊,要是再不会就私信我好吧,看见了会回复的