OracleGRAC及负载均衡搭建手册.docx

上传人:b****6 文档编号:15849968 上传时间:2023-07-08 格式:DOCX 页数:32 大小:25.42KB
下载 相关 举报
OracleGRAC及负载均衡搭建手册.docx_第1页
第1页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第2页
第2页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第3页
第3页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第4页
第4页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第5页
第5页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第6页
第6页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第7页
第7页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第8页
第8页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第9页
第9页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第10页
第10页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第11页
第11页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第12页
第12页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第13页
第13页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第14页
第14页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第15页
第15页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第16页
第16页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第17页
第17页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第18页
第18页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第19页
第19页 / 共32页
OracleGRAC及负载均衡搭建手册.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

OracleGRAC及负载均衡搭建手册.docx

《OracleGRAC及负载均衡搭建手册.docx》由会员分享,可在线阅读,更多相关《OracleGRAC及负载均衡搭建手册.docx(32页珍藏版)》请在冰点文库上搜索。

OracleGRAC及负载均衡搭建手册.docx

OracleGRAC及负载均衡搭建手册

Oracle11GR2RAC安装手册

一、基础知识

1.RAC是什么

RAC,全称realapplicationclusters,译为“实时应用集群”,是Oracle新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。

2.RAC的优缺点

●优点

OracleRAC支持Oracle9i、10g、11g版本,可以支持24x7有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。

在OracleRAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。

当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。

(1)多节点负载均衡;

(2)提供高可用:

故障容错和无缝切换功能,将硬件和软件错误造成的影响最小化;

(3)通过并行执行技术提高事务响应时间----通常用于数据分析系统;

(4)通过横向扩展提高每秒交易数和连接数----通常对于联机事务系统;

(5)节约硬件成本,可以用多个廉价PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;

(6)可扩展性好,可以方便添加删除节点,扩展硬件资源。

●缺点

(1)相对单机,管理更复杂,要求更高;

(2)可能会增加软件成本

3.OracleRAC原理

在一个应用环境当中,所有的服务器使用和管理同一个数据库,目的是为了分散每一台服务器的工作量,硬件上至少需要两台以上的服务器,而且还需要一个共享存储设备。

同时所有服务器上的OS都应该是同一类OS,根据负载均衡的配置策略,当一个客户端发送请求到某一台服务的listener后,这台服务器根据我们的负载均衡策略,会把请求发送给本机的RAC组件处理也可能会发送给另外一台服务器的RAC组件处理,处理完请求后,RAC会通过集群软件来访问共享存储设备.

逻辑结构上看:

●每一个参加集群的节点有一个独立的instance,这些instance访问同一个数据库。

●每一个节点的linstance都有自己的SGA。

●每一个节点的linstance都有自己的backgroundprocess。

●每一个节点的linstance都有自己的redologs。

●每一个节点的instance都有自己的undo表空间。

●所有节点都共享一份datafiles和controlfiles。

三类Resource:

●VIP-虚拟IP地址(VirtualIP)

●OCR-OracleClusterRegistry(集群注册文件),记录每个节点的相关信息

●VotingDisk,仲裁机制用于仲裁多个节点向共享节点同时写的行为,这样做是为了避免发生冲突。

二、RAC环境设计

1.服务器配置

操作系统

主机名

内存

网卡

RedhatEnterpriseLinux5.4

rac1

2G

eth0(Public)

eth1(Prive)

RedhatEnterpriseLinux5.4

rac2

2G

eth0(Public)

eth1(Prive)

2.用户组规划

GroupName

GroupID

说明

HOST

oinstall

501

Oracle清单和软件所有者

rac1,rac2

asmadmin

504

Oracle自动存储管理组

rac1,rac2

asmdba

506

ASM数据库管理员组

rac1,rac2

asmopen

507

ASM操作员组

rac1,rac2

dba

502

数据库管理员

rac1,rac2

3.用户规划

UserID

UserName

Group

说明

HOST

口令

501

grid

oinstall

dba

asmadmin

asmdba

asmoper

OracleCluster用户

rac1

rac2

grid123

502

oracle

oinstall

dba

asmdba

Oracle数据库管理员

rac1

rac2

oracle123

4.IP规划

主机名

公用IP

私有IP

虚拟IP

rac1

rac2

ScanIP

5.存储规划

存储组件

BlockDevice

ASMlibName

Size

OCR

/dev/sdb

OCR_VOL1

1G

/dev/sdc

OCR_VOL2

1G

/dev/sdd

OCR_VOL3

1G

数据文件

/dev/sde

DATA_VOL1

10G

文件备份

/dev/sdf

BACK_VOL1

5G

三、OracleRAC搭建

1.配置共享存储(ASM依赖)

●方法一:

vmwareworkstation9虚拟共享存储

(1)在VM安装目录\VMwareWorkstation下执行命令:

#vmware-vdiskmanager.exe-c-s1GB-alsilogic-t2D:

\racDisk\db01.vmdk

#vmware-vdiskmanager.exe-c-s1GB-alsilogic-t2D:

\racDisk\db02.vmdk

#vmware-vdiskmanager.exe-c-s1GB-alsilogic-t2D:

\racDisk\db03.vmdk

#vmware-vdiskmanager.exe-c-s10GB-alsilogic-t2D:

\racDisk\db04.vmdk

#vmware-vdiskmanager.exe-c-s5GB-alsilogic-t2D:

\racDisk\db05.vmdk

(2)修改rac1和rac2下的.vmx文件,在最后一行添加如下内容:

diskLib.dataCacheMaxSize=0

diskLib.dataCacheMaxReadAheadSize=0

diskLib.dataCacheMinReadAheadSize=0

diskLib.dataCachePageSize=4096

diskLib.maxUnsyncedWrites="0"

disk.locking="FALSE"

scsi1.sharedBus="virtual"

scsi1.present="TRUE"

scsi1.virtualDev="lsilogic"

scsi1:

0.mode="independent-persistent"

scsi1:

0.deviceType="disk"

scsi1:

0.present="TRUE"

scsi1:

0.fileName="D:

\racDisk\db01.vmdk"

scsi1:

1.mode="independent-persistent"

scsi1:

1.deviceType="disk"

scsi1:

1.present="TRUE"

scsi1:

1.fileName="D:

\racDisk\db02.vmdk"

scsi1:

2.mode="independent-persistent"

scsi1:

2.deviceType="disk"

scsi1:

2.present="TRUE"

scsi1:

2.fileName="D:

\racDisk\db03.vmdk"

scsi1:

3.mode="independent-persistent"

scsi1:

3.deviceType="disk"

scsi1:

3.present="TRUE"

scsi1:

3.fileName="D:

\racDisk\db04.vmdk"

scsi1:

4.mode="independent-persistent"

scsi1:

4.deviceType="disk"

scsi1:

4.present="TRUE"

scsi1:

4.fileName="D:

\racDisk\db05.vmdk"

(3)重新打开虚拟机,并启动。

(4)磁盘分区,在rac1执行

#fdisk/dev/sdb

DevicecontainsneitheravalidDOSpartitiontable,norSun,SGIor

OSFdisklabel

BuildinganewDOSdisklabel.Changeswillremaininmemoryonly,

untilyoudecidetowritethem.Afterthat,ofcourse,theprevious

contentwon'tberecoverable.

Warning:

invalidflag0x0000ofpartitiontable4willbecorrectedbyw(rite)

Command(mforhelp):

p

64heads,32sectors/track,1000cylinders

Units=cylindersof2048*512=1048576bytes

DeviceBootStartEndBlocksIdSystem

Command(mforhelp):

n

Commandaction

eextended

pprimarypartition(1-4)

p

Partitionnumber(1-4):

1

Firstcylinder(1-1000,default1):

Usingdefaultvalue1

Lastcylinderor+sizeor+sizeMor+sizeK(1-1000,default1000):

Usingdefaultvalue1000

Command(mforhelp):

w

Thepartitiontablehasbeenaltered!

Callingioctl()tore-readpartitiontable.

Syncingdisks.

#fdisk/dev/sdc…重复上面操作

#fdisk/dev/sdd…重复上面操作

#fdisk/dev/sde…重复上面操作

#fdisk/dev/sdf…重复上面操作

●方法二:

Linuxmount挂载(待解决)

2.安装依赖包

#yuminstall-yexpect*iscsi*binutils*compat-libstdc++*expat*elfutils-libelf*gcc*glibc*ksh*libgcc*

