Oracle 11g rac 生产环境部署详录




作者:田逸(sery@163.com




 




基本规划





 




设备选型




1、服务器:Dell R620 两台。cpu 8 core,内存64G600G 15000sas硬盘,双电源,hba卡一块,连接存储线缆一根(连接hba卡和共享存储)。




2、存储:dell MD3200 一台。双控制器,12600G 15000sas硬盘。为追求最高可用性,使用的raid级别是raid10.




3、交换机:华为3com两台,型号为h3c S5048E。注意:网络端口最好是全千兆。




4、网线:2-3米机制6类线数根。--曾遇到网线不够,问IDC机房要了根网管自己做的六类线,质量不行,结果导致rac节点之间心跳检查时好时坏。




5、辅助设备:***kvm over ip各一个




1)小型简单的***DI-8200 上网行为管理认证路由器。价格1000多,便宜稳定。很适合拿来配***,用于登录系统,管理各个服务器。      


2kvm overip型号为ATEN cn8000。在系统不能远程登录的时候,打电话给IDC技术人员,让他们把这个设备连接到故障机,然后通过浏览器进行各种处理,如重装系统、查看屏幕信息、ctrl + Alt + Del重启等。这跟直接去机房连显示器和键盘是一样的效果。我敢保证,打车去机房现场处理,一定没电话给IDC机房,让人给接上这个设备快.




 



网络规划




1、网卡绑定:2个网卡绑定在一起,服务器的四个网卡,正好全部用上。即有效利用了带宽,又能增强可用性。




2ip地址分配:应用连接网络地址为172.16.208.0/24,节点间心跳网络地址为 192.168.208.0/24




3、网络连接及管理




1)心跳网络与应用网络物理分离,各接一个交换机。




2)服务器没有公网地址,必须通过***拨号,才能进行系统登录管理。




 



系统及所需工具




1、服务器操作系统:centos 5.9 64位,定制安装系统,选件包括xwindowgnome。因安装oracle时需要图形用户界面,一个好的选择就是vncserver。在进行正式部署前,最好确保安装好了vncserver。一个定制好的系统的分区为:




[root@rac70 ~]# df -h




Filesystem            Size  Used Avail Use% Mounted on




/dev/sda6              29G   16G   12G  60% /




/dev/sda9             362G  215G  129G  63% /u01




/dev/sda8              15G  165M   14G   2% /tmp




/dev/sda7              19G   15G  3.9G  79% /home




/dev/sda5              29G  2.5G   25G  10% /usr




/dev/sda3              29G  321M   27G   2% /var




/dev/sda1              99M   19M   75M  21% /boot




tmpfs                  32G   18G   15G  55% /dev/shm




2、oracle软件:





(1)集群管理软件linux.x64_11gR2_grid.zip,从oracle官网下载(需要注册为境外的电子邮件)





(2)数据库软件 linux.x64_11gR2_database,从oracle官网下载(需要注册为境外的电子邮件)





(3)存储管理软件 mdstoragemanager,从供货商获得光盘或者从dell的官网下载





(4)oracle asm相关软件:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm、oracleasmlib-2.0.4-1.el5.x86_64.rpm、oracleasm-support-2.1.7-1.el5.x86_64.rpm。这三个软件,一定要跟操作系统内核版本相一致,否则不能进行后边的操作。





 



◎分区使用及文件系统





1、oracle数据库及集群软件安装在本地硬盘/u01分区。





(1)集群软件路径 /u01/app/grid





(2)数据库软件路径 /u01/app/oracle/product/11.2.0





(3)集群软件和数据库软件base路径为都为 /u01/app/oracle。因为软件安装路径(ORACLE_HOME)不能与BASE是同一个目录,因此这里弄得有点混乱,甚至有点别扭。幸运的是,这样令人疑惑的设置也能正常工作。希望将来的项目,可以提前把这样的设置规划得更规范些。打开一个安装好的环境,进入ORACLE_BASE目录,其子目录如下:





