这篇文章主要为大家展示了“Linux下Oracle 11.2.0.1 RAC如何安装”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下Oracle 11.2.0.1 RAC如何安装”这篇文章吧。

操作系统是OracleEnterprise Linux 5,两个节点 rac1和rac2,网卡eth0作为public,eth2作为private,假设之前已添加一块20G容量的共享磁盘。

关于Oracle Enterprise Linux 下载,可以在https://edelivery.oracle.com/osdc/faces/Home.jspx登陆后下载。

主机配置

所有命令在root用户下执行。

配置共享存储。共享存储可视为/dev/sdb设备。将使用fdisk命令创建两个10G大小的两个分区。 两个新的分区将用于ASM。

--listdevicesls/dev/sd*/dev/sda/dev/sda1/dev/sda2/dev/sdb

--addtwopartitionsfdisk/dev/sdbThenumberofcylindersforthisdiskissetto2610.Thereisnothingwrongwiththat,butthisislargerthan1024,andcouldincertainsetupscauseproblemswith:1)softwarethatrunsatboottime(e.g.,oldversionsofLILO)2)bootingandpartitioningsoftwarefromotherOSs(e.g.,DOSFDISK,OS/2FDISK)Command(mforhelp):nCommandactioneextendedpprimarypartition(1-4)pPartitionnumber(1-4):1Firstcylinder(1-2610,default1):Usingdefaultvalue1Lastcylinderor+sizeor+sizeMor+sizeK(1-2610,default2610):+10240MCommand(mforhelp):nCommandactioneextendedpprimarypartition(1-4)pPartitionnumber(1-4):2Firstcylinder(1247-2610,default1247):Usingdefaultvalue1247Lastcylinderor+sizeor+sizeMor+sizeK(1247-2610,default2610):Usingdefaultvalue2610Command(mforhelp):wThepartitiontablehasbeenaltered!Callingioctl()tore-readpartitiontable.Syncingdisks.

--listnewpartitionsfdisk-l/dev/sdbDisk/dev/sdb:21.4GB,21474836480bytes255heads,63sectors/track,2610cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sdb11124610008463+83Linux/dev/sdb2124726101095633083Linux

添加组

--requiredgroups/usr/sbin/groupadd-g501oinstall/usr/sbin/groupadd-g502dba/usr/sbin/groupadd-g503oper

添加Oracle用户

/usr/sbin/useradd-u502-goinstall-Gdbaoracle

修改Oracle用户密码

passwdoracle

在 /etc/sysctl.conf下添加内核参数

#kernelparametersfor11ginstallationkernel.shmmni=4096kernel.shmmax=4398046511104kernel.shmall=1073741824kernel.sem=25032000100128fs.aio-max-nr=1048576fs.file-max=6815744net.ipv4.ip_local_port_range=900065500net.core.rmem_default=262144net.core.rmem_max=4194304net.core.wmem_default=262144net.core.wmem_max=1048586

应用内核参数

/sbin/sysctl-p

为用户Oracle在/etc/security/limits.conf文件中添加以下行以设置shell限制

--shelllimitsforusersoracle11gR2oraclesoftnproc131072oraclehardnproc131072oraclesoftnofile131072oraclehardnofile131072oraclesoftcoreunlimitedoraclehardcoreunlimitedoraclesoftmemlock50000000oraclehardmemlock50000000

“/ etc / hosts”文件必须包含服务器的完全限定名称。

<IP-address><fully-qualified-machine-name><machine-name>

“/ etc / hosts”下输入以下数据

127.0.0.1localhost.localdomainlocalhost#public192.168.0.50rac1.dbaora.comrac1192.168.0.51rac2.dbaora.comrac2#private192.168.1.60rac1-priv.dbaora.comrac1-priv192.168.1.61rac2-priv.dbaora.comrac2-priv#virtual192.168.0.70rac1-vip.dbaora.comrac1-vip192.168.0.71rac2-vip.dbaora.comrac2-vip#scan192.168.0.20rac-scan.dbaora.comrac-scan

验证rac1.dbaora.com上的th0和eth2的网络响应