#yuminstall-ypdksh*libgomp*compat-db*libXp*libaio*cpp*setarch*sysstat*libstdc++*make-3*

#yuminstall-yunixODBC

#yuminstall-yunixODBC-devel

3.查看依赖包安装状况

#rpm-q--qf'%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n'binutils\

elfutils-libelf\

elfutils-libelf\

expat\

gcc\

gcc-c++\

glibc\

glibc-common\

glibc-devel\

glibc-headers\

ksh\

libaio\

libaio-devel\

libgcc\

libstdc++\

libstdc++-devel\

make\

pdksh\

sysstat\

unixODBC\

unixODBC-devel

执行结果…

elfutils-libelf-0.137-3.el5(x86_64)

elfutils-libelf-0.137-3.el5(i386)

elfutils-libelf-0.137-3.el5(x86_64)

elfutils-libelf-0.137-3.el5(i386)

glibc-2.5-118.el5_10.2(i686)

glibc-2.5-118.el5_10.2(x86_64)

glibc-common-2.5-118.el5_10.2(x86_64)

glibc-devel-2.5-118.el5_10.2(x86_64)

glibc-devel-2.5-118.el5_10.2(i386)

glibc-headers-2.5-118.el5_10.2(x86_64)

make-3.81-3.el5(x86_64)

4.网络配置

(1)修改rac1和rac2的network

#vi/etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=rac1#此处为主机名

#vi/etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=rac2

(2)修改rac1和rac2的hosts

#vi/etc/hosts

###eth0-PublicIP###

###eth1–PRIVATEIP###

###VIP###

###SCAN###

(3)重启rac1和rac2网络服务

#servicenetworkrestart

(4)配置虚拟IP

#

#

*注:

虚拟IP在重启网络服务会被卸载,需要重新设置。

5.配置NTPD服务

NTPD服务为Grid的检查项,提供时间同步服务。

(1)修改NTPD参数文件(rac1,rac2)

#vi/etc/sysconfig/ntpd

SYNC_HWCLOCK=yes

OPTIONS="-x-untp:

ntp-p/var/run/ntpd.pid"

(2)修改rac1的ntpd.conf文件,删除原有内容录入以下内容

#vi/etc/ntp.conf

server

fudge

driftfile/var/lib/ntp/drift

broadcastdelay0.008

authenticateno

keys/etc/ntp/keys

(3)清空rac1的ntpservers原有内容

#cp/etc/ntp/ntpservers/etc/ntp/ntpservers.bak

#vi/etc/ntp/ntpservers

(4)编辑rac1的step-tickers,添加一行

#cp/etc/ntp/step-tickers/etc/ntp/step-tickers.bak

#vi/etc/ntp/step-tickers

(5)修改rac2的ntpd.conf文件,删除原有内容录入以下内容

#vi/etc/ntp.conf

server

server

fudge

driftfile/var/lib/ntp/drift

broadcastdelay0.008

authenticateno

keys/etc/ntp/keys

(6)清空rac2的ntpservers原有内容

#cp/etc/ntp/ntpservers/etc/ntp/ntpservers.bak

#vi/etc/ntp/ntpservers

(7)编辑rac2的step-tickers,添加一行

#cp/etc/ntp/step-tickers/etc/ntp/step-tickers.bak

#vi/etc/ntp/step-tickers

#rac1的ip地址

(8)rac1节点重启NTPD服务

#servicentpdrestart

(9)rac2节点停止NTPD服务,rac1重启NTPD服务后5、6分钟再执行

#servicentpdstop

#ntpdaterac1

#servicentpdstart

(10)NTPD启用自动加载(rac1,rac2)

#chkconfigntpdon

6.关闭服务

关闭rac1和rac2无用的sendmail和cups服务,加快开机速度。

#chkconfigsendmailoff

#chkconfigcupsoff

7.用户、用户组

(1)创建用户和用户组

#groupadd-g501oinstall

#groupadd-g502dba

#groupadd-g504asmadmin

#groupadd-g506asmdba

#groupadd-g507asmoper

#useradd-u501-goinstall-Gdba,asmadmin,asmdba,asmopergrid

#useradd-u502-goinstall-Gdba,asmdbaoracle

