程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Pcserver+oracle10g+rac,pcserveroracle10g

Pcserver+oracle10g+rac,pcserveroracle10g

編輯:Oracle教程

Pcserver+oracle10g+rac,pcserveroracle10g


成本的相對廉價,技術的成熟,功能的強大此方案將越來越受中小企業的青睐。

    一.實驗前准備

虛擬機版本:Vwareserver1.0.6

Linux版本:redhat5.5enterprise服務器版

Oralce版本:oracle10g10.2.1

Oracle集群軟件:clusterware

VwareWorkstation版本在共享磁盤上沒有很好的解決辦法。Vwareserver在windows7安裝可能存在一定的驅動問題。本實驗是在xp系統上完成,下圖給出虛擬機的ip及主機名配置

Node1:主機名rac1

網卡1ip192.168.100.100

網卡2ip192.168.200.100

虛擬ip192.168.2.100

Node2主機名rac2

網卡1ip192.168.100.101

網卡2ip192.168.200.101

虛擬ip192.168.2.101

 

二.虛擬機配置及linux安裝

實驗利用vware配置虛擬機只需要配置一台即主節點,在虛擬機中的配置如:

硬盤配置:

該配置是一個重點配置,默認配置一個磁盤,大小為20G該磁盤為rac1的服務器磁盤,包括了linux系統的安裝及oracle軟件的安裝都在該磁盤上。

還需要分配其他四塊磁盤:2:ocr,3:vote4,5:asm

其大小分別為100M,100M,2G,2G

磁盤分部為:1,SCSI0:02,SCSI1:13,SCSI1:24,SCSI1:35,SCSI1:4且2-5都需要在高級中勾選independent-persisant選項

*硬盤分配的注意點:I/O適配器類型都選擇"LSILogin"方式

*所有磁盤類型都選在"SCSI",如果選擇IDE類型的磁盤的話,vware只能虛擬出4塊,而rac環境是需要5塊磁盤來實現。由於是在虛擬機中實現,建議將2-5磁盤配置到其他目錄中。

兩塊在安裝clusterware軟件的時候要用到,也就是ORACLERAC所必須的ocr以及vote磁盤,表現出來是裸設備方式,還有兩塊磁盤我們要用來作為共享磁盤存放數據文件,即asm磁盤

網卡配置:

rac環境中需要兩塊網卡,當然可以創建地三塊網卡和pc交互。便於文件等內容的傳輸

網卡的類型選擇的都為Bridged類型。該類型的網卡在虛擬機就等同一個獨立的網卡。可以和主機通信也可以連通互聯網。下給出一張配置後的截圖:

虛擬機中安裝linux

在虛擬機中安裝linux,在磁盤分區時將除0:0外的其他磁盤不參與分區,即如下圖,只勾選sda選項。在掛盤上隨個人喜好。為方便這裡只掛了/一個盤

        關於ip的配置,eth0:ip192.168.100.100

                Eth1:ip192.168.200.100

Eth2:選擇自動獲取

服務的話,建議都選擇安裝,目前還沒有完全了解其中包的關聯關系。

disk.locking="false"

diskLib.dataCacheMaxSize="0"

diskLib.dataCacheMaxReadAheadSize="0"

diskLib.DataCacheMinReadAheadSize="0"

diskLib.dataCachePageSize="4096"

diskLib.maxUnsyncedWrites="0"

scsi1:1.deviceType="disk"

scsi1:2.deviceType="disk"

scsi1:3.deviceType="disk"

scsi1:4.deviceType="disk"

 

三.Linux配置                        

文件配置

1,編輯/etc/hosts文件,添加如下內容:

192.168.100.100rac1

192.168.100.101rac2

192.168.100.200rac1-vip

192.168.100.201rac2-vip

192.168.2.100rac1-priv

192.168.2.101rac2-priv    

2,創建組oinstall,dba,用戶oracle

groupaddoinstall

groupadddba

useradd-d/home/oracle-goinstall-Gdbaoracle

如果是非虛機安裝,要注意記錄下用戶和組ID,在其它機器上創建同名組時,務必確認組ID和用戶ID與此相同。

設置oracle用戶密碼(密碼也設為oracle)

passwdoracle