[root@db40 oracle]# ll




total 20




drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 admin




drwxr-x--- 6 oracle oinstall 4096 Mar  2 23:52 cfgtoollogs




drwxr-xr-x 2 oracle oinstall 4096 Mar  2 23:20 checkpoints




drwxrwxr-x 5 oracle oinstall 4096 Mar  2 23:52 diag




drwxr-xr-x 3 oracle oinstall 4096 Mar  2 23:12 product




再进入目录diag,有三个子目录存在:





[root@db40 diag]# ll




total 12




drwxr-x--- 3 oracle oinstall 4096 Mar  2 21:50 asm




drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 rdbms




drwxr-xr-x 3 oracle oinstall 4096 Mar  2 21:53 tnslsnr




瞧,asm文件系统、数据库以及监听器的告警日志都能在这里找到。如asm告警日志/u01/app/oracle/diag/asm/+asm/+ASM2/alert/log.xml。





2、数据存储使用oracle自家ASM(自动存储管理),划分三个asm磁盘组:OCR、FLASH、DATA(OCR占据空间最小大约分配500M;FLASH次之,分配大概300G;剩余的全部分配给DATA)。其中:





◆OCR存储集群注册信息





ASMCMD> pwd     




+OCR/db1-scan




ASMCMD> ls




ASMPARAMETERFILE/




OCRFILE/




◆FLASH存储归档日志及rman默认备份集





ASMCMD> cd FLASH




ASMCMD> ls




ZYZF/




ASMCMD> cd ZYZF




ASMCMD> ls




ARCHIVELOG/




BACKUPSET




◆DATA存储oracle数据库元数据及用户数据





ASMCMD> cd DATA




ASMCMD> ls




ZYZF/




ASMCMD> cd ZYZF




ASMCMD> ls




CONTROLFILE/




DATAFILE/




ONLINELOG/




PARAMETERFILE/




TEMPFILE/




control01.ctl




control02.ctl




………此处输出省略若干…………….





redo07.log




redo08.log




spfilezyzf.ora




3、Dell MD3200存储管理软件使用默认安装路径 /opt/dell/mdstoragesoftware。





4、asm管理软件使用rpm包安装,安装文件自然满山放羊,到处都有:比如配置文件在/etc/sysconfig/oracleasm,设备名在目录/dev/oracleasm/disks,可执行文件在这里/etc/init.d/oracleasm。





 



拓扑图clip_image002




 




执行步骤





1、  准备运行环境;




2、  准备及配置共享存储;




3、  准备数据库存储空间;




4、  安装集群工具grid;




5、  安装和创建oracle数据库




特别说明:因为文档为后期撰写,为了描述更详尽,截图可能来自不同的运行环境,因此如果出现图片中ip地址与描述不一致的情况,请勿过多质疑。




 



(一)、准备运行环境




这里的运行环境环境主要包括远程桌面环境(我使用的是vnc服务)、安装软件所需的依赖工具、创建相关的帐号及目录、设置网络连接等。




 



设置网络(每个节点都需要设置)




修改文件 /etc/modprobe.conf,使其内容为:




alias scsi_hostadapter mpt2sas




alias eth0 tg3




alias eth1 tg3




alias eth2 tg3




alias eth3 tg3




alias scsi_hostadapter1 megaraid_sas




alias scsi_hostadapter2 ahci




alias scsi_hostadapter3 usb-storage




# Begin Dell MD Modification




options scsi_dh_rdac blacklist="DELL:MD3000,DELL:MD3000i"




# End Dell MD Modification




alias bond0 bonding




options bond0 miimon=100 mode=0




alias bond1 bonding




options bond1 miimon=100 mode=0




修改网络接口文件,使其内容如下(为了描述方便,数个文件一起贴出)




[root@rac70 network-scripts]# more ifcfg-eth0




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth0