[root@rac1~]#pingrac1-c1PINGrac1.dbaora.com(192.168.0.50)56(84)bytesofdata.64bytesfromrac1.dbaora.com(192.168.0.50):icmp_seq=1ttl=64time=0.032ms---rac1.dbaora.compingstatistics---1packetstransmitted,1received,0%packetloss,time0msrttmin/avg/max/mdev=0.032/0.032/0.032/0.000ms[root@rac1~]#pingrac1-priv-c1PINGrac1-priv.dbaora.com(192.168.1.60)56(84)bytesofdata.64bytesfromrac1-priv.dbaora.com(192.168.1.60):icmp_seq=1ttl=64time=0.036ms---rac1-priv.dbaora.compingstatistics---1packetstransmitted,1received,0%packetloss,time0msrttmin/avg/max/mdev=0.036/0.036/0.036/0.000ms

检查哪些软件包已安装,哪些软件包缺失

rpm-q--qf'%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n'binutils\compat-libstdc++-33\elfutils-libelf\elfutils-libelf-devel\gcc\gcc-c++\glibc\glibc-common\glibc-devel\glibc-headers\ksh\libaio\libaio-devel\libgcc\libstdc++\libstdc++-devel\make\sysstat\unixODBC\unixODBC-devel

安装缺失的包。 这只是一个例子:

#directorywithmountedOracleEnterpriseLinux5installdiskcd<pathwithOracleEnterpriseLinux5>/Server/Packages#installmissedpackages(exampleforpackageunixODBC*)rpm-UvhunixODBC*

禁用SecureLinux

要禁用SecureLinux编辑“/etc/selinux/config”文件,确保SELINUX设置如下,它需要重启才能有效。

SELINUX=disabled

禁用Firewall

可以在图形模式下或手动禁用防火墙。

执行下面的命令手动禁用

serviceiptablesstopchkconfigiptablesoff

更改NTP

需要禁用NTP(Network Time Protocol)或修改其设置,以便Oracle Cluster Time Synchronization Service(ctssd)可以同步RAC节点的时间。

选项1 - 禁用NTP

servicentpdstopShuttingdownntpd:[OK]chkconfigntpdoffmv/etc/ntp.conf/etc/ntp.conf.origrm/var/run/ntpd.pid

选项2 - 更改NTP

如果要保留NTP,请在“/etc/sysconfig/ntpd”文件中添加“-x”选项。

OPTIONS="-x-untp:ntp-p/var/run/ntpd.pid"

并重新启动NTP

#servicentpdrestart

在操作系统安装过程中,可以禁用 SElinux、Firewall,不启动NTP,这样在主机配置中可省略。

目录

创建ORACLE_BASE

mkdir-p/ora01/app/oracle

为grid和database软件创建ORACLE_HOME

mkdir-p/ora01/app/oracle/product/11.2.0/db_1mkdir-p/ora01/app/grid/product/11.2.0/gridchownoracle:oinstall-R/ora01chmod775/ora01/app/oracle

Oracle用户新的配置文件

修改Oracle配置文件/home/oracle/.bash_profile

#.bash_profile#Getthealiasesandfunctionsif[-f~/.bashrc];then.~/.bashrcfi#UserspecificenvironmentandstartupprogramsPATH=$PATH:$HOME/binexportPATHaliasgenv='./home/oracle/.bash_profile_grid;envo'aliasdenv='./home/oracle/.bash_profile_database;envo'./home/oracle/.bash_profile_databaseenvo

这里添加了两个别名:genv和denv,这样可以方便地切换grid和database软件环境。

为Oracle用户添加新的配置文件/home/oracle/.bash_profile_grid。此配置文件将用于grid软件。

#OracleSettingsexportTMP=/tmpexportORACLE_HOSTNAME=rac1.dbaora.comexportORACLE_UNQNAME=+ASMexportORACLE_BASE=/ora01/app/oracleexportORACLE_HOME=/ora01/app/grid/product/11.2.0/gridexportORACLE_SID=+ASM1PATH=/usr/sbin:$PATH:$ORACLE_HOME/binexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;aliascdob='cd$ORACLE_BASE'aliascdoh='cd$ORACLE_HOME'aliastns='cd$ORACLE_HOME/network/admin'aliasenvo='env|grepORACLE'

为Oracle用户添加新的参数文件/home/oracle/.bash_profile_database.此配置文件将用于database软件。