3,配置oralce用戶的bash_profile文件

exportTMP=/tmp

exportTMPDIR=$TMP

exportORACLE_BASE=/opt/ora10g

exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

exportORACLE_SID=RACDB1

exportORACLE_TERM=xterm

exportPATH=/usr/sbin:$PATH

exportPATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin

exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

ulimit-u16384-n65536

umask022

2,創建/opt/ora10g目錄,要注意該目錄所有者或oracle用戶的權限

[root@rac1~]#mkdir/opt/ora10g

由於該目錄主要由oracle用戶操作,因此我們將其所有者改為oracle

[root@rac1~]#chownoracle.oinstall/opt/ora10g

3,配置內核參數

[root@rac1~]#vi/etc/sysctl.conf

增加或修改下列內容

kernel.shmmni=4096

kernel.sem=25032000100128

fs.file-max=65536

net.ipv4.ip_local_port_range=102465000

net.core.rmem_default=1048576

net.core.rmem_max=1048576

net.core.wmem_default=262144

net.core.wmem_max=262144

[root@rac1~]#sysctl-p

讓設置生效

4,提高Oracle用戶的shell限制

設置oracle使用的文件數權限

vi/etc/security/limits.conf

增加下列內容

oraclesoftnproc2047

oraclehardnproc16384

oraclesoftnofile1024

oraclehardnofile65536

修改安全限制

vi/etc/pam.d/login

增加:

sessionrequired/lib/security/pam_limits.so

配置Hangcheck計時器

vi/etc/rc.local

增加:

modprobehangcheck-timerhangcheck-tick=30hangcheck_margin=180

 

磁盤分區

通過fdisk-l可以看看所有磁盤的狀態,如果前期裸設備規劃正確的話,在諸如/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde下面是看不到任何分區信息的,這也表明這些磁盤都是干淨的磁盤,不像/dev/sda那樣不干淨(有了文件系統)。下面我們要對/dev/sdb到/dev/sde的四塊磁盤進行分區,分區過程如下圖所示(這裡以/dev/sdb為例,其他磁盤操作類似):

Fdisk/devv/sdb

n->p->1->->w

創建一個新的磁盤,設置為主分區。並且給予全部的空間

剩下的就是補丁包的安裝了

 

http://oss.oracle.com/projects/compat-oracle/files/Enterprise_Linux/

經整理需要的除上面地址給對的

給出一個截圖,一些是在oracle官網上下載的包,一些是系統文件中的包

 

網絡整理在打補丁這個環節,現將本實驗打一些補丁包順序羅列如下:

1,compat-binutils215-2.15.92.0.2-24.i386

2,compat-libcwait-2.1-1.i386

3,compat-libstdc++-egcs-1.1.2-1.i386

4,openmotif21-debuginfo-2.1.30-11.EL5.i386

5,xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386

6,oracleasm-support-2.1.2-1.el5.i386

7,oracleasm-2.6.18-53.el5-2.0.4-1.el5.i686

8,oracleasm-2.6.18-53.el5xen-2.0.4-1.el5.i686

1,kernel-debug-2.6.18-53.el5.i686

2,oracleasm-2.6.18-53.el5debug-2.0.4-1.el5.i686

其中1、2相互關聯

3,kernel-PAE-2.6.18-53.el5.i686

4,oracleasm-2.6.18-53.el5PAE-2.0.4-1.el5.i686

其中3、4相互關聯

5,libXp-1.0.0-8.1.el5.i386

6,openmotif21-2.1.30-11.EL5.i386

7,compat-oracle-el5-1.0-5.i386

其中5、6、7相互關聯

8,oracleasmlib-2.0.3-1.el5.i386

 

裸設備及rac2的配置

1,配置裸設備:

由於RHEL5中取消了rawdevices,如果不想將映射命令放到rc.local中的話,我們就需要將其配置到/etc/udev/rules.d/文件夾中

修改文件

/etc/udev/rules.d/60-raw.rules,添加內容如下圖所示:

ACTION=="add",KERNEL=="/dev/sdb1",RUN+="/bin/raw/dev/raw/raw1%N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw/dev/raw/raw1%M%m"

ACTION=="add",KERNEL=="/dev/sdc1",RUN+="/bin/raw/dev/raw/raw2%N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw/dev/raw/raw2%M%m"