#HWADDR=E0:DB:55:20:E7:10




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond0




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth1




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth1




BOOTPROTO=none




#HWADDR=e0:db:55:20:e7:11




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond0




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth2




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth2




BOOTPROTO=none




#HWADDR=e0:db:55:20:e7:12




ONBOOT=yes




TYPE=Ethernet




USERCTL=no




MASTER=bond1




SLAVE=yes




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-eth3




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=eth3




#HWADDR=E0:DB:55:20:E7:13




ONBOOT=yes




HOTPLUG=no




BOOTPROTO=none




TYPE=Ethernet




MASTER=bond1




SLAVE=yes




TYPE=Ethernet




创建新的网络配置文件,其完整内容如下:




[root@rac70 network-scripts]# more ifcfg-bond0




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=bond0




BOOTPROTO=none




BROADCAST=172.16.208.255




IPADDR=172.16.208.70




NETMASK=255.255.255.0




NETWORK=172.16.208.0




ONBOOT=yes




GATEWAY=172.16.208.201




TYPE=Ethernet




 



[root@rac70 network-scripts]# more ifcfg-bond1




# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe




DEVICE=bond1




BOOTPROTO=none




ONBOOT=yes




DHCP_HOSTNAME=oracle70




TYPE=Ethernet




USERCTL=no




IPADDR=192.168.208.70




NETMASK=255.255.255.0




追加下面的行到/etc/rc.local文件




modprobe bonding miimon=100 mode=0




配置完毕后,重启一下系统,检查配置的正确性及联通性。正确配置的输出如下图所示:




clip_image004




 



配置vnc服务(每个rac节点都需要配置)




1确保安装了vncserver软件。测试方法:任意路径执行命令 vncserver,如果命令不存在,则运行命令yum install vncserver安装一下。




2、执行 vncserver启动服务,如果是第一次启动,需要设置vnc服务的密码,这里建议设置跟系统root相同的密码(要用复杂密码哟!)。




3、修改文件/root/.vnc/xstart,使其内容为:




#!/bin/sh




 



# Uncomment the following two lines for normal desktop:




unset SESSION_MANAGER




exec /etc/X11/xinit/xinitrc




 



[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup




[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources




xsetroot -solid grey




vncconfig -iconic &




xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &




#twm &




gnome start&




4、重启系统,再启动vncserver,然后在windows机器启用vnc客户端,远程连接,看是否能出现远程服务器的图形桌面。




clip_image006




 



创建安装软件所需的帐号、目录、依赖软件等。为了节省时间和避免出错,我把这些步骤写成一个粗糙的脚本,执行一次就可以了。脚本的内容如下:




[root@db40 oracle_rac]# more oracle_rac_rep.sh




#!/bin/bash




#writed by sery 2012-05-16




 



#########################################




#install depending packages             #




#########################################




yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc \ glibc-common glibc-devel gcc gcc-c++ libaio-devel \




libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel \




pdksh numactl-devel glibc-headers




 



########################################




#add groups,user and create dir        #




########################################




/usr/sbin/groupadd -g 501 oinstall




/usr/sbin/groupadd -g 502 dba




/usr/sbin/groupadd -g 504 asmadmin




/usr/sbin/groupadd -g 506 asmdba




/usr/sbin/groupadd -g 507 asmoper




 



useradd -u 1000 -g oinstall -G dba,asmdba oracle




useradd -u 1006 -g oinstall -G asmadmin,asmdba,asmoper grid




 



mkdir /u01/app/




chown -R grid:oinstall /u01/app/




chmod -R 775 /u01/app/




 



mkdir -p /u01/app/oraInventory




chown -R grid:oinstall /u01/app/oraInventory




chmod -R 775 /u01/app/oraInventory




 



mkdir -p /u01/app/grid




mkdir -p /u01/app/oracle




 



chown -R grid:oinstall /u01/app/grid




chown -R oracle:oinstall /u01/app/oracle




 



chmod -R 775 /u01/app/oracle




chmod -R 775 /u01/app/grid




 



##############################################




#modify  sysctl.conf                         #




##############################################




cat >> /etc/sysctl.conf <<done




fs.file-max = 6815744




kernel.shmall = 2097152




#kernel.shmmax = 536870912




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 = 1048576




fs.aio-max-nr = 1048576




done




 



sysctl -p




 



###############################################




#modify  /etc/security/limits.conf            #




###############################################




cat >> /etc/security/limits.conf << done




grid soft nproc 2047




grid hard nproc 16384




grid soft nofile 1024




grid hard nofile 65536




oracle soft nproc 2047




oracle hard nproc 16384




oracle soft nofile 1024




oracle hard nofile 65536




done




 



################################################




#modify /etc/pam.d/login                       #




################################################




echo "session    required     pam_limits.so">>/etc/pam.d/login




 



################################################




# setting user oracle env                            #




################################################




cat >> /home/oracle/.bash_profile <<done




export ORACLE_SID=zyzf1




export ORACLE_UNQNAME=zyzf1




export ORACLE_base=/u01/app/oracle




export ORACLE_HOME=/u01/app/oracle/product/11.2.0




export PATH=$ORACLE_HOME/bin:$PATH




done




 



###############################################




#setting user grid env                             #




###############################################




cat >> /home/grid/.bash_profile <<done




export ORACLE_SID=+ASM1




export ORACLE_BASE=/u01/app/oracle




export ORACLE_HOME=/u01/app/grid




export PATH=$ORACLE_HOME/bin:$PATH




done




 



设置相关主机名及ip映射(每个节点都要进行)




修改文件/etc/hosts,使其内容为:




[root@db40 oracle_rac]# more /etc/hosts





# Do not remove the following line, or various programs




# that require network functionality will fail.




127.0.0.1       db40    localhost.localdomain localhost




::1             localhost6.localdomain6 localhost6




 



# Pubic




172.16.5.40         db40




172.16.5.50         db50




# Private




10.16.5.40        db40-priv




10.16.5.50        db50-priv




# Virtual




172.16.5.41         db40-vip




172.16.5.51         db50-vip




# SCAN




172.16.5.55         db1-scan




 



#dghost




172.16.5.60        datadg




 



(二)、准备及配置共享存储




 



确保服务器与存储设备做好了物理连接:通过查看设备指示灯获得信息。正常情况下,hba卡的指示灯、存储设备连线处的指示灯,都应该显示绿色。




 



主机安装存储管理软件powervault。注意:每个rac节点都需要安装,否则未安装的节点将不能发现共享磁盘。具体的过程如下:




远程vnc连接服务器




进入软件目录,执行命令./md_launcher_rhel_x86_64.bin




clip_image008




弹出安装窗口;




clip_image010




鼠标点击Install MD Storage Software




clip_image012




选默认的情况就行;




clip_image014




选择sas(我用的是MD3200,正好匹配),后边的安装就很容易了,这里不在赘述。安装完系统后,将在桌面生成图标,点击图表,就可以进行存储管理。




 



clip_image016




如果不幸出现如下错误,请修改/etc/hosts文件解决




clip_image017




配置共享存储(在一个节点上执行即可)




1、双击图标,启动存储管理工具




clip_image019




2、选择手动Manual,然后选择带内管理




clip_image021




3此处输入连接磁盘阵列的主机ip地址




4创建磁盘组,选择raid级别为RAID10,把12个盘都选择上,这个过程很费时间




clip_image023




5虚拟磁盘映射到主机,目的是要连接到阵列的主机都能访问到虚拟磁盘组




clip_image025




6填入一个容易标识的名称




clip_image027




7鼠标右键点击刚创建的主机组名称,调出主机定义




clip_image029




8输入主机名(以/etc/hosts为准)




clip_image031




9选择连接端口,这里需要注意,弄错了,主机识别不到磁盘组的




clip_image033




10鼠标点击按钮”Add”




clip_image035




定义好第一个主机后的界面为




clip_image037




用同样的方法,把余下的主机也定义好。




clip_image038




11定义附件映射,亦即是给主机分配可访问的磁盘空间




clip_image040




12、点击附加映像




clip_image042




13、选定虚拟磁盘(前边做raid创建出来的),然后鼠标点击Add




clip_image044




检查rac节点服务器是否识别上述步骤创建的虚拟磁盘(每个节点都要检查,确保其正确性)。在主机上执行fdisk –l




clip_image045




如果没有识别,重启一下系统就好了。




主机磁盘分区(仅需在一个主机进行,完成后在其它主机查看分区情况)




因为容量大于2TB,因此需要使用parted进行分区。根据规划,我们需要分6个分区,分别用来存储OCRFLASH AREA及数据文件。




分区前,使用multipath –ll查看磁盘设备文件的名称,确保分区在正确的设备上进行




clip_image046




进入目录 /dev/mapper,查看是否存在mpath*这样的文件




clip_image047




本例显示的磁盘阵列映射的设备名是mpath2,那么用dparted分区,就要在/dev/mapper/mpath2上进行了。分区后的结果如下




clip_image048




◆检查分区是否成功?进入目录/dev/mapper,可以看到分区后新生成的文件




clip_image049




 



 



(三)安装和配置自动存储管理ASM




 



oracle 11g rac推荐的存储方式为ASMAutomatic Storage Management),具体功能和概念,就没必要在这里重复。我们需要根据系统的内核版本,在官网下载与内核相一致的rpm安装包。




clip_image051




一共三个,如图所示:




clip_image053




如果下载来的包跟内核不匹配,将会导致asm初始化失败,不能进行进一步的操作。这是初学者很容易犯的错误,切记了!




 



安装asm相关的软件包




执行 rpm –ivh oracleadm*进行安装。这几个包之间有依赖关系,如果一个个单独安装,需要按某种顺序进行,如果使用通配符*,就省事多了,它能自动进行依赖处理。




clip_image055




安装完oracleasm以后,至少会生成目录 /dev/oracleasm/disks,这时我们可以查看一下这个目录,发现它里面是空的,接下来的操作,就可以在目录里生成如果文件了。




执行/etc/init.d/oracleasm configure ,进行初始化,根据输出指定asm的属主及组。




接下来,就可以创建asm磁盘组了,所执行的命令如下:




[root@db40 ~]# service oracleasm start




Initializing the Oracle ASMLib driver: [  OK  ]




Scanning the system for Oracle ASMLib disks: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL1 /dev/mapper/mpath2p1




Marking disk "OCR_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL2 /dev/mapper/mpath2p2





Marking disk "OCR_VOL2" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL1 /dev/mapper/mpath2p3




Marking disk "FLASH_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL2 /dev/mapper/mpath2p4




Marking disk "FLASH_VOL2" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL1 /dev/mapper/mpath2p5





Marking disk "DATA_VOL1" as an ASM disk: [  OK  ]




[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL2 /dev/mapper/mpath2p6





Marking disk "DATA_VOL2" as an ASM disk: [  OK  ]




我一共创建6oracle asm磁盘,这样做的好处是把数据尽可能的分散到不同的磁盘区域,后边再把2asm磁盘合并成一个磁盘组,提高可用性和扩充空间。




 



如果执行过程出现故障,可通过日志文件/var/log/oracleam看出端倪。执行完以后,用一下方法检查是否如愿(一次安装过程中,发现一个节点没有目录/dev/oracleasm,日志/var/log/oracleasm有“oracleasm-read-label: Unable to open device "/dev/sdb1": No such file or directory”,折腾半天,原来是没执行/etc/init.d/oracleasm enable):




 



检查oracleasm创建的磁盘是否成功




(1)       查看系统目录,看是不是至少存在6个文件




clip_image056




2)从逻辑上查看asm磁盘组,记得要在每一个rac主机查询




[root@db50 ~]# /etc/init.d/oracleasm scandisks




Scanning the system for Oracle ASMLib disks: [  OK  ]




[root@db50 ~]# /etc/init.d/oracleasm listdisks




DATA_VOL1




DATA_VOL2




FLASH_VOL1




FLASH_VOL2




OCR_VOL1




OCR_VOL2




 



 



(四)安装集群软件grid




 



grid软件安装(安装过程只需在一个节点执行,有脚本需要同时在每个节点都运行,请注意看安装提示就可以了)。




 



Vnc连接服务器,打开终端,执行xhost + ,接着进入源安装文件目录,执行命令 ./runInstaller,如果正常,将弹出如下图的安装界面:




clip_image058




选择典型安装




SCAN的名称,要与/etc/hosts完全一致,特别注意,在同一个网段内,要保证这个命名的唯一性如果在同一网段内部署多个oracle rac集群,scan的命名如果重复了,安装将不能继续进行!!!




clip_image060




加入余下的主机(默认情况下,只有一个主机显示)




clip_image062




一定要对着/etc/hosts定义好的填写




clip_image063




添加好后,主机名应该显示在列表中




clip_image065




Ssh连接验证,点按钮”SSH Connectivity …”,这里一定要做好ssh无密码验证,否则下一步不能进行(我在这里费了好长的时间啊)。




clip_image067




说明:ssh连接,也可以不用手工设置,直接点那个setup进行处理,省事不少。




选择安装目录及存储位置(注意base要有location不一样哟)




clip_image069




创建asm磁盘组,因为磁盘阵列做了raid10,因此下边的冗余等级就选择外部的(External




clip_image071




这些名字看着眼熟吧?就是前边oracleasm createdisk创建出来的。这里勾选2个项目,目的在于把他们合并成一个asm磁盘组。如果此处没有找到候选磁盘,则需点击按钮“Change Discovery Path”就,进行手工查找。




clip_image072




最好输入全路径,幸运的是,这里支持通配符.这里创建的磁盘组,是用来存储asm磁盘仲裁等信息。




再往下进行校验,突然弹出一个报错信息,是关于ntp的。先关闭ntpd服务,然后删掉配置文件/etc/ntp.conf,这样就排除了故障。




clip_image074




到这里以后,一般不会出什么状况,只管点按钮“完成”进行文件的提取和安装,执行到一定程度后,需要以root帐号执行两个脚本/u01/app/oraInventory/orainstRoot.sh/u01/app/grid/root.sh,后一个脚本很费时间,也容易出错。




 



第一个服务器,执行一次通过,但第二个服务器执行时,出现错误信息:




ASM failed to start. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-14030210PM2304.log for details.




 



Configuration of ASM failed, see logs for details




Did not succssfully configure and start ASM




CRS-2500: Cannot stop resource 'ora.crsd' as it is not running




CRS-4000: Command Stop failed, or completed with errors.




Command return code of 1 (256) from command: /u01/app/grid/bin/crsctl stop resource ora.crsd -init




Stop of resource "ora.crsd -init" failed




通过对比检查,发现两个服务器的目录属主有不一致的地方。正确运行脚本成功的那个/dev/oracleasm/下的目录属主是grid:oinstall,而有问题的那个主机的属主是root:root,执行/ete/init.d/oracleasm指定属主和组,保证文件的属组和主是正确的,然后执行./roothas.pl -delete -force -verbose  ,删除不成功的配置,最后执行/u01/app/grid/root.sh完成安装。注意:安装界面有2个失败,是因为私有地址做的public,可以无视。




 



◎检查安装的正确性





 



(1)       查看asm进程




(2)       grid帐号,执行 asmcmd ,提示符下ls查看目录或者文件,有内容者则是我们锁需要的。




clip_image075




(3)       查看安装目录,看是否生成相关的目录很文件




clip_image076




 



(五)Oracle安装和数据库创建




 



安装数据库软件(在一个节点进行操作,安装过程中,有脚本需要同时在每个节点都运行,请注意看安装提示就可以了)




 



与安装grid一样,还是需要用vnc连接到某个节点的系统,执行 xhost + ,然后再打开一个终端,执行 su – oracle 切换到oracle用户。再进入安装源文件的目录,执行脚本./runInstaller,如果正常,将弹出如下图的安装界面:




clip_image078




先安装软件,后边单独创建数据库。




grid一样,需要先进行ssh验证




clip_image080




验证成功以后,后边的步骤不容易出错,也跟单实例安装基本相同。




 



创建数据库(在一个节点上操作)




 



oracle帐号执行dbca




clip_image082




若干下一步后,咱们还是选择定制方式吧(Custom Database




clip_image084




记得把所有的主机都选上




clip_image086




创建所需asm磁盘组(前边安装grid时,已经创建过一组了):grid用户执行asmca




clip_image088




手工输入和选定一些项目




clip_image090




转呀转,要一点点耐心,嘿!刚敲到这里,就出来了




clip_image091




创建好后,目前还可以改哟。将来数据库上线运行了,不能再做这个尝试了。现有环境创建完后汇总输出如下




clip_image093




选择数据库文件存放的位置。当然要选ASM。如果不执行这个磁盘组创建过程,后面的数据库文件存放位置,如果选asm,将不能往下进行。




clip_image095




选容量最大的这个(OCR已经被前边的操作占用了,FLASH留到后边用)




clip_image097




往下一步的时候,需要输入asm的一个密码。密码在前天的grid安装设定的哟,要记牢。




归档区也用asm,这就用上前边剩下的asm磁盘组FLASH,一个也没多余。




clip_image099




自己动手,选大的




clip_image101




归档要打勾哟(当然实例运行起来后,也是可以打开的)




clip_image103




后边几步,就不用截图了。到这里,就慢慢等着吧




clip_image105




 



部署过程,很漫长,也很考验人的耐性。




 



后续及注意事项





 




oracle rac数据库创建后,默认的一些系统表空间太小,运行不了多久,就会达到90%以上,最好在创建完毕后把它改大一些。




oracle rac监听器监听的ip地址是虚拟地址,如果尝试连接实际物理地址,将永远不会得逞。




oracle rac心跳检查导致大量的数据通讯,因此对网络的质量和速度要求较高。一个运行中的oracle rac集群,曾因为少买了一根网线而使用机房提供的劣质六类线,导致心跳检测时好时坏,引起实例关闭。




用户表空间,固定大小,扩充容量以创建多个数据文件为佳。




默认的重做日志文件也很小,需要多创建几个日志组,并增大其容量。




oracle rac运行起来后,一定要做好备份,熟练的用好rman,将会有很多好处。




如果条件运行,跨机房的dataguard给弄上哟。




多路径没配好,可能会导致数据路径交替切换,一会走这条数据线,一会又走另一条数据线。直接的表现就是数据访问缓慢。通过查询报警日志可以得到有用的信息。




报警日志文件非常有用,要经常关注它!




修改/etc/sysconfig/ntp,增加行OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" 重启ntpd服务




Ssh等效要双向,即从任何一个服务器可以无密码登录另一个服务器系统




/etc/hosts的第一行,要把主机名去掉;同时/etc/sysconf/network里面的名称,要与/etc/hosts一致




Oracleasm配置时,一定要注意属主和组名。否则会有权限问题。Oracleasm configure –i 指定interferegrid,groupsoinstall。因为oracle帐号也属于oinstall




 



写这些文字,花了不少时间,希望能对需要的人有所帮助。网上有一些文档,但大部分都是虚拟环境,领会不了asm真实场景的特性。




 



                                                      2014-8-28 大兴黄村出租房