#OracleSettingsexportTMP=/tmpexportORACLE_HOSTNAME=rac1.dbaora.comexportORACLE_UNQNAME=ORA11GexportORACLE_BASE=/ora01/app/oracleexportORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1exportORACLE_SID=ORA11G1PATH=/usr/sbin:$PATH:$ORACLE_HOME/binexportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportCLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;aliascdob='cd$ORACLE_BASE'aliascdoh='cd$ORACLE_HOME'aliastns='cd$ORACLE_HOME/network/admin'aliasenvo='env|grepORACLE'umask022

在rac2中,将两个参数文件的ORACLE_HOSTNAME和ORACLE_SID更改为本服务器的参数值。

记住修改所有配置文件的所有者

chownoracle:oinstall/home/oracle/.bash*chmod750oracle:oinstall/home/oracle/.bash*

作为oracle用户解压database和grid软件。 创建2个目录:

database – database software

grid – grid software

切换到grid软件环境,以root用户身份安装软件包cvuqdisk-1.0.9-1.rpm

cd<installgridsoftware>/rpm[root@rac1rpm]#rpm-Uvhcvuqdisk-1.0.9-1.rpmPreparing...##############################[100%]Usingdefaultgroupoinstalltoinstallpackage1:cvuqdisk##############################[100%]

配置ASM设备

要配置ASMlib,首先需要从OTN下载ASMLib rpms。 如果使用的是UEK内核,则所有必需的rpms都已安装。

oracleasm-support-2.1.8-1.el5.i386.rpm

oracleasmlib-2.0.4-1.el5.i386.rpm

oracleasm-[your-kernel-version].rpm

关于oracleasm-supper和orcleasmlib软件包版本,可以根据操作系统版本从http://www.oracle.com/technetwork/server-storage/linux/asmlib/index-101839.html下载软件包。

而oracleasm软件包要根据操作系统内核参数来决定:

name-a

这里是Oracle通过配置YUM来安装oracleasm软件包的链接:

http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html

使用以下命令安装软件包

rpm-Uvhoracleasm*.rpm

安装完成后可以通过rpm -qa | grep oracleasm命令验证。

配置SMlib

[root@rac1~]#/usr/sbin/oracleasmconfigure-iConfiguringtheOracleASMlibrarydriver.Thiswillconfiguretheon-bootpropertiesoftheOracleASMlibrarydriver.Thefollowingquestionswilldeterminewhetherthedriverisloadedonbootandwhatpermissionsitwillhave.Thecurrentvalueswillbeshowninbrackets('[]').Hitting<ENTER>withouttypingananswerwillkeepthatcurrentvalue.Ctrl-Cwillabort.Defaultusertoownthedriverinterface[]:oracleDefaultgrouptoownthedriverinterface[]:dbaStartOracleASMlibrarydriveronboot(y/n)[n]:yScanforOracleASMdisksonboot(y/n)[y]:WritingOracleASMlibrarydriverconfiguration:done

加载asm内核模块

[root@rac1~]#/usr/sbin/oracleasminitLoadingmodule"oracleasm":oracleasmMountingASMlibdriverfilesystem:/dev/oracleasm

添加ASM磁盘

[root@rac1~]#/usr/sbin/oracleasmcreatediskDISK1/dev/sdb1Writingdiskheader:doneInstantiatingdisk:done[root@rac1~]#/usr/sbin/oracleasmcreatediskDISK2/dev/sdb2Writingdiskheader:doneInstantiatingdisk:done

扫描ASM磁盘

[root@rac1~]#/usr/sbin/oracleasmscandisksReloadingdiskpartitions:doneCleaninganystaleASMdisks...ScanningsystemforASMdisks...

列出ASM磁盘

[root@rac1~]#/usr/sbin/oracleasmlistdisksDISK1DISK2

这里是使用oracleasm配置ASM磁盘,也可以同过udev来配置,在使用oracleasm时遇到一些bug,推荐使用udev。

现在在每个节点上运行下面命令验证网络:rac1.dbaora.com和rac2.dbaora.com

hostnamepingrac1-c1pingrac2-c1pingrac1-priv-c1pingrac2-priv-c1

安装grid软件

以用户oracle启动grid软件安装,在此之前以root身份运行命令xhost +。

xhost+accesscontroldisabled,clientscanconnectfromanyhost

设置grid环境并运行grid安装软件

su-oracle[oracle@rac1~]$genvORACLE_UNQNAME=+ASMORACLE_SID=+ASM1ORACLE_BASE=/ora01/app/oracleORACLE_HOSTNAME=rac1.dbaora.comORACLE_HOME=/ora01/app/grid/product/11.2.0/grid--runinstallationcd<installgridsoftware>./runInstall

关于安装过程,可以根据实际需要选择,这里省略。

这里如果是使用linux 6以上版本,在最后执行root.sh脚本时,会用一个BUG,具体解决方法如下

1.删除配置:

/ora01/app/grid/product/11.2.0/gridl/roothas.pl-deconfig-force-verbose

路径是grid环境的ORACLE_HOME。

出现Adding daemon to inittab这条信息的时候执行dd命令

/bin/ddif=/var/tmp/.oracle/npohasdof=/dev/nullbs=1024count=1

如果是安装11.2.0.1的话,还是建议 使用 linux 5的版本。

ASM configuration assistant

到目前为止,只创建了一个ASM组DATA。下面展示如何快速添加额外的组到ASM实例。

在以Oracle用户启动ASMCA之前, 切换到root用户执行xhost +命令。

ASMCA - ASM configuration assistant是grid软件的一部分,因此必须设置正确的环境

su-oracle[oracle@rac1~]$genvORACLE_UNQNAME=+ASMORACLE_SID=+ASM1ORACLE_BASE=/ora01/app/oracleORACLE_HOSTNAME=rac1.dbaora.comORACLE_HOME=/ora01/app/grid/product/11.2.0/grid[oracle@rac1~]$asmca

根据需要一步步执行就可以了,安装步骤省略。

在你可以在sqlplus中验证你有2个ASM组。

[oracle@rac1~]$sqlplusSQL*Plus:Release11.2.0.3.0ProductiononSunJun1622:39:112013Copyright(c)1982,2011,Oracle.Allrightsreserved.Enteruser-name:/assysasmConnectedto:OracleDatabase11gEnterpriseEditionRelease11.2.0.3.0-64bitProductionWiththeAutomaticStorageManagementoptionSQL>selectnamefromv$asm_diskgroup;NAME------------------------------DATABACKUP

安装Database软件

作为Oracle用户开始database软件安装。设置database软件爱你环境

su-oracle[oracle@rac1~]$denvORACLE_UNQNAME=ORA11GORACLE_SID=ORA11G1ORACLE_BASE=/ora01/app/oracleORACLE_HOSTNAME=rac1.dbaora.comORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1--runinstallationcd<installdatabasesoftware>./runInstall

安装步骤省略。

在安装过程中,遇到一个有关监听器的问题,提示

default listener is not configured in grid infrastructure home

解决方法链接http://www.linuxidc.com/Linux/2017-08/146057.htm

验证RAC安装

[root@rac1~]#su-oracle[oracle@rac1~]$genvORACLE_UNQNAME=+ASMORACLE_SID=+ASM1ORACLE_BASE=/ora01/app/oracleORACLE_HOSTNAME=rac1.dbaora.comORACLE_HOME=/ora01/app/grid/product/11.2.0/grid[oracle@rac1~]$srvctlconfigdatabase-dORA11GDatabaseuniquename:ORA11GDatabasename:ORA11GOraclehome:/ora01/app/oracle/product/11.2.0/db_1Oracleuser:oracleSpfile:+DATA/ORA11G/spfileORA11G.oraDomain:dbaora.comStartoptions:openStopoptions:immediateDatabaserole:PRIMARYManagementpolicy:AUTOMATICServerpools:ORA11GDatabaseinstances:ORA11G1,ORA11G2DiskGroups:DATAMountpointpaths:Services:Type:RACDatabaseisadministratormanaged[oracle@rac1~]$srvctlstatuslistenerListenerLISTENERisenabledListenerLISTENERisrunningonnode(s):rac2,rac1[oracle@rac1~]$srvctlstatusasmASMisrunningonrac2,rac1[oracle@rac1~]$srvctlstatusdatabase-dORA11GInstanceORA11G1isrunningonnoderac1InstanceORA11G2isrunningonnoderac2

以上是“Linux下Oracle 11.2.0.1 RAC如何安装”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!