#idoracle

#idgrid

(2)修改用户密码

#passwdoracle

#passwdgrid

8.文件夹及权限

#mkdir-p/u01/app/grid/

#

#mkdir-p/u01/app/oraInventory

#chown-Rgrid:

oinstall/u01/app

#

#chown-Roracle:

oinstall/u01/app/oracle

#chmod-R775/u01

9.修改系统参数

(1)修改rac1和rac2的limits.conf

#vi/etc/security/limits.conf

###ORACLESETTING

gridsoftnproc2047

gridhardnproc16384

gridsoftnofile1024

gridhardnofile65536

oraclesoftnproc2047

oraclehardnproc16384

oraclesoftnofile1024

oraclehardnofile65536

(2)修改rac1和rac2的/etc/pam.d/login

#vi/etc/pam.d/login

###ORACLESETTING

sessionrequiredpam_limits.so

(3)修改rac1和rac2的/etc/sysctl.conf

#vi/etc/sysctl.conf

###ORACLESETTING

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmni=4096

(4)执行命令(rac1、rac2)

#sysctl-p

(5)修改rac1和rac2的profile,在末尾添加

#vi/etc/profile

if[$USER="oracle"]||[$USER="grid"];then

if[$SHELL="/bin/ksh"];then

ulimit-p16384

ulimit-n65536

else

ulimit-u16384-n65536

fi

umask022

fi

(6)执行命令(rac1、rac2)

#source/etc/profile

(7)修改rac1和rac2的/etc/csh.login

#vi/etc/csh.login

if($USER="oracle"||$USER="grid")then

limitmaxproc16384

limitdescriptors65536

endif

EOFCSH

(8)修改grid用户的环境变量

#su-grid

$cd/home/grid/

$vi.bash_profile

TMP=/tmp;exportTMP

TMPDIR=$TMP;exportTMPDIR

ORACLE_SID=+ASM1;exportORACLE_SID

ORACLE_BASE=/u01/app/grid;exportORACLE_BASE

NLS_DATE_FORMAT="yyyy-mm-ddHH24:

MI:

SS";exportNLS_DATE_FORMAT

THREADS_FLAG=native;exportTHREADS_FLAG

PATH=$ORACLE_HOME/bin:

$PATH;exportPATH

THREADS_FLAG=native;exportTHREADS_FLAG

PATH=$ORACLE_HOME/bin:

$PATH;exportPATH

if[$USER="oracle"]||[$USER="grid"];then

if[$SHELL="/bin/ksh"];then

ulimit-p16384

ulimit-n65536

else

ulimit-u16384-n65536

fi

umask022

fi

#su-grid

$cd/home/grid/

$vi.bash_profile

TMP=/tmp;exportTMP

TMPDIR=$TMP;exportTMPDIR

ORACLE_SID=+ASM2;exportORACLE_SID

ORACLE_BASE=/u01/app/grid;exportORACLE_BASE

NLS_DATE_FORMAT="yyyy-mm-ddHH24:

MI:

SS";exportNLS_DATE_FORMAT

THREADS_FLAG=native;exportTHREADS_FLAG

PATH=$ORACLE_HOME/bin:

$PATH;exportPATH

THREADS_FLAG=native;exportTHREADS_FLAG

PATH=$ORACLE_HOME/bin:

$PATH;exportPATH

if[$USER="oracle"]||[$USER="grid"];then

if[$SHELL="/bin/ksh"];then

ulimit-p16384

ulimit-n65536

else

ulimit-u16384-n65536

fi

umask022

fi

(9)执行命令(rac1、rac2)

$source.bash_profile

(10)修改oracle用户的环境变量

#su-oracle

$cd/home/oracle/

$vi.bash_profile

#OracleSettingsoracle

TMP=/tmp;exportTMP

TMPDIR=$TMP;exportTMPDIR

ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE

ORACLE_SID=orcl1;exportORACLE_SID

ORACLE_TERM=xterm;exportORACLE_TERM

PATH=/usr/sbin:

$PATH;exportPATH

PATH=$ORACLE_HOME/bin:

$PATH;exportPATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:

/lib:

/usr/lib;exportLD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:

$ORACLE_HOME/jlib:

$ORACLE_HOME

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2