Pcserver+oracle10g+rac

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

    一.實驗前準備

虛擬機版本:Vwareserver1.0.6 java

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

Oralce版本:oracle10g10.2.1 linux

Oracle集羣軟件:clusterware c++

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

Node1:主機名rac1 數據庫

網卡1ip192.168.100.100 windows

網卡2ip192.168.200.100 安全

虛擬ip192.168.2.100 bash

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官網上下載的包,一些是系統文件中的包

 

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

1compat-binutils215-2.15.92.0.2-24.i386

2compat-libcwait-2.1-1.i386

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

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

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

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

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

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

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

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

其中12相互關聯

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

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

其中34相互關聯

5libXp-1.0.0-8.1.el5.i386

6openmotif21-2.1.30-11.EL5.i386

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

其中567相互關聯

8oracleasmlib-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/rawl

克隆rac2。

關閉rac1

Shutdownhy0

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

改完以後咱們退回到RAC2目錄下,將RAC1.VMDK這個文件改成RAC2.VMDK

在vware中打開rac2,修改hostname

Hostnamerac2

Vi/etc/sysconfig/network

修改網絡配置器

cd/etc/sysconfig/network-scripts/

ifconfiga查看全部網卡信息,記錄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

  提示:下列命令會提示你輸入rac2oracle密碼,按照提示輸入便可,若是失敗可從新嘗試執行命令。

[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,rac2verbose

存在部分報錯如: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例中所示。

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

1四、執行最後的環境配置

若是前面配置環境檢查出錯

以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

選擇存儲

  1. . 設置asm實例sys用戶的密碼,並選擇初始化文件的方式    

選擇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還遠着呢,大能夠等到建立完數據庫,待到須要管理時再修改該文件。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息