Академический Документы
Профессиональный Документы
Культура Документы
This article describes the installation of Oracle 11g release 1 (11.1) RAC on Linux (Oracle Enterprise Linux 5) using !"are #er$er "ith no additional shared dis% de$ices. &ntroduction 'o"nload #oft"are !"are #er$er &nstallation irtual !achine #etup (uest Operating #)ste* &nstallation Oracle &nstallation +rere,uisites &nstall !"are Client Tools Create #hared 'is%s Clone the irtual !achine &nstall the Cluster"are #oft"are &nstall the 'atabase #oft"are and Create an A#! &nstance Create a 'atabase using the '-CA T.# Configuration Chec% the #tatus of the RAC
Introduction
One of the biggest obstacles pre$enting people fro* setting up test RAC en$iron*ents is the re,uire*ent for shared storage. &n a production en$iron*ent/ shared storage is often pro$ided b) a #A. or high0end .A# de$ice/ but both of these options are $er) expensi$e "hen all )ou "ant to do is get so*e experience installing and using RAC. A cheaper alternati$e is to use a 1ire2ire dis% enclosure to allo" t"o *achines to access the sa*e dis%(s)/ but that still costs *one) and re,uires t"o ser$ers. A third option is to use !"are #er$er to fa%e the shared storage. 3sing !"are #er$er )ou can run *ultiple irtual !achines ( !s) on a single ser$er/ allo"ing )ou to run both RAC nodes on a single *achine. &n additon/ it allo"s )ou to set up shared $irtual dis%s/ o$erco*ing the obstacle of expensi$e shared storage. -efore )ou launch into this installation/ here are a fe" things to consider. The finished s)ste* includes the host operating s)ste*/ t"o guest operating s)ste*s/ t"o sets of Oracle Cluster"are/ t"o A#! instances and t"o 'atabase instances all on a single ser$er. As )ou can i*agine/ this re,uires a significant a*ount of dis% space/ C+3 and *e*or). & "as able to co*plete this installation on a 4.5( +entiu* 5 "ith 4( of *e*or)/ but it "as extre*el) slo". This procedure pro$ides a bare bones installation to get the RAC "or%ing. There is no redundanc) in the Cluster"are installation or the A#! installation. To add this/ si*pl) create double the a*ount of shared dis%s and select the 6.or*al6 redundanc) option "hen it is offered. Of course/ this "ill ta%e *ore dis% space. 'uring the $irtual dis% creation/ & al"a)s choose not to preallocate the dis% space. This *a%es $irtual dis% access slo"er during the installation/ but sa$es on "asted dis% space.
This is not/ and should not be considered/ a production0read) s)ste*. &t7s si*pl) to allo" )ou to get used to installing and using RAC.
Download Software
'o"nload the follo"ing soft"are. Oracle Enterprise Linux 5 !"are #er$er Oracle 11g Release 1 (11.1) Cluster"are and '- soft"are
Then finish the configuration b) running the $*"are0config.pl script as the root user. !ost of the ,uestions can be ans"ered "ith the default response b) pressing the return %e). The output belo" sho"s *) responses to the ,uestions.
# vmware-config.pl Ma ing s!re services for VMware "erver are s#oppe$. "#opping VMware services: Vir#!al machine moni#or [ %& ]
'o! m!s# rea$ an$ accep# #he (n$ User )icense *greemen# #o con#in!e. Press en#er #o $ispla+ i#. VM,*-(. /01. "%23,*-( 4(3* 3("3 *5-((M(03 *** ($i#ie$ o!# license agreemen# *** 6o +o! accep#7 8+es9no: +es 3han +o!. 53&< =.> li;raries.
1onfig!ring fall;ac
/n which $irec#or+ $o +o! wan# #o ins#all #he mime #+pe icons7 [9!sr9share9icons] ,ha# $irec#or+ con#ains +o!r $es #op men! en#r+ files7 3hese files have a .$es #op file e?#ension. [9!sr9share9applica#ions] /n which $irec#or+ $o +o! wan# #o ins#all #he applica#ion@s icon7 [9!sr9share9pi?maps]
ernel.
3he mo$!le ;l$-=.A.B-C.()-iADAsmp--E()> loa$s perfec#l+ in #he r!nning ernel. 6o +o! wan# ne#wor ing for +o!r vir#!al machines7 8+es9no9help: [+es] 1onfig!ring a ;ri$ge$ ne#wor for vmne#0.
3he following ;ri$ge$ ne#wor s have ;een $efine$: . vmne#0 is ;ri$ge$ #o e#h0 *ll +o!r e#herne# in#erfaces are alrea$+ ;ri$ge$. 6o +o! wan# #o ;e a;le #o !se 0*3 ne#wor ing in +o!r vir#!al machines7 8+es9no: [+es] 1onfig!ring a 0*3 ne#wor for vmne#D.
6o +o! wan# #his program #o pro;e for an !n!se$ priva#e s!;ne#7 8+es9no9help: [+es] Pro;ing for an !n!se$ priva#e s!;ne# 8#his can #a e some #ime:... 3he s!;ne# 1F=.1A.=10.09=CC.=CC.=CC.0 appears #o ;e !n!se$. 3he following 0*3 ne#wor s have ;een $efine$: . vmne#D is a 0*3 ne#wor on priva#e s!;ne# 1F=.1A.=10.0.
6o +o! wish #o config!re ano#her 0*3 ne#wor 7 8+es9no: [no] 6o +o! wan# #o ;e a;le #o !se hos#-onl+ ne#wor ing in +o!r vir#!al machines7 [+es] no 3r+ing #o fin$ a s!i#a;le vmne# mo$!le for +o!r r!nning ernel.
3he mo$!le ;l$-=.A.B-C.()-iADAsmp--E()> loa$s perfec#l+ in #he r!nning ernel. Please specif+ a por# for remo#e console connec#ions #o !se [B0=] "#opping ?ine#$: "#ar#ing ?ine#$: 1onfig!ring #he VMware VmPerl "crip#ing *P/. 4!il$ing #he VMware VmPerl "crip#ing *P/. Using compiler G9!sr9;in9gccG. Use environmen# varia;le 11 #o overri$e. 3he ins#alla#ion of #he VMware VmPerl "crip#ing *P/ s!ccee$e$. [ [ %& %& ] ]
6o +o! wan# #his program #o se# !p permissions for +o!r regis#ere$ vir#!al machines7 3his will ;e $one ;+ se##ing new permissions on all files fo!n$ in #he G9e#c9vmware9vm-lis#G file. [no] +es 5enera#ing "") "erver 1er#ifica#e /n which $irec#or+ $o +o! wan# #o eep +o!r vir#!al machine files7 [9var9li;9vmware9Vir#!al Machines] 9!019VM 6o +o! wan# #o en#er a serial n!m;er now7 8+es9no9help: [no] +es Please en#er +o!r =0-charac#er serial n!m;er. 3+pe HHHHH-HHHHH-HHHHH-HHHHH or @(n#er@ #o cancel: 0UM4("#ar#ing VMware services: Vir#!al machine moni#or Vir#!al e#herne# 4ri$ge$ ne#wor ing on 9$ev9vmne#0 Eos#-onl+ ne#wor ing on 9$ev9vmne#D 8;ac gro!n$: 0*3 service on 9$ev9vmne#D "#ar#ing VMware vir#!al machines... (03(--'%U--"(-/*)-
[ [ [ [ [ [
] ] ] ] ] ]
3he config!ra#ion of VMware "erver e.?.p ;!il$-==DF> for )in!? for #his r!nning ernel comple#e$ s!ccessf!ll+. #
The !"are #er$er Console is started b) issuing the co**and 6$*"are6 at the co**and pro*pt/ or b) selecting it fro* the 6#)ste* Tools6 *enu.
On the 6Connect to 9ost6 dialog/ accept the 6Local host6 option b) clic%ing the 6Connect6 button.
:ou are then presented "ith the *ain !"are #er$er Console screen.
#elect the 6Custo*6 $irtual *achine configuration and clic% the 6.ext6 button.
<
#elect the 6Linux6 guest operating s)ste* option/ and set the $ersion to 6Red 9at Enterprise Linux 56/ then clic% the 6.ext6 button. The R9EL5 option is used because at the ti*e of "riting/ the current $ersion of !"are ser$er doesn7t explicitl) support R9EL5/ but this setting "or%s fine.
Enter the na*e 6RAC16 and the location should default to 6>u?1> !>RAC16/ then clic% the 6.ext6 button.
#elect the re,uired nu*ber of processors and clic% the 6.ext6 button.
3nchec% the 6!a%e this $irtual *achine pri$ate6 chec%box and clic% the 6.ext6 button.
#elect the a*ount of *e*or) to associate "ith the $irtual *achine. Re*e*ber/ )ou are going to need t"o instances/ so don7t associate too *uch/ but )ou are going to need approxi*atel) 1 (ig (1?85 !eg) to co*pete the installation successfull).
Accept the 63se bridged net"or%ing6 option b) clic%ing the 6.ext6 button.
1?
#elect the 6Create a ne" $irtual dis%6 option and clic% the 6.ext6 button.
Accept the 6#C#&6 option b) clic%ing the 6.ext6 button. &t7s a $irtual dis%/ so )ou can still use this option e$en if )our ph)sical dis% is &'E or #ATA.
11
#et the dis% si;e to 61?.?6 (- and unchec% the 6Allocate all dis% space no"6 option. The latter "ill *a%e dis% access slo"er/ but "ill sa$e )ou "asting dis% space. .oteB &f )ou intend to un;ip the Oracle installation soft"are on the $irtual dis% )ou "ill need a 18015 (- $irtual dis%.
18
Accept 6RAC1.$*d%6 as the dis% file na*e and co*plete the ! creation b) clic%ing the 61inish6 button.
On the 6 !"are #er$er Console6 screen/ clic% the 6Edit $irtual *achine settings6 button.
On the 6 irtual !achine #ettings6 screen/ highlight the 61lopp) 16 dri$e and clic% the 60 Re*o$e6 button.
14
Clic% the 6C Add6 button/ select a hard"are t)pe of 6Ethernet Adapter6/ then clic% the 6.ext6 button.
15
1inish b) clic%ing the 6OD6 button on the irtual !achine #ettings dialog.
The $irtual *achine is no" configured so "e can start the guest operating s)ste* installation.
15
Continue through the OEL 5 installation as )ou "ould for a nor*al ser$er. A general pictorial guide to the installation can be found here. !ore specificall)/ it should be a ser$er installation "ith a *ini*u* of 8( s"ap/ fire"all and #ELinux disabled and the follo"ing pac%age groups installedB (.O!E 'es%top En$iron*ent Editors (raphical &nternet Text0based &nternet 'e$elop*ent Libraries 'e$elop*ent Tools #er$er Configuration Tools Ad*inistration Tools -ase #)ste* Tools E 2indo" #)ste* To be consistent "ith the rest of the article/ the follo"ing infor*ation should be set during the installationB hostna*eB rac1.localdo*ain &+ Address eth?B 1A8.1<@.8.1?1 (public address) 'efault (ate"a) eth?B 1A8.1<@.8.1 (public address) &+ Address eth1B 1A8.1<@.?.1?1 (pri$ate address) 'efault (ate"a) eth1B none :ou are free to change the &+ addresses to suit )our net"or%/ but re*e*ber to sta) consistent "ith those adFust*ents throughout the rest of the article. Once the basic installation is co*plete/ install the follo"ing pac%ages "hilst logged in as the root user. 1<
# 2rom (n#erprise )in!? C 6is c$ 9me$ia9c$rom9"erver rpm -Uvh ;in!#ils-=.* rpm -Uvh elf!#ils-li;elf-0.* rpm -Uvh gli;c-=.* rpm -Uvh gli;c-common-=.* rpm -Uvh li;aio-0.* rpm -Uvh li;gcc->.* rpm -Uvh li;s#$c<<->.* rpm -Uvh ma e-I.* c$ 9 eJec#
# 2rom (n#erprise )in!? C 6is = c$ 9me$ia9c$rom9"erver rpm -Uvh compa#-li;s#$c<<-II* rpm -Uvh elf!#ils-li;elf-$evel-* rpm -Uvh gli;c-hea$ers* rpm -Uvh gli;c-$evel-=.* rpm -Uvh li;gomp* rpm -Uvh gcc->.* rpm -Uvh gcc-c<<->.* rpm -Uvh li;aio-$evel-0.* rpm -Uvh li;s#$c<<-$evel->.* rpm -Uvh !ni?%641-=.* rpm -Uvh !ni?%641-$evel-=.* c$ 9 eJec# # 2rom (n#erprise )in!? C 6is c$ 9me$ia9c$rom9"erver rpm -Uvh s+ss#a#-F.* c$ 9 eJec# I
1=
Add the follo"ing lines to the >etc>pa*.d>login file/ if it does not alread) exist.
9li;9sec!ri#+9pamLlimi#s.so pamLlimi#s.so
'isable secure linux b) editing the >etc>selinux>config file/ *a%ing sure the #EL&.3E flag is set as follo"s.
"()/0UHK$isa;le$
Alternati$el)/ this alteration can be done using the (3& tool (#)ste* G Ad*inistration G #ecurit) Le$el and 1ire"all). Clic% on the #ELinux tab and disable the feature. Create the ne" groups and users.
gro!pa$$ gro!pa$$ gro!pa$$ gro!pa$$ oins#all $;a oper asma$min
Login as the oracle user and add the follo"ing lines at the end of the .bashHprofile file.
# %racle "e##ings 3MPK9#mpN e?por# 3MP 3MP6/-KO3MPN e?por# 3MP6/-
%-*1)(LE%"30*M(Krac1.local$omainN e?por# %-*1)(LE%"30*M( %-*1)(L4*"(K9!019app9oracleN e?por# %-*1)(L4*"( %-*1)(LE%M(KO%-*1)(L4*"(9pro$!c#911.1.09$;L1N e?por# %-*1)(LE%M( %-*1)(L"/6K-*11N e?por# %-*1)(L"/6 %-*1)(L3(-MK?#ermN e?por# %-*1)(L3(-M P*3EK9!sr9s;in:OP*3EN e?por# P*3E P*3EKO%-*1)(LE%M(9;in:OP*3EN e?por# P*3E )6L)/4-*-'LP*3EKO%-*1)(LE%M(9li;:9li;:9!sr9li;N e?por# )6L)/4-*-'LP*3E 1)*""P*3EKO%-*1)(LE%M(9P-(:O%-*1)(LE%M(9Jli;:O%-*1)(LE%M(9r$;ms9Jli;N e?por# 1)*""P*3E if [ OU"(- K GoracleG ]N #hen if [ O"E()) K G9;in9 shG ]N #hen !limi# -p 1AID> !limi# -n ACCIA else !limi# -! 1AID> -n ACCIA
1@
fi
fi
Login as the root user on the RAC1 $irtual *achine/ then select the 6 ! G &nstall !"are Tools...6 option fro* the *ain !"are #er$er Console *enu.
This should *ount a $irtual C' containing the !"are Tools soft"are. 'ouble0clic% on the C' icon labelled 6 !"are Tools6 to open the C'. Right0clic% on the 6.rp*6 pac%age and select the 6Open "ith 7&nstall +ac%ages76 *enu option.
Clic% the 6Continue6 button on the 6Co*pleted #)ste* +reparation6 screen and "ait for the installation to co*plete.
1A
Once the pac%age is loaded/ the C' should un*ount auto*aticall). :ou *ust then run the 6$*"are0config0tools.pl6 script as the root user.
# vmware-config-#ools.pl
Accept all the default settings and pic% the screen resolution of )our choice. &gnore an) "arnings or errors. The !"are client tools are no" installed. Reboot the ser$er before proceeding. After the reboot/ it is possible the *onitor "ill not be recognised. &f this is the case don7t panic. 1ollo" the instructions pro$ided on the screen and reconfigure the *onitor setting/ "hich "ill allo" the E#er$er to function correctl).
Create a director) on the host s)ste* to hold the shared $irtual dis%s.
# m $ir -p 9!019VM9share$
On the !"are #er$er Console/ clic% the 6Edit $irtual *achine settings6 button. On the 6 irtual !achine #ettings6 screen/ clic% the 6C Add6 button.
8?
Clic% the 6.ext6 button on the "elco*e screen/ then select the hard"are t)pe of 69ard 'is%6 and clic% the 6.ext6 button.
Accept the 6Create a ne" $irtual dis%6 option b) clic%ing the 6.ext6 button.
81
#et the dis% si;e to 61?.?6 (- and unchec% the 6Allocate all dis% space no"6 option/ then clic% the 6.ext6 button.
#et the dis% na*e to 6>u?1> !>shared>ocr.$*d%6 and clic% the 6Ad$anced6 button.
88
#et the $irtual de$ice node to 6#C#& 1B16 and the *ode to 6&ndependent6 and 6+ersistent6/ then clic% the 61inish6 button.
Repeat the pre$ious hard dis% creation steps 5 *ore ti*es/ using the follo"ing $aluesB
1ile .a*eB >u?1> !>shared>$otingdis%.$*d% irtual 'e$ice .odeB #C#& 1B8 !odeB &ndependent and +ersistent 1ile .a*eB >u?1> !>shared>as*1.$*d% irtual 'e$ice .odeB #C#& 1B4 !odeB &ndependent and +ersistent 1ile .a*eB >u?1> !>shared>as*8.$*d% irtual 'e$ice .odeB #C#& 1B5 !odeB &ndependent and +ersistent 1ile .a*eB >u?1> !>shared>as*4.$*d% irtual 'e$ice .odeB #C#& 1B5 !odeB &ndependent and +ersistent
At the end of this process/ the $irtual *achine should loo% so*ething li%e the picture belo".
84
Edit the contents of the 6>u?1> !>RAC1>RAC1.$*x6 file using a text editor/ *a%ing sure the follo"ing entries are present. #o*e of the tries "ill alread) be present/ so*e "ill not.
$is $is $is $is $is $is .loc ing K G2*)"(G )i;.$a#a1acheMa?"iQe K G0G )i;.$a#a1acheMa?-ea$*hea$"iQe K G0G )i;.$a#a1acheMin-ea$*hea$"iQe K G0G )i;.$a#a1achePage"iQe K G>0BAG )i;.ma?Uns+nce$,ri#es K G0G
scsi1.presen# K G3-U(G scsi1.vir#!al6ev K GlsilogicG scsi1.share$4!s K GV/-3U*)G scsi1:1.presen# K G3-U(G scsi1:1.mo$e K Gin$epen$en#-persis#en#G scsi1:1.file0ame K G9!019VM9share$9ocr.vm$ G scsi1:1.$evice3+pe K Gplain6is G scsi1:1.re$o K GG scsi1:=.presen# K G3-U(G scsi1:=.mo$e K Gin$epen$en#-persis#en#G scsi1:=.file0ame K G9!019VM9share$9vo#ing$is .vm$ G scsi1:=.$evice3+pe K Gplain6is G scsi1:=.re$o K GG scsi1:I.presen# K G3-U(G scsi1:I.mo$e K Gin$epen$en#-persis#en#G scsi1:I.file0ame K G9!019VM9share$9asm1.vm$ G scsi1:I.$evice3+pe K Gplain6is G scsi1:I.re$o K GG scsi1:>.presen# K G3-U(G
85
scsi1:>.mo$e K Gin$epen$en#-persis#en#G scsi1:>.file0ame K G9!019VM9share$9asm=.vm$ G scsi1:>.$evice3+pe K Gplain6is G scsi1:>.re$o K GG scsi1:C.presen# K G3-U(G scsi1:C.mo$e K Gin$epen$en#-persis#en#G scsi1:C.file0ame K G9!019VM9share$9asmI.vm$ G scsi1:C.$evice3+pe K Gplain6is G scsi1:C.re$o K GG
#tart the RAC1 $irtual *achine b) clic%ing the 6+o"er on this $irtual *achine6 button on the !"are #er$er Console. 2hen the ser$er has started/ log in as the root user so )ou can partition the dis%s. The current dis%s can be seen b) issueing the follo"ing co**ands.
# c$ 9$ev # ls s$* s$a s$a1 # s$a= s$; s$c s$$ s$e s$f
3se the 6fdis%6 co**and to partition the dis%s sdb to sdf. The follo"ing output sho"s the expected fdis% output for the sdb dis%.
# f$is 9$ev9s$; 6evice con#ains nei#her a vali$ 6%" par#i#ion #a;le. nor "!n. "5/ or %"2 $is la;el 4!il$ing a new 6%" $is la;el. 1hanges will remain in memor+ onl+. !n#il +o! $eci$e #o wri#e #hem. *f#er #ha#. of co!rse. #he previo!s con#en# won@# ;e recovera;le. 3he n!m;er of c+lin$ers for #his $is is se# #o 1I0C. 3here is no#hing wrong wi#h #ha#. ;!# #his is larger #han 10=>. an$ co!l$ in cer#ain se#!ps ca!se pro;lems wi#h: 1: sof#ware #ha# r!ns a# ;oo# #ime 8e.g.. ol$ versions of )/)%: =: ;oo#ing an$ par#i#ioning sof#ware from o#her %"s 8e.g.. 6%" 26/"&. %"9= 26/"&: ,arning: invali$ flag 0?0000 of par#i#ion #a;le > will ;e correc#e$ ;+ w8ri#e: 1omman$ 8m for help:: n 1omman$ ac#ion e e?#en$e$ p primar+ par#i#ion 81->: p Par#i#ion n!m;er 81->:: 1 2irs# c+lin$er 81-1I0C. $efa!l# 1:: Using $efa!l# val!e 1 )as# c+lin$er or <siQe or <siQeM or <siQe& 81-1I0C. $efa!l# 1I0C:: Using $efa!l# val!e 1I0C 1omman$ 8m for help:: p 6is 9$ev9s$;: 10.F 54. 10FIF>1D=>0 ;+#es =CC hea$s. AI sec#ors9#rac . 1I0C c+lin$ers Uni#s K c+lin$ers of 1A0AC * C1= K D==C=D0 ;+#es 6evice 4oo# "#ar# (n$ 4loc s /$ "+s#em
85
9$ev9s$;1
1I0C
10>D=ID1
DI
)in!?
1omman$ 8m for help:: w 3he par#i#ion #a;le has ;een al#ere$R 1alling ioc#l8: #o re-rea$ par#i#ion #a;le. "+ncing $is s. #
&n each case/ the se,uence of ans"ers is 6n6/ 6p6/ 616/ 6Return6/ 6Return6/ 6p6 and 6"6. Once all the dis%s are partitioned/ the results can be seen b) repeating the pre$ious 6ls6 co**and.
# c$ 9$ev # ls s$* s$a s$a1 # chown chown chown chown chown chmo$ chmo$ chmo$ chmo$ chmo$ s$a= s$; s$;1 s$c s$c1 s$$ s$$1 s$e s$e1 s$f s$f1
The shared dis%s are no" configured. 2e don7t ha$e to "orr) about defining ra" de$ices/ "hich are deprecated in Enterprise Linux 5.
Edit the contents of the 6>u?1> !>RAC8>RAC1.$*x6 file/ *a%ing the follo"ing change. &gnore discrepancies "ith the file na*es in the 6>u?1> !>RAC86 director). This does not affect the action of the $irtual *achine. &n the !"are #er$er Console/ select the 1ile G Open *enu options and bro"se for the 6>u?1> !>RAC8>RAC1.$*x6 file. Once opened/ the RAC8 $irtual *achine is $isible on the console. #tart the RAC8 $irtual *achine b) clic%ing the 6+o"er on this $irtual *achine6 button and clic% the 6Create6 button on the subse,uent 6Iuestion6 screen.
8<
&gnore an) errors during the ser$er startup. 2e are expecting the net"or%ing co*ponents to fail at this point. Log in to the RAC8 $irtual *achine as the root user and start the 6.et"or% Configuration6 tool (#)ste* G Ad*inistration G .et"or%).
Re*o$e the de$ices "ith the 6J.ba%6 nic%na*es. To do this/ highlight a de$ice/ deacti$ate/ then delete it. This "ill lea$e Fust the regular 6eth?6 and 6eth16 de$ices. 9ighlight the 6eth?6 interface and clic% the 6Edit6 button on the toolbar and alter the &+ address to 61A8.1<@.8.1?86 in the resulting screen.
8=
Clic% on the 69ard"are 'e$ice6 tab and clic% the 6+robe6 button. Then accept the changes b) clic%ing the 6OD6 button.
Repeat the process for the 6eth16 interface/ this ti*e setting the &+ Address to 61A8.1<@.?.1?86/ and *a%ing sure the default gate"a) is not net for the 6eth16 interface.
8@
Clic% on the 6'.#6 tab and change the host na*e to 6rac8.localdo*ain6/ then clic% on the 6'e$ices6 tab.
Once )ou are finished/ sa$e the changes (1ile G #a$e) and acti$ate the net"or% interfaces b) highlighting the* and clic%ing the 6Acti$ate6 button. Once acti$ated/ the screen should loo% li%e the follo"ing i*age.
8A
Edit the >ho*e>oracle>.bashHprofile file on the RAC8 node to correct the ORACLEH#&' and ORACLEH9O#T.A!E $alues.
%-*1)(L"/6K-*1=N e?por# %-*1)(L"/6 %-*1)(LE%"30*M(Krac1.local$omainN e?por# %-*1)(LE%"30*M(
#tart the RAC1 $irtual *achine and restart the RAC8 $irtual *achine. 2hen both nodes ha$e started/ chec% the) can both ping all the public and pri$ate &+ addresses using the follo"ing co**ands.
ping ping ping ping -c -c -c -c I I I I rac1 rac1-priv rac= rac=-priv
At this point the $irtual &+ addresses defined in the >etc>hosts file "ill not "or%/ so don7t bother testing the*. Configure ##9 on each node in the cluster. Log in as the 6oracle6 user and perfor* the follo"ing tas%s on each node.
s! - oracle m $ir S9.ssh chmo$ F00 S9.ssh 9!sr9;in9ssh- e+gen -# rsa # *ccep# #he $efa!l# se##ings.
The R#A public %e) is "ritten to the K>.ssh>idHrsa.pub file and the pri$ate %e) to the K>.ssh>idHrsa file. Log in as the 6oracle6 user on RAC1/ generate an 6authori;edH%e)s6 file on RAC1 and cop) it to RAC8 using the follo"ing co**ands.
s! - oracle c$ S9.ssh ca# i$Lrsa.p!; TT a!#horiQe$L e+s scp a!#horiQe$L e+s rac=:9home9oracle9.ssh9
.ext/ log in as the 6oracle6 user on RAC8 and perfor* the follo"ing co**ands.
s! - oracle c$ S9.ssh ca# i$Lrsa.p!; TT a!#horiQe$L e+s scp a!#horiQe$L e+s rac1:9home9oracle9.ssh9
The 6authori;edH%e)s6 file on both ser$ers no" contains the public %e)s generated on all RAC nodes. To enable ##9 user e,ui$alenc) on the cluster *e*ber nodes issue the follo"ing co**ands on each node.
ssh rac1 $a#e ssh rac= $a#e ssh rac1.local$omain $a#e ssh rac=.local$omain $a#e e?ec 9!sr9;in9ssh-agen# O"E()) 9!sr9;in9ssh-a$$
:ou should no" be able to ##9 and #C+ bet"een ser$ers "ithout entering pass"ords. -efore installing the cluster"are/ chec% the prere,uisites ha$e been *et using the 6runclu$f).sh6 utilit) in the cluster"are root director).
4?
&f )ou get an) failures be sure to correct the* before proceeding. &t7s a good idea to ta%e a snapshot of the $irtual *achines/ so )ou can repeat the follo"ing stages if )ou run into an) proble*s. To do this/ shutdo"n both $irtual *achines and issue the follo"ing co**ands.
# c$ 9!019VM # #ar -cvf -*1-Pre1l!s#erware.#ar -*11 -*1= share$ # gQip -*1-Pre1l!s#erware.#ar
41
Enter the appropriate na*e and path for the Oracle 9o*e and clic% the 6.ext6 button.
2ait "hile the prere,uisite chec%s are done. &f )ou ha$e an) failures correct the* and retr) the tests before clic%ing the 6.ext6 button.
48
The 6#pecif) Cluster Configuration6 screen sho"s onl) the RAC1 node in the cluster. Clic% the 6Add6 button to continue.
Enter the details for the RAC8 node and clic% the 6OD6 button.
44
The 6#pecific .et"or% &nterface 3sage6 screen defines ho" each net"or% interface "ill be used. 9ighlight the 6eth?6 interface and clic% the 6Edit6 button.
45
#et the 6eht?6 interface t)pe to 6+ublic6 and clic% the 6OD6 button.
Lea$e the 6eth16 interface as pri$ate and clic% the 6.ext6 button.
45
Clic% the 6External Redundanc)6 option/ enter 6>de$>sdb16 as the OCR Location and clic% the 6.ext6 button. To ha$e greater redundanc) "e "ould need to define another shared dis% for an alternate location.
Clic% the 6External Redundanc)6 option/ enter 6>de$>sdc16 as the oting 'is% Location and clic% the 6.ext6 button. To ha$e greater redundanc) "e "ould need to define another shared dis% for an alternate location.
4<
Once the install is co*plete/ run the orainstRoot.sh and root.sh scripts on both nodes as directed on the follo"ing screen.
4=
The output fro* the orainstRoot.sh file should loo% so*ething li%e that listed belo".
# c$ 9!019app9ora/nven#or+ # .9orains#-oo#.sh 1hanging permissions of 9!019app9ora/nven#or+ #o FF0. 1hanging gro!pname of 9!019app9ora/nven#or+ #o oins#all. 3he e?ec!#ion of #he scrip# is comple#e #
The output of the root.sh "ill $ar) a little depending on the node it is run on. The follo"ing text is the output fro* the RAC1 node.
# c$ 9!019crs9oracle9pro$!c#911.1.09crs # .9roo#.sh ,*-0/05: $irec#or+ @9!019crs9oracle9pro$!c#911.1.0@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs9oracle9pro$!c#@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs9oracle@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!01@ is no# owne$ ;+ roo# 1hec ing #o see if %racle 1-" s#ac is alrea$+ config!re$ 9e#c9oracle $oes no# e?is#. 1rea#ing i# now. "e##ing #he permissions on %1- ;ac !p $irec#or+ "e##ing !p 0e#wor soc e# $irec#ories %racle 1l!s#er -egis#r+ config!ra#ion !pgra$e$ s!ccessf!ll+ 3he $irec#or+ @9!019crs9oracle9pro$!c#911.1.0@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs9oracle9pro$!c#@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs9oracle@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!01@ is no# owne$ ;+ roo#. 1hanging owner #o roo# "!ccessf!ll+ acc!m!la#e$ necessar+ %1- e+s. Using por#s: 1""K>BDBC 1-"K>BDBA (VM1K>BDBD an$ (VM-K>BDBF. no$e Uno$en!m;erT: Uno$enameT Upriva#e in#erconnec# nameT Uhos#nameT
4@
no$e 1: rac1 rac1-priv rac1 no$e =: rac= rac=-priv rac= 1rea#ing %1- e+s for !ser @roo#@. privgrp @roo#@.. %pera#ion s!ccessf!l. 0ow forma##ing vo#ing $evice: 9$ev9s$c1 2orma# of 1 vo#ing $evices comple#e. "#ar#!p will ;e M!e!e$ #o ini# wi#hin I0 secon$s. *$$ing $aemons #o ini##a; (?pec#ing #he 1-" $aemons #o ;e !p wi#hin A00 secon$s. 1l!s#er "+nchroniQa#ion "ervices is ac#ive on #hese no$es. rac1 1l!s#er "+nchroniQa#ion "ervices is inac#ive on #hese no$es. rac= )ocal no$e chec ing comple#e. -!n roo#.sh on remaining no$es #o s#ar# 1-" $aemons. #
&gnore the director) o"nership "arnings. 2e should reall) use a separate director) structure for the cluster"are so it can be o"ned b) the root user/ but it has little effect on the finished results. The output fro* the RAC8 node is listed belo".
# c$ 9!019crs9oracle9pro$!c#911.1.09crs # .9roo#.sh ,*-0/05: $irec#or+ @9!019crs9oracle9pro$!c#911.1.0@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs9oracle9pro$!c#@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs9oracle@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!019crs@ is no# owne$ ;+ roo# ,*-0/05: $irec#or+ @9!01@ is no# owne$ ;+ roo# 1hec ing #o see if %racle 1-" s#ac is alrea$+ config!re$ 9e#c9oracle $oes no# e?is#. 1rea#ing i# now. "e##ing #he permissions on %1- ;ac !p $irec#or+ "e##ing !p 0e#wor soc e# $irec#ories %racle 1l!s#er -egis#r+ config!ra#ion !pgra$e$ s!ccessf!ll+ 3he $irec#or+ @9!019crs9oracle9pro$!c#911.1.0@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs9oracle9pro$!c#@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs9oracle@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!019crs@ is no# owne$ ;+ roo#. 1hanging owner #o roo# 3he $irec#or+ @9!01@ is no# owne$ ;+ roo#. 1hanging owner #o roo# clscfg: (H/"3/05 config!ra#ion version > $e#ec#e$. clscfg: version > is 11 -elease 1. "!ccessf!ll+ acc!m!la#e$ necessar+ %1- e+s. Using por#s: 1""K>BDBC 1-"K>BDBA (VM1K>BDBD an$ (VM-K>BDBF. no$e Uno$en!m;erT: Uno$enameT Upriva#e in#erconnec# nameT Uhos#nameT no$e 1: rac1 rac1-priv rac1 no$e =: rac= rac=-priv rac= clscfg: *rg!men#s chec o!# s!ccessf!ll+. 0% &('" ,(-( ,-/33(0. "!ppl+ -force parame#er #o overri$e. -force is $es#r!c#ive an$ will $es#ro+ an+ previo!s cl!s#er config!ra#ion. %racle 1l!s#er -egis#r+ for cl!s#er has alrea$+ ;een ini#ialiQe$ "#ar#!p will ;e M!e!e$ #o ini# wi#hin I0 secon$s.
4A
*$$ing $aemons #o ini##a; (?pec#ing #he 1-" $aemons #o ;e !p wi#hin A00 secon$s. 1l!s#er "+nchroniQa#ion "ervices is ac#ive on #hese no$es. rac1 rac= 1l!s#er "+nchroniQa#ion "ervices is ac#ive on all #he no$es. ,ai#ing for #he %racle 1-"6 an$ (VM6 #o s#ar# ,ai#ing for #he %racle 1-"6 an$ (VM6 #o s#ar# ,ai#ing for #he %racle 1-"6 an$ (VM6 #o s#ar# %racle 1-" s#ac ins#alle$ an$ r!nning !n$er ini#81M: -!nning vipca8silen#: for config!ring no$eapps 1rea#ing 1rea#ing 1rea#ing "#ar#ing "#ar#ing "#ar#ing 6one. # V/P 5"6 %0" V/P 5"6 %0" applica#ion applica#ion applica#ion applica#ion applica#ion applica#ion reso!rce reso!rce reso!rce reso!rce reso!rce reso!rce on on on on on on 8=: 8=: 8=: 8=: 8=: 8=: no$es... no$es... no$es... no$es... no$es... no$es...
9ere )ou can see that so*e of the configuration steps are o*itted as the) "ere done b) the first node. &n addition/ the final part of the script ran the irtual &+ Configuration Assistant ( &+CA) in silent *ode. :ou should no" return to the 6Execute Configuration #cripts6 screen on RAC1 and clic% the 6OD6 button.
5?
2hen the installation is co*plete/ clic% the 6Exit6 button to lea$e the installer.
&t7s a good idea to ta%e a snapshot of the $irtual *achines/ so )ou can repeat the follo"ing stages if )ou run into an) proble*s. To do this/ shutdo"n both $irtual *achines and issue the follo"ing co**ands.
# c$ 9!019VM # #ar -cvf -*1-Pos#1l!s#erware.#ar -*11 -*1= share$ # gQip -*1-Pos#1l!s#erware.#ar
51
#elect the 6Enterprise Edition6 option and clic% the 6.ext6 button.
Enter the na*e and path for the Oracle 9o*e and clic% the 6.ext6 button.
58
#elect the 6Cluster &nstall6 option and *a%e sure both RAC nodes are selected/ the clic% the 6.ext6 button.
2ait "hile the prere,uisite chec%s are done. &f )ou ha$e an) failures correct the* and retr) the tests before clic%ing the 6.ext6 button.
54
#elect the 6Configure Auto*atic #torage !anage*ent (A#!)6 option/ enter the #:# pass"ord for the A#! instance/ then clic% the 6.ext6 button.
#elect the 6External6 redundanc) option (no *irroring)/ select all three ra" dis%s (>de$>sdd1/ >de$>sde1 and >de$>sdf1)/ then clic% the 6.ext6 button.
55
The candidate dis%s *a) not be listed at first. &f this is the case/ clic% the 6Change 'is% 'isco$er) +ath...6 button/ enter the $alue 6>de$>sdL6/ then clic% the 6OD6 button. After a short pause/ the candidate dis%s should be listed as abo$e.
Clic% the 6next6 button to a$oid the Oracle Configuration !anager Registration.
55
Once the installation is co*plete/ "ait "hile the configuration assistants run.
5<
Execute the 6root.sh6 scripts on both nodes/ as instructed on the 6Execute Configuration scripts6 screen/ then clic% the 6OD6 button.
2hen the installation is co*plete/ clic% the 6Exit6 button to lea$e the installer.
5=
&t7s a good idea to ta%e a snapshot of the $irtual *achines/ so )ou can repeat the follo"ing stages if )ou run into an) proble*s. To do this/ shutdo"n both $irtual *achines and issue the follo"ing co**ands.
# c$ 9!019VM # #ar -cvf -*1-Pos#*"M.#ar -*11 -*1= share$ # gQip -*1-Pos#*"M.#ar
The database soft"are installation and A#! creation step is no" co*plete.
On the 62elco*e6 screen/ select the 6Oracle Real Application Clusters database6 option and clic% the 6.ext6 button.
#elect the 6Create a 'atabase6 option and clic% the 6.ext6 button.
5@
#elect the 6Custo* 'atabase6 option and clic% the 6.ext6 button.
Enter the $alues 6RAC.2ORL'6 and 6RAC6 for the (lobal 'atabase .a*e and #&' +refix respecti$el)/ then clic% the 6.ext6 button.
5A
Accept the *anage*ent options b) clic%ing the 6.ext6 button. &f )ou are atte*pting the installation on a ser$er "ith li*ited *e*or)/ )ou *a) prefer not to configure Enterprise !anager at this ti*e.
#elect the 6Auto*atic #torage !anage*ent (A#!)6 option/ then clic% the 6.ext6 button.
5?
#elect the 6'ATA6 dis% group/ then clic% the 6.ext6 button.
Accept the 63se Oracle0!anaged 1iles6 database location b) the 6.ext6 button.
51
Chec% both the 6#pecif) 1lash Reco$er) Area6 and 6Enable Archi$ing6 options. Enter 6C'ATA6 as the 1lash Reco$er) Area/ then clic% the 6.ext6 button.
3nchec% all but the 6Enterprise !anager Repositor)6 option/ then clic% the 6#tandard 'atabase Co*ponents...6 button.
3nchec% all but the 6Oracle M !6 and 6Oracle E!L '-6 options/ then clic% the 6OD6 button/ follo"ed b) the 6.ext6 button on the pre$ious screen. &f )ou are atte*pting the installation on a ser$er "ith li*ited *e*or)/ )ou *a) prefer not to install the M ! at this ti*e.
Accept the default auto*atic *aintenence tas% settings b) clic%ing the 6.ext6 button.
55
Once the database creation is co*plete )ou are presented "ith the follo"ing screen. !a%e a note of the infor*ation on the screen and clic% the 6Exit6 button.
$%S Configuration
Once the installation is co*plete/ the 6NORACLEH9O!E>net"or%>ad*in>listener.ora6 file on each RAC node "ill contain entries si*ilar to the follo"ing.
)/"3(0(-L-*11 K 86("1-/P3/%0L)/"3 K 86("1-/P3/%0 K 8*66-("" K 8P-%3%1%) K /P1:8&(' K (H3P-%11C=1:: 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac1-vip:8P%-3 K 1C=1:8/P K 2/-"3:: 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K 1B=.1AD.=.101:8P%-3 K 1C=1:8/P K 2/-"3:: : :
The 6NORACLEH9O!E>net"or%>ad*in>tnsna*es.ora6 file on each RAC node "ill contain entries si*ilar to the follo"ing.
-*1 K 86("1-/P3/%0 K 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac1-vip:8P%-3 K 1C=1:: 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac=-vip:8P%-3 K 1C=1:: 8)%*6L4*)*01( K +es: 81%00(13L6*3* K 8"(-V(- K 6(6/1*3(6: 8"(-V/1(L0*M( K -*1.,%-)6: : :
55
)/"3(0(-"L-*1 K 8*66-(""L)/"3 K 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac1-vip:8P%-3 K 1C=1:: 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac=-vip:8P%-3 K 1C=1:: : -*1= K 86("1-/P3/%0 K 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac=-vip:8P%-3 K 1C=1:: 81%00(13L6*3* K 8"(-V(- K 6(6/1*3(6: 8"(-V/1(L0*M( K -*1.,%-)6: 8/0"3*01(L0*M( K -*1=: : : -*11 K 86("1-/P3/%0 K 8*66-("" K 8P-%3%1%) K 31P:8E%"3 K rac1-vip:8P%-3 K 1C=1:: 81%00(13L6*3* K 8"(-V(- K 6(6/1*3(6: 8"(-V/1(L0*M( K -*1.,%-)6: 8/0"3*01(L0*M( K -*11: : :
This configuration allo"s direct connections to specific instance/ or using a load balanced connection to the *ain ser$ice.
O sMlpl!s 9 as s+s$;a "V)*Pl!s: -elease 11.1.0.A.0 - Pro$!c#ion on Mon %c# == 0B:0B:01 =00F 1op+righ# 8c: 1BD=. =00F. %racle. *ll righ#s reserve$.
1onnec#e$ #o: %racle 6a#a;ase 11g (n#erprise ($i#ion -elease 11.1.0.A.0 - Pro$!c#ion ,i#h #he Par#i#ioning. -eal *pplica#ion 1l!s#ers. %)*P. 6a#a Mining an$ -eal *pplica#ion 3es#ing op#ions "V)T 1%00 s+s9passwor$Wrac1 *" "'"64* 1onnec#e$. "V)T "()(13 ins#anceLname. hos#Lname 2-%M vOins#anceN /0"3*01(L0*M( E%"3L0*M( -------------------------------------------------------------------------------*11 rac1.local$omain "V)T 1%00 s+s9passwor$Wrac= *" "'"64* 1onnec#e$. "V)T "()(13 ins#anceLname. hos#Lname 2-%M vOins#anceN /0"3*01(L0*M( E%"3L0*M( -------------------------------------------------------------------------------
5<
-*1=
rac=.local$omain
"V)T 1%00 s+s9passwor$Wrac *" "'"64* 1onnec#e$. "V)T "()(13 ins#anceLname. hos#Lname 2-%M vOins#anceN /0"3*01(L0*M( E%"3L0*M( -------------------------------------------------------------------------------*11 rac1.local$omain "V)T
"V)*Pl!s: -elease 11.1.0.A.0 - Pro$!c#ion on Mon %c# == 0B:0B:01 =00F 1op+righ# 8c: 1BD=. =00F. %racle. *ll righ#s reserve$.
1onnec#e$ #o: %racle 6a#a;ase 11g (n#erprise ($i#ion -elease 11.1.0.A.0 - Pro$!c#ion ,i#h #he Par#i#ioning. -eal *pplica#ion 1l!s#ers. %)*P. 6a#a Mining an$ -eal *pplica#ion 3es#ing op#ions "V)T "()(13 * 2-%M vOac#iveLins#ancesN /0"3L0UM4(----------1 = "V)T /0"3L0*M( -----------------------------------------------------------rac1.local$omain:-*11 rac=.local$omain:-*1=
5=
1inall)/ the 5VO allo" )ou to displa) global infor*ation for the "hole RAC.
"V)T "()(13 ins#Li$. program. si$. serial# 2-%M gvOsessionN "V)T 9 /0"3L/6 "(-/*)# ------------------1 >A . . 1 11 = C1 . . = I P-%5-*M "/6
1F0 1=0
oracleWrac=.local$omain 8-"M0:
1F0
&f )ou ha$e configured Enterprise !anager/ it can be used to $ie" the configuration and current status of the database using a 3RL li%e 6httpsB>>rac1.localdo*ainB115@>e*6.
5@
5A
<?
Oracle 11g Release 1 RAC On Linux 3sing .1# Oracle 1?g RAC On Linux 3sing !"are #er$er Cluster"are &nstallation (uide for Linux Real Application Clusters &nstallation (uide for Linux and 3.&E Oracle 'atabase &nstallation (uide 11g Release 1 (11.1) for Linux 'irect and As)nchronous &>O
<1