ACTION=="add",KERNEL=="/dev/sdd1",RUN+="/bin/raw/dev/raw/raw3%N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw/dev/raw/raw3%M%m"

ACTION=="add",KERNEL=="/dev/sde1",RUN+="/bin/raw/dev/raw/raw4%N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw/dev/raw/raw4%M%m"

KERNEL=="raw[1-4]",OWNER="oracle",GROUP="oinstall",MODE="640"

重啟服務以及驗證

start_udev

ls/dev/raw–l

克隆rac2。

關閉rac1

Shutdown–hy0

將rac1中的文件拷貝到rac2上,並修改vmx文件

改完之後我們退回到RAC2目錄下,將RAC1.VMDK這個文件改為RAC2.VMDK:

在vware中打開rac2,修改hostname

Hostnamerac2

Vi/etc/sysconfig/network

修改網絡配置器

cd/etc/sysconfig/network-scripts/

ifconfig–a查看所有網卡信息,記錄mac地址

cd/etc/sysconfig/network-scripts/

mvifcfg-eth0.bakifcfg-eth0–f

mvifcfg-eth1.bakifcfg-eth1–f

mvifcfg-eth2.bakifcfg-eth2–f

將記錄的mac信息對應的更新到ifcfg-eth*文件中。

重啟網絡服務

Servicenetworkrestart

除此之外,還要切換到oracle用戶下修改ORACLE_SID這個環境變量。

同時修改/etc/hosts文件

至此,副節點的設置完畢,我們需要做的,就是重啟系統,讓新的主機名、IP地址等生效。

下面開始配置clusterware

四.配置Clusterware安裝環境及安裝

通信配置

在clusterware(CRS)和RacDatabase安裝過程中,OracleUniversalInstaller(OUI)必須能夠以oracle的身份自動將軟件復制到所有RAC節點。這裡我們通過配置ssh讓oracle用戶擁有不輸入密碼即可訪問各節點的能力。

首先兩個節點間互ping,要確保都是通的

要建立用戶等效性,需要在兩個節點上以oracle用戶身份生成用戶的公鑰和私鑰,首先在rac1執行:

[root@rac1opt]#su-oracle

[oracle@rac1~]$mkdir~/.ssh

[oracle@rac1~]$chmod700~/.ssh

[oracle@rac1~]$ssh-keygen-trsa

Generatingpublic/privatersakeypair.

Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_rsa):

Enterpassphrase(emptyfornopassphrase):

Entersamepassphraseagain:

Youridentificationhasbeensavedin/home/oracle/.ssh/id_rsa.

Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_rsa.pub.

Thekeyfingerprintis:

d2:69:eb:ac:86:62:27:50:99:ff:e8:1e:a2:e6:5d:7foracle@node1

[oracle@rac1~]$ssh-keygen-tdsa

Generatingpublic/privatedsakeypair.

Enterfileinwhichtosavethekey(/home/oracle/.ssh/id_dsa):

Enterpassphrase(emptyfornopassphrase):

Entersamepassphraseagain:

Youridentificationhasbeensavedin/home/oracle/.ssh/id_dsa.

Yourpublickeyhasbeensavedin/home/oracle/.ssh/id_dsa.pub.

Thekeyfingerprintis:

0a:9a:20:46:a2:28:ec:72:23:82:f2:9d:f8:62:9b:d1oracle@node1

接著在rac2中作同樣的操作

切回rac1

[oracle@rac1~]$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

[oracle@rac1~]$cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

  提示:下列命令會提示你輸入rac2的oracle密碼,按照提示輸入即可,如果失敗可重新嘗試執行命令。

[oracle@rac1~]$sshrac2cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

Theauthenticityofhost¨node2(192.168.100.102)¨can¨tbeestablished.

RSAkeyfingerprintis92:d1:ce:5b:c8:a1:52:d5:ac:00:5f:48:5d:12:06:e4.

Areyousureyouwanttocontinueconnecting(yes/no)?yes

Warning:Permanentlyadded¨node2,192.168.100.102¨(RSA)tothelistofknownhosts.

oracle@rac2¨spassword:

[oracle@rac1~]$sshrac2cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys

oracle@rac2¨spassword:

[oracle@rac1~]$scp~/.ssh/authorized_keys

rac2:~/.ssh/authorized_keys

oracle@rac2¨spassword:

authorized_keys100%19922.0KB/s00:00

  兩機相互執行,看看是否還需要輸入密碼

[oracle@rac1~]$sshrac1date

[oracle@rac1~]$sshrac2date

[oracle@rac1~]$sshrac1-privdate

[oracle@rac1~]$sshrac2-privdate

  切換至rac2執行

[oracle@rac2~]$sshrac1date

[oracle@rac2~]$sshrac2date

[oracle@rac2~]$sshrac1-privdate

[oracle@rac2~]$sshrac2-privdate

  提示:

  注意命令的返回信息,由於rac對節點間時間較敏感,因此如果此處顯示節點單時間不一至,建議同步(一般相隔超過20秒就需要同步時間了)。

配置asm

注意:必須以root身份進行

  首先在node1執行:

[root@rac1~]#/etc/init.d/oracleasmconfigure

ConfiguringtheOracleASMlibrarydriver.

Thiswillconfiguretheon-bootpropertiesoftheOracleASMlibrary

driver.Thefollowingquestionswilldeterminewhetherthedriveris

loadedonbootandwhatpermissionsitwillhave.Thecurrentvalues

willbeshowninbrackets(¨[]¨).Hittingwithouttypingan

answerwillkeepthatcurrentvalue.Ctrl-Cwillabort.

Defaultusertoownthedriverinterface[]:oracle

Defaultgrouptoownthedriverinterface[]:dba

StartOracleASMlibrarydriveronboot(y/n)[n]:y

FixpermissionsofOracleASMdisksonboot(y/n)[y]:y

WritingOracleASMlibrarydriverconfiguration:[OK]

Loadingmodule"oracleasm":[OK]

MountingASMlibdriverfilesystem:[OK]

ScanningsystemforASMdisks:[OK]

  提示:如果本步執行出錯(可能出錯機率最高的是在ScanningsystemforASM),不妨將轉換一下命令行的執行方式,改成:

[root@rac1~]#sh/etc/init.d/oracleasmconfigure

  有可能解決你的問題!

  然後切換至rac2執行

[root@rac2~]#/etc/init.d/oracleasmconfigure

ConfiguringtheOracleASMlibrarydriver.

Thiswillconfiguretheon-bootpropertiesoftheOracleASMlibrary

driver.Thefollowingquestionswilldeterminewhetherthedriveris

loadedonbootandwhatpermissionsitwillhave.Thecurrentvalues

willbeshowninbrackets(¨[]¨).Hittingwithouttypingan

answerwillkeepthatcurrentvalue.Ctrl-Cwillabort.

Defaultusertoownthedriverinterface[]:oracle

Defaultgrouptoownthedriverinterface[]:dba

StartOracleASMlibrarydriveronboot(y/n)[n]:y

FixpermissionsofOracleASMdisksonboot(y/n)[y]:y

WritingOracleASMlibrarydriverconfiguration:[OK]

Loadingmodule"oracleasm":[OK]

MountingASMlibdriverfilesystem:[OK]

ScanningsystemforASMdisks:[OK]

再切換回rac1執行

[root@rac1~]#/etc/init.d/oracleasmcreatediskVOL1/dev/sdd1

Markingdisk"/dev/sdd1"asanASMdisk:[OK]

[root@rac1~]#/etc/init.d/oracleasmcreatediskVOL2/dev/sde1

Markingdisk"/dev/sde1"asanASMdisk:[OK]

[root@rac1linux-patch]#/etc/init.d/oracleasmscandisks

ScanningsystemforASMdisks:[OK]

查看一下當前的磁盤組:

[root@rac1~]#/etc/init.d/oracleasmlistdisks

VOL1

VOL2

rac2上也查看一下當前磁盤組:

[root@rac2~]#/etc/init.d/oracleasmscandisks

ScanningsystemforASMdisks:[OK]

[root@rac2~]#/etc/init.d/oracleasmlistdisks

VOL1

VOL2

檢查

/data/rhel5/clusterware/cluvfy/runcluvfy.shstage-precrsinst-nrac1,rac2–verbose

存在部分報錯如:CouldnotfindasuitablesetofinterfacesforVIPs.compat-*等等報錯,但可以忽略掉

安裝時時間必須同步,兩台虛擬機時刻存在時間不同步問題

可用ntp協議同

*****/usr/sbin/ntpdate192.168.100.100

*****sleep5;/usr/sbin/ntpdate192.168.100.100

*****sleep10;/usr/sbin/ntpdate192.168.100.100

*****sleep15;/usr/sbin/ntpdate192.168.100.100

*****sleep20;/usr/sbin/ntpdate192.168.100.100

*****sleep25;/usr/sbin/ntpdate192.168.100.100

*****sleep30;/usr/sbin/ntpdate192.168.100.100

*****sleep35;/usr/sbin/ntpdate192.168.100.100

*****sleep40;/usr/sbin/ntpdate192.168.100.100

*****sleep45;/usr/sbin/ntpdate192.168.100.100

*****sleep50;/usr/sbin/ntpdate192.168.100.100

*****sleep55;/usr/sbin/ntpdate192.168.100.100

隔5秒執行一次同步

安裝

Host+

Su oracle

建議在執行前先加載一下.bash_profile文件,加載oracle用戶的環境變量

./runInstaller–ignoreSysPreReqs

上圖處需要手工增加rac2的節點。

上圖處需要將eth0設置為public其他不用的改為donotuseeth1為private

上圖分別選擇ocr及vote磁盤位置

 

在rac1上執行:/opt/ora10g/oraInventory/orainstRoot.sh;

在rac2上執行:/opt/ora10g/oraInventory/orainstRoot.sh;

在rac1上執行:/opt/ora10g/product/10.2.0/crs_1/root.sh;

在rac2上執行:/opt/ora10g/product/10.2.0/crs_1/root.sh;

/opt/ora10g/product/10.2.0/crs_1/jdk/jre//bin/java:errorwhileloadingsharedlibraries:libpthread.so.0:cannotopensharedobjectfile:Nosuchfileordirectory

可以按照如下方式解決:

===============================

修改vipca文件

[root@node2opt]#vi/opt/ora10g/product/10.2.0/crs_1/bin/vipca

找到如下內容:

Removethisworkaroundwhenthebug3937317isfixed

arch=`uname-m`

if["$arch"="i686"-o"$arch"="ia64"]

then

LD_ASSUME_KERNEL=2.4.19

exportLD_ASSUME_KERNEL

fi

#Endworkaround

在fi後新添加一行:

unsetLD_ASSUME_KERNEL

以及srvctl文件

[root@node2opt]#vi/opt/ora10g/product/10.2.0/crs_1/bin/srvctl

找到如下內容:

LD_ASSUME_KERNEL=2.4.19

exportLD_ASSUME_KERNEL

同樣在其後新增加一行:

unsetLD_ASSUME_KERNEL

保存退出,然後在node2重新執行root.sh

當然,既然我們已經知道了有這個問題,建議最好在node2執行root.sh之前,首先修改vipca。

其實同時需要你改的還有$ORACLE_HOME/bin/srvctl文件,不然等裝完數據庫之後,srvctl命令也是會報這個錯誤地。要知道srvctl這麼常用,如果它執行老報錯,那可是相當致命啊。不過呢你現在才安裝到crs,離createdb還遠著呢,大可以等到創建完數據庫,待到需要管理時再修改該文件。

B).如果你碰到了這個錯誤:

Thegiveninterface(s),"eth0"isnotpublic.PublicinterfacesshouldbeusedtoconfigurevirtualIPs.

解決方式如下:

==============================

圖形界面上運行$CRS_HOME/bin/vipca,手工重新配置rac1-vip和rac2-vip。

[root@node2opt]#xhost+

[root@node2opt]#/opt/ora10g/product/10.2.0/crs_1/bin/vipca

留意該圖ip配置

C).如果你碰到了這個錯誤:

Error0(Native:listNetInterfaces:[3])

[Error0(Native:listNetInterfaces:[3])]

解決方式如下:

===============================

[root@node2bin]#./oifcfgiflist

eth1 192.168.200.0

virbr0192.168.122.0

eth0192.168.100.0

[root@node2bin]#./oifcfgsetif-globaleth0/192.168.100.0:public

[root@node2bin]#./oifcfgsetif-globaleth1/192.168.200.0:cluster_interconnect

[root@node2bin]#./oifcfggetif

eth0 192.168.100.0 globalpublic

eth1 192.168.200.0 globalcluster_interconnect

然後在視窗界面重新執行vipca即可,如上b例中所示。

13、然後返回node1中,執行腳本的窗口,點擊ok結束該窗口。

14、執行最後的環境配置

如果前面配置環境檢查出錯

以root身份執行$ORA_CRS_HOME/cfgtoollogs/configToolFailedCommands.sh

然後執行:

[root@rac1~]#/opt/ora10g/product/10.2.0/crs_1/bin/./crs_stat -t

至此clusterware集群軟件安裝完成。。

五.oracle軟件安裝及實例安裝

軟件安裝

Host+

Su oracle

建議在執行前先加載一下.bash_profile文件,加載oracle用戶的環境變量

./runInstaller–ignoreSysPreReqs

此處需要將兩個兩個節點都選上

且只安裝軟件不安裝數據庫

創建實例數據庫

./dbca

 

選擇安裝數據庫的類型

將兩個節點都勾選

選擇安裝的數據庫類型

 

這裡有兩項需要你指定,一個是globalname,同時還有一個sid的前綴,注意是前綴喲。然後oracle會自動為各節點分配sid,比如這裡的sid前綴是racdb,則node1的sid就會是racdb1,node2的將會是racdb2

選擇是否啟用EM

選擇存儲

選擇asm可用的磁盤組

當前為空,因此我們需要點擊Create New來創建一個

D) . 為新建的磁盤組指定冗余度和可用的設備並起個名

這裡不啟用冗余,點擊ok之後,asm將自動開始創建該磁盤組

指定數據庫文件位置

屏蔽掉了所有可選擇的數據庫組件

這塊有兩個地方需要注意,一個是要選擇正確的數據庫字符集(對於中文字符推薦ZHS16GBK)和國家字符集(建議AL16UTF16),另外就是要點擊AllnitiallzationParameters,屏蔽掉remote_listener初始化參數的值,不然在dbca執行建庫第一步的過程中可能會引發下列錯誤

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'LISTENERS_RACDB'

這是由於模板數據庫中配置了該初始化參數造成的,解決方式有如下幾種:

A) . 手工修改模版文件,注視掉該參數

B) . 選擇自定義數據庫,在執行安裝之前修改該初始化參數為空

C) . 創建數據庫時選擇保存建庫腳本而不創建數據庫,然後手工修改建庫腳本,再通過腳本創建

D) . 提前配置好監聽和Net ServiceName

恭喜你,RAC已經成功安裝了!整體來看比單機安裝要復雜,但這還不算什麼,只是環境搭建好還不算完,RAC的管理和部署才是最要命的,比如各節點啟動和關閉,備份策略如何調整,添加修改節點如何處理,所謂路漫漫其修遠矣,哥們繼續努力吧:)

 

 

[root@r4o10n2 install]# ./rootdelete.sh
PRKH-1010 : Unable to communicate with CRS services.
[PRKH-1000 : Unable to load the SRVM HAS shared library
[PRKN-1008 : Unable to load the shared library "srvmhas10"
or a dependent library, from
LD_LIBRARY_PATH="/oracle/product/10.2.0/crs/jdk/jre/lib/i386/client:/oracle/product/10.2.0/crs/jdk/jre/lib/i386:/oracle/product/10.2.0/crs/jdk/jre/../

lib/i386:/oracle/product/10.2.0/crs/lib32:/oracle/product/10.2.0/crs/srvm/lib32:/oracle/product/10.2.0/crs/lib:/oracle/product/10.2.0/crs/srvm/lib:"
[java.lang.UnsatisfiedLinkError: /oracle/product/10.2.0/crs/lib32/libsrvmhas10.so: libclntsh.so.10.1: cannot open shared object file: No such file or directory]]]

解決辦法:

在兩2上節點安裝32位的glibc-devel-2.3.4-2.43.i386.rpm,然後再重新安裝CRS 
注意:必要是2個節點上都要安裝這個包,而且需要重新安裝CRS

解決過程:

[root@r4o10n2 RPMS]# rpm -qa|grep glibc
glibc-kernheaders-2.4-9.1.103.EL
glibc-2.3.4-2.43
glibc-headers-2.3.4-2.43
glibc-common-2.3.4-2.43
glibc-devel-2.3.4-2.43
glibc-2.3.4-2.43
[root@r4o10n2 RPMS]# rpm -ivh glibc-devel-2.3.4-2.43.i386.rpm 
warning: glibc-devel-2.3.4-2.43.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
error: failed to stat /media/cdrecorder: No such file or directory
Preparing... ########################################### [100%]
1:glibc-devel ########################################### [100%]
[root@r4o10n2 RPMS]# rpm -qa|grep glibc
glibc-kernheaders-2.4-9.1.103.EL
glibc-devel-2.3.4-2.43
glibc-2.3.4-2.43
glibc-headers-2.3.4-2.43
glibc-common-2.3.4-2.43
glibc-devel-2.3.4-2.43
glibc-2.3.4-2.43

   

刪除CRS

rm /etc/oracle/*
rm -f /etc/init.d/init.cssd
rm -f /etc/init.d/init.crs
rm -f /etc/init.d/init.crsd
rm -f /etc/init.d/init.evmd
rm -f /etc/rc2.d/K96init.crs
rm -f /etc/rc2.d/S96init.crs
rm -f /etc/rc3.d/K96init.crs
rm -f /etc/rc3.d/S96init.crs
rm -f /etc/rc5.d/K96init.crs
rm -f /etc/rc5.d/S96init.crs
rm -Rf /etc/oracle/scls_scr
rm -f /etc/inittab.crs
rm -rf /home/oracle/oraInventory/
rm -rf /oracle/product/10.2.0/crs/* 
dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=2560
dd if=/dev/zero of=/dev/raw/raw2 bs=8192 count=2560
chown -R oracle:oinstall /oracle

重新安裝,出現以下提示,說明已經解決該問題
The given interface(s), "eth0" is not public. Public interfaces should be used to configure virtual IPs.

 

 

 

 

libpthread.so.0: cannot open shared object file: No such file or directory 2012-09-21 13:28:08

分類: Linux

如果你碰到了這個錯誤:

/opt/ora10g/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries:  libpthread.so.0: cannot open shared object file: No such file or directory

可以按照如下方式解決:

===============================

修改vipca文件

[root@node2 opt]# vi /opt/ora10g/product/10.2.0/crs_1/bin/vipca

找到如下內容:

       Remove this workaround when the bug 3937317 is fixed

       arch=`uname -m`

       if [ "$arch" = "i686" -o "$arch" = "ia64" ]

       then

            LD_ASSUME_KERNEL=2.4.19

            export LD_ASSUME_KERNEL

       fi

       #End workaround

在fi後新添加一行:

unset LD_ASSUME_KERNEL

以及srvctl文件

[root@node2 opt]# vi /opt/ora10g/product/10.2.0/crs_1/bin/srvctl

找到如下內容:

LD_ASSUME_KERNEL=2.4.19

export LD_ASSUME_KERNEL

同樣在其後新增加一行:

unset LD_ASSUME_KERNEL

保存退出,然後在node2重新執行root.sh

當然,既然我們已經知道了有這個問題,建議最好在node2執行root.sh之前,首先修改vipca。

其實同時需要你改的還有$ORACLE_HOME/bin/srvctl文件,不然等裝完數據庫之後,srvctl命令也是會報這個錯誤地。要知道srvctl這麼常用,如果它執行老報錯,那可是相當致命啊。不過呢你現在才安裝到crs,離create db還遠著呢,大可以等到創建完數據庫,待到需要管理時再修改該文件。


oracle RAC 怎搭建,有沒有手冊

給你個關鍵字吧,手把手教你用VMware在linux下安裝oracle10g RAC,比較詳細了
 

誰配過oracle10g rac ? 一份文檔

[視頻教學]Maclean教你用Vbox在Enterprise Linux 5安裝Oracle 10gR2 RAC t.askmaclean.com/thread-891-1-1.html
10g RAC按照這個裝不會有任何問題
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved