1. 程式人生 > >Centos-6.5搭建oracle11g RAC集群

Centos-6.5搭建oracle11g RAC集群

bsp rem .rpm file acl stack ora-01017 centos tof

一、基本概念

RAC( Real Application Clusters-----真正的應用集群)

RAC數據庫是Oracle公司數據庫的集群解決方案、高可用性解決方案。兩個或多個服務器之間通過一個內部的私有網絡互相連接起來,使用集群軟件將集群中所有的服務器融合成一個整體,構成一個集群。

集群內部的所有服務器共享存儲,所有服務器都接入公共網絡,通過集群唯一的別名對外形成邏輯上單一的數據庫提供服務,對內實現集群數據庫的高可用性、節點間的負載均衡和Failover(失敗切換)。

物理結構:

  • 集群的節點(Cluster node)——2 個到 N 個節點或者主機運行 Oracle Database Server。
  • 共享存儲(shared Storage)——RAC 需要共享存儲設備讓所有的節點都可以訪問數據文件。獨立於實例之外。
  • 私有網絡(Network Interconnect)——RAC 之間需要一個高速互聯的私有網絡來處理通信和 Cache Fusion。
  • 對外服務的網絡(Production Network)——RAC 對外服務的網絡。客戶端和應用都通過這個網絡來訪問。

RAC的特點:

  • 雙機並行。RAC是一種並行模式,並不是傳統的主備模式。RAC集群的所有成員都可以同時接收客戶端的請求並處理。
  • 高可用性。集群中只要有一個節點存活,就能正常對外提供服務。
  • 易伸縮性。RAC可以非常容易地添加、刪除節點。

Oracle 11gR2版本中推出了網格即插即用(Grid Plug and Play,GPnP),可以實現節點的快速添加。

  • 高吞吐量。隨著節點數的增加,整個RAC的吞吐量也在不斷增長。

存儲管理軟件——ASM(Automated Storage Management,自動存儲管理)

為Oracle默認的存儲管理方式。

ASM是建立在裸設備基礎上,沒有任何文件系統對它進行格式化。

ASM能夠實現鏡像和條帶化,支持動態地添加、刪除磁盤,並且能自動實現重新平衡。

集群管理軟件——Clusterware

從Oracle 11g開始,Clusterware作為Grid Infrastructure的一部分被安裝和使用。安裝和運行Clusterware的服務器可以具備不同機型、不同配置,但同一個集群必須安裝相同的操作系統。

數據庫管理軟件——RAC database

與集群管理軟件配合,用以實現RAC的高可用性;

私有IPPublic IP

專用(私有)IP地址只用於內部群集處理,如心跳偵測,服務器間的同步數據用。

虛擬IPVirtual IP

當一個群集節點出現故障時,數據庫應用程序通過虛擬IP地址進行故障切換,同時有均衡負載的作用。

公共IPPublic IP

公共IP地址是正常的(真實的)IP地址,通常DBA和SA使用公共IP地址在來管理存儲、系統和數據庫。

監聽IPSCAN IP

從Oracle 11g R2開始,新增了加監聽IP地址(SCAN IP)

由於每增加一個RAC節點就要增加一個VIP,為了簡化維護,11gR2之後引入了scanIP用於給客戶連接使用,一個集群中最多三個,如果使用/etc/hosts文件解析scan ip,因為不能做輪訓的負載均衡,所以就只要一個可以了。

這樣,不論集群數據庫是否有添加或者刪除節點的操作,均不會對Client產生影響。

二、環境搭建

兩臺服務器,至少配有兩張網卡,內存2G以上,硬盤30G;

操作系統linux redhat 6.5 x86-64(12c開始不支持32位)

配置網絡:

Public IP必須與Private IP分屬兩張不同的網卡;

編輯/etc/hosts文件,配置內容如下:

[root@rac-1 network-scripts]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

#127.0.0.1 的解析不能刪掉

vi /etc/hosts

#Public IP 172.17.166.71 rac-1

172.17.166.72 rac-2

#Private IP

192.168.166.71 rac-1-priv

192.168.166.72 rac-2-priv

#Virtual IP172.17.166.69 rac-1-vip

172.17.166.70 rac-2-vip

#scan IP

172.17.166.30 rac-scan

創建用戶和組

在節點rac-1rac-2上執行以下命令:

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 505 asmoper

groupadd -g 506 asmdba

useradd -g oinstall -G dba,asmdba,oper oracle

useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

用戶創建之後要給用戶添加密碼

passwd grid

passwd oracle

設置grid用戶的環境變量:

[root@ rac-1 ~]# su -grid

[grid@rac-1 ~]$ vim .bash_profile

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export PATH=$ORACLE_HOME/bin:$PATH

export LANG=en_US

umask 022

設置oracle用戶環境變量

[root@ rac-1 ~]# su - oracle

[oracle@ rac-1 ~]$ vi ~/.bash_profile

export ORACLE_SID=rac1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"

export TMP=/tmp

export TMPDIR=$TMP

export PATH=$PATH:$ORACLE_HOME/bin

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

umask 022

註意:另外一臺數據庫實例名須做相應修改:

Oracle:export ORACLE_SID=rac2

grid:export ORACLE_SID=+ASM2

創建所需目錄和設置權限

在節點rac-1rac-2上執行以下命令:

mkdir -p /u01/app/oracle

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid

chown -R grid:oinstall /u01/app/grid

chown -R grid:oinstall /u01/app/11.2.0

chown -R oracle:oinstall /u01/app/oracle

chmod -R 775 /u01

mkdir -p /u01/app/oraInventory

chown -R grid:oinstall /u01/app/oraInventory

chmod -R 775 /u01/app/oraInventory

修改配置文件

在節點rac-1、rac-2修改以下配置文件

1. selinux的配置文件

setenforce 0 #立即生效,臨時關閉,重啟恢復

vi /etc/selinux/config

設置SELINUX=disabled,#永久關閉,重啟生效

2.修改/etc/pam.d/login

[root@rac-1 ~]# vi /etc/pam.d/login

添加以下內容:

session required pam_limits.so

3.修改limits.conf

由於oracle軟件擁有者的默認硬限制不足以安裝和配置oracle grid infrastructure

cp /etc/security/limits.conf /etc/security/limits.conf.bak

vi /etc/security/limits.conf

添加以下內容:

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft stack 10240

4.修改/etc/profile

cp /etc/profile /etc/profile.bak

vi /etc/profile

在文件最後添加以下內容:

#set oracle rac env

if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then

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

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

5.修改/etc/sysctl.conf

cp /etc/sysctl.conf /etc/sysctl.conf.bak

vi /etc/sysctl.conf

添加以下內容:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1054472192 #1/2物理內存(單位M)*1024*1024

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

net.ipv4.tcp_wmem = 262144 262144 262144

net.ipv4.tcp_rmem = 4194304 4194304 4194304

[root@rac-1 ~]sysctl -p

使修改參數立即生效。

停止並刪除ntp服務以及其他不需要的服務

CTSS時間同步服務作為Oracle Clusteware的一部分被安裝,在系統中,如果察覺到時間同步服務或者時間同步服務配置,那麽CTSS將以觀察模式(Oberver Mode)啟動和運行,不執行時間同步操作。CTSS守護進程能隨時被安裝,並將一直運行,但是只有在系統符合配置條件情況下才會起作用。如果NTP不存在於任何的集群服務器中,CTSS將被激活,接管集群的時間管理工作,以活動模式(Active Mode)啟動和運行,使用集群其中一個服務器作為參考服務器,同步集群中的其他服務器的時間。

建議使用CTSS,所以關閉ntp服務,並關閉開機自啟動。

在節點rac-1、rac-2停用ntp服務,並刪除ntp服務的配置。

[root@rac-1 ~]# service ntpd status

ntpd is stopped

[root@rac-1 ~]# chkconfig ntpd off

[root@rac-1 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

[root@rac-1 ~]# rm -rf /etc/ntp.conf

同樣,在rac-2上也停止並刪除ntp服務。

其他不需要的服務也一並關掉開機自啟,有些可能因為就沒有安裝這個服務報錯,可以忽略;

chkconfig autofs off

chkconfig acpid off

chkconfig sendmail off

chkconfig cups-config-daemon off

chkconfig cpus off

chkconfig xfs off

chkconfig lm_sensors off

chkconfig gpm off

chkconfig openibd off

chkconfig pcmcia off

chkconfig cpuspeed off

chkconfig nfslock off

chkconfig ip6tables off

chkconfig iptables off

chkconfig rpcidmapd off

chkconfig apmd off

chkconfig sendmail off

chkconfig arptables_jf off

chkconfig microcode_ctl off

chkconfig rpcgssd off

配置oracle,grid 用戶SSH對等性

(11g之後不配也行,後面安裝軟件的時候會有圖形化的ssh配置)

在節點rac-1和rac-2上配置oracle、gird用戶ssh對等性。

su - oracle

mkdir ~/.ssh

chmod 700 ~/.ssh

ssh-keygen -t rsa

一路回車

ssh-keygen -t dsa

一路回車(兩個節點都要生成)

返回節點1:

cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

ssh rac-2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

ssh rac-2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

scp ~/.ssh/authorized_keys oracle@rac-2:~/.ssh/authorized_keys

驗證,節點rac-1、rac-2

ssh rac-1 date

ssh rac-2 date

ssh rac-1-priv date

ssh rac-2-priv date

重復上述步驟,以grid用戶配置其對等性。

配置yum源,安裝必要軟件

vi /etc/yum.repos.d/base.repo

[base]

name=base

baseurl=ftp://172.17.62.160/pub/centos6.5 #也可以使用本地yum源 file:///掛載點

enable=1

gpgcheck=0

rm -rf /etc/yum.repos.d/CentOS-*

yum clean all

yum list

yum install -y  binutils*  compat-libstdc*  elfutils-libelf*  gcc*  glibc*  ksh*  libaio*  libgcc* libstdc*  make*  sysstat*  unixODBC*  libaio-devel*  glibc-devel.i686 libaio.i686 libaio-devel.i686  libstdc++-devel.i686 unixODBC-devel.i686 compat-libcap1*  compat-libcap1.i686  expat* 

上傳ORACLE 11g的安裝介質,並解壓

為便於將來安裝軟件,分別將其move到oracle用戶和grid用戶的家目錄:

[root@rac-1 ~]# mv database/ /home/oracle/

[root@rac-1 ~]# mv grid/ /home/grid/

確認一下兩個節點RPM包cvuqdisk-1.0.9-1.rpm是否安裝。

#rpm -qa|grep cvuqdisk

如果沒裝,在兩個節點執行如下

[root@rac-1 ~]#cd /home/grid/grid/rpm/

[root@rac-1 ~]#rpm -ivh cvuqdisk-1.0.9-1.rpm

[root@rac-1 ~]#scp /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm root@rac-2:/root

[root@rac-2 ~]# rpm -ivh cvuqdisk-1.0.9-1.rpm

添加共享存儲

磁盤規劃如下:

/dev/sdb

1024MB

OCR

/dev/sdc

1024MB

VotingDisk

/dev/sdd

10240MB

配置DATA磁盤組,存放數據庫

/dev/sde

10240MB

配置FLASH磁盤組,用於閃回區

磁盤同時掛載給兩臺服務器,配置multipath多路徑,由於redhat6以後oracle不再支持asmlib(僅原生redhat6 kernel)故采用udev的方式配置asm

主節點rac-1:

[root@rac-1 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdb

36000c297937b5900e61de1f6c8ce7ada

[root@rac-1 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc

36000c29950ca49868a7c9b259533ef8c

[root@rac-1 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdd

36000c29ae3c78012d3713d8c6ec4afd8

[root@rac-1 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sde

36000c293944d73c1fff875cc1ac69e4d

2個節點rac-1和rac-2:

把上面查詢的結果寫入下面的文件:

rac-1&rac-2:

[root@rac-1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c297937b5900e61de1f6c8ce7ada", NAME="asm-DATA1", OWNER="grid", GROUP="asmdba", MODE="0660"#每個磁盤的規則必須是在一行,不能有回車

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29950ca49868a7c9b259533ef8c", NAME="asm-DATA2", OWNER="grid", GROUP="asmdba", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c29ae3c78012d3713d8c6ec4afd8", NAME="asm-FRA", OWNER="grid", GROUP="asmdba", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c293944d73c1fff875cc1ac69e4d", NAME="asm-OCR", OWNER="grid", GROUP="asmdba", MODE="0660"

[root@rac-1 rules.d]# start_udev

[root@rac-1 rules.d]# ls -l /dev/asm*

[root@rac-1 rules.d]# ls -l /dev/asm*

至此,環境準備完成,建議重啟一次服務器;

安裝前預檢查配置信息

[grid@rac-1 grid]$ ./runcluvfy.sh stage -pre crsinst -n rac-1,rac-2 -fixup -verbose

i386類的依賴軟間可能因為版本問題,檢查不成功

/bin/rm: cannot remove `/tmp/bootstrap‘: Operation not permitted

./runcluvfy.sh: line 99: /tmp/bootstrap/ouibootstrap.log: Permission denied

權限不足導致,

[root@rac-1 ~]# chown -R grid:oinstall /tmp/bootstrap

--為grid賦權

安裝Grid軟件

確保"rac1"和"rac2"已經啟動,grid軟件的安裝需要圖形化界面,如果安裝服務器的時候沒有安裝圖形化界面,需要先安裝圖形化界面,然後登錄Xmanger。也可以選擇使用VNC

1.打開Xstart,新建會話,協議選擇SSH,輸入用戶名密碼,命令選擇GNOME,高級選擇Xstart sample;

2.登錄圖形化界面後,新建一個Terminal,切換到grid用戶,

.

xhost + 這個命令將允許別的用戶啟動的圖形程序將圖形顯示在當前屏幕上。
一般與DISPLAY共同使用

[grid@rac-1 ~]$./runInstaller

第1步:默認即可。選擇"Install and Configure Oracle Grid Infrastructure for a Cluster".

第2步:選擇高級安裝.

第3步:選擇語言

第4步:因為沒有使用DNS解析地址,故去掉Configure GNS,設置SCAN Name與/etc/hosts文件一致,其他默認。

VIP不可ping通

第5步:選擇Add,添加節點

Public Hostname輸入rac-2, Virtual Hostname輸入rac-2-vip

驗證ssh等效性。

1) 如果前置未設置ssh等效性:選擇ssh connectivty,輸入OS password:grid(grid用戶密碼),點擊setup,等待即可,成功則下一步。然後點擊“Test”.

2) 如果前面已經設置了ssh等效性:可以點擊“Test”,或直接下一步。

點擊"Next",出現[INS-40912]錯誤:

是由於當前VIP能夠ping通造成,禁用VIP地址所在網卡即可;

ifdown ethX

第6步:選擇網卡;

第7步:默認即可."Oracle Automatic Storage Management(Oracle ASM)"

第8步:創建ASM磁盤組。若未發現磁盤,則點擊change Discovery Path,輸入磁盤所在地址。

/dev/ *

external:外部冗余,不對數據庫文件鏡像;

normal:常規冗余,使用2份鏡像存儲,至少需要兩塊磁盤;

high:高冗余,使用三份鏡像存儲,至少需要三塊磁盤;

創建CRS磁盤組OCRVOTING,選擇external-->/dev/asm-diskb,/dev/asm-diskc

9步:設置ASM password(密碼oracle),警告INS-30011密碼不推薦,忽略。

點擊"Yes"

第10步:默認即可."Do not use Intellgent Platform Management Interface(IPM)"

IPMI為了失敗隔離使用,安裝時可以按需配置,後期也可以使用CRSCTL工具配置它

第11步:默認即可.

第12步:默認即可.

第13步:默認即可。

第14步:提示的假如只有些包未安裝(例如i386的包),則忽略,下一步。

出現elfutils-libelf-devel和pdksh包缺少的提示,也可以忽略。

第15步:默認即可。點擊"finish."開始setup

第16步:安裝進程。

65%的時候會從一個節點向另一個節點拷貝文件會比較慢,但是如果卡半天還沒反應的話,看下節點防火墻關了沒。

提示執行腳本。

一定要以root帳戶執行,並且不能同時執行。

先執行rac-1 /u01/app/oraInventory/orainstRoot.sh,

再執行rac-2 /u01/app/oraInventory/orainstRoot.sh

然後,先執行rac-1 /u01/app/11.2.0/grid/root.sh

再執行 rac-2 /u01/app/11.2.0/grid/root.sh

rac-1執行root.sh時報錯:

/g01/app/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory

Failed to create keys in the OLR, rc = 127, 32512

OLR configuration failed

是由於缺少包導致的。

解決方法:

在2個節點上重新安裝上此包。

[root@rac-1 Packages]# rpm -ivh compat-libcap1-1.10-1.x86_64.rpm

warning: compat-libcap1-1.10-1.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY

Preparing... ########################################### [100%]

1:compat-libcap1 ########################################### [100%]

CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start at /g01/app/11.2.0/grid/crs/install/rootcrs.pl line 443.

oracle的BUG

解決方法:

出現pa user cert的時候在另一個窗口不停的執行下面的命令,直到命令執行成功

/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

如果root腳本執行失敗,執行下面命令清除環境,再執行腳本。

[root@rac1 ~]# perl $GRID_HOME/crs/install/rootcrs.pl -verbose -deconfig -force

rac-1和rac-2都執行完後。點擊"OK"

點擊"OK"後,繼續安裝

如果出現INS-20802 Oracle Cluster Verifaction Utility failed。可以skip

提示:INS-32091,Software Installation was successful.But some configuration assistants failed,were cancelled or skipped. Are you sure you want to continue?

選擇"Yes"。

第18步:Finished。點擊"Close".

Oracle Grid Infrastructure安裝完成。

確認集群安裝成功

檢查crs狀態:

[root@rac-1 ~]# su - grid

[grid@rac-1 ~]$ crsctl check crs

CRS-4638: Oracle High Availability Services is online

CRS-4537: Cluster Ready Services is online

CRS-4529: Cluster Synchronization Services is online

CRS-4533: Event Manager is online

檢查Clusterware資源:

[grid@rac-1 ~]$ crs_stat -t -v

Name Type R/RA F/FT Target State Host

----------------------------------------------------------------------

ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE rac-1

ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE rac-1

ora....TING.dg ora....up.type 0/5 0/ ONLINE ONLINE rac-1

ora....DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac-1

ora...._FRA.dg ora....up.type 0/5 0/ ONLINE ONLINE rac-1

ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE rac-1

ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE rac-2

ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE

ora....network ora....rk.type 0/5 0/ ONLINE ONLINE rac-1

ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE rac-1

ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE rac-1

ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac-1

ora....E1.lsnr application 0/5 0/0 ONLINE ONLINE rac-1

ora....de1.gsd application 0/5 0/0 OFFLINE OFFLINE

ora....de1.ons application 0/3 0/0 ONLINE ONLINE rac-1

ora....de1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac-1

ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac-2

ora....E2.lsnr application 0/5 0/0 ONLINE ONLINE rac-2

ora....de2.gsd application 0/5 0/0 OFFLINE OFFLINE

ora....de2.ons application 0/3 0/0 ONLINE ONLINE rac-2

ora....de2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE rac-2

ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac-1

ora.testdb.db ora....se.type 0/2 0/1 ONLINE ONLINE rac-1

註:

oc4j、gsd默認服務是禁用的

[grid@rac-1 ~]$

檢查集群節點:

[grid@rac-1 ~]$ olsnodes -n

rac-1 1

rac-2 2

檢查兩個節點上的Oracle TNS監聽器進程:

[grid@rac-1 ~]$ ps -ef|grep lsnr|grep -v ‘grep‘

grid 3783 1 0 12:56 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit

grid 3910 1 0 12:58 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit

[grid@rac-1 ~]$ ps -ef|grep lsnr|grep -v ‘grep‘|awk ‘{print $9}‘

LISTENER

LISTENER_SCAN1

[grid@rac-1 ~]$

確認針對Oracle Clusterware文件的Oracle ASM功能:

[grid@rac-1 ~]$ srvctl status asm -a

ASM is running on rac-1,rac-2

ASM is enabled.

檢查Oracle集群註冊表(OCR):

[grid@rac-1 ~]$ ocrcheck

Status of Oracle Cluster Registry is as follows :

Version : 3

Total space (kbytes) : 262120

Used space (kbytes) : 2964

Available space (kbytes) : 259156

ID : 1851285791

Device/File Name : +OCRVOTING

Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check bypassed due to non-privileged user

檢查表決磁盤:

[grid@rac-1 ~]$ crsctl query css votedisk

## STATE File Universal Id File Name Disk group

-- ----- ----------------- --------- ---------

1. ONLINE 0a64312bf16a4f71bfe1809754879085 (/dev/asm-diskb) [OCRVOTING]

Located 1 voting disk(s).

[grid@rac-1 ~]$

安裝ORACLE軟件

#開啟一個Terminal終端

#xhost +

#export DISPLAY=:0.0

#su - oracle

$./runInstaller

第1步: 默認即可。點擊"Next",如果輸入郵箱,會報下面這個警告,故不填郵箱;

第2步:選擇"Install database software only".

第3步:選擇"Oracle Real Application Clusters database installation"。點擊"Select All",選擇所有的節點。

設置SSH.這裏輸入oracle用戶的密碼oracle.

第4步:選擇語言.

第5步:選擇"Enterprise Edition"

第6步:選擇oracle安裝目錄。默認即可。

第7步:選擇用戶組。默認即可。

第8步:執行安裝前預檢查。

檢查結果顯示, warning."Single Client Access Name(SCAN),忽略即可。勾選"Ignore All"。

第9步:點擊"finish",開始安裝。

第10步:Install Product進行中。顯示安裝進度。如下圖所示。

彈出提示:在rac-1,rac-2上執行root.sh腳本。

第11步:Finish. The installation of Oracle Database was succesful.點擊"Close".完成oracle software的安裝。

創建ASM磁盤組

也可以在安裝ORACLE軟件之前先創建ASM磁盤組。

如下圖所示。在節點rac-1新開一個終端窗口。

#xhost +

#export DISPLAY=:0.0

#su - grid

$ asmca

彈出以下畫面。在Disk Groups顯示了,我們在安裝Grid時創建的CRS磁盤組(OCRVOTING).

根據實際情況建立你所需要的asm磁盤組,舉個栗子:

在"Disk Groups"標簽,點擊"Create",如下圖。

點擊"Show All",顯示所有磁盤。

創建RACDB_DATA磁盤組。在Disk Group Name,輸入RACDB_DATA,Redundanc選擇External。選擇

/dev/asm-diskd.

點擊"OK",創建RACDB_DATA。

提示:Disk Group RACDB_DATA創建成功。點擊"OK".

如下圖所示。

建立完成後,點擊"Mount All",掛載所有磁盤組。在State列都變為Mounted(1 of 2).

如果mount失敗,或者在這裏沒有Mount All。在後面dbca創建數據庫會遇到問題。

然後,點擊"Exit",退出ASMCA。完成RACDB_DATA和RACDB_FRA磁盤組創建。

這時,在rac-1,rac-2上,運行asmcmd可以查看ASM磁盤組。

創建RAC數據庫

如下圖所示。以oracle用戶運行dbc

運行dbca,彈出Database Configuration Assistant畫面。

選擇"Oracle Real Application Clusters (RAC) database",點擊"NEXT"

第1步:選擇"Create a Dtabase"

第2步:選擇"General Purpose or Transaction Processing"

第3步:選擇Configuration Type:Admin-Managed. Global Database Name:testdb. SID Prefix:testdb.

點擊"Select ALL". 這裏一定要選擇全部節點.

第4步:配置Enterprise Managert 和 Automatic Maintenance Tasks.

第5步:設置密碼。"Use the Same Administrative Password for All Accounts"

點擊"Yes"

第6步: Storage Type: Automatic Storage Management(ASM).

Storage Location:選擇"Use Oracle-Managed Files".設置數據文件存放位置,在"Databse Area",點擊"Browse",選擇+RACDBA_DATA.

Sp-

要求設置ASMSNMP密碼

然後,報以下錯誤ORA-01017.

解決:以grid用戶給asmsnmp設置密碼。然後再點擊上圖的"Retry"。

第7步:設置FRA和歸檔。定義快速恢復區(FRA)大小時,一般用整個卷的大小的90%。

點擊"Browse",選擇RACDB_FRA.

第8步:設置Sample Schemas和Custom Scripts.一般不勾選"Sample Schemas".

選擇"No scripts to run"

第9步:設置內存、SGA和PGA、字符集、連接模式。

選擇Typical,SGA and PGA,先用默認的738MB.後面根據情況也可以調整。

或者根據規劃的生產需求,定制SGA和PGA Size,如下圖。

默認Processes是150.

設置字符集。

設置connection mode.

第10步:點擊"Next"

第11步:開始創建數據庫。選擇"Create Database".

創建過程中。

彈出下圖,提示Database creation complete.和相應的提示信息。

點Exit,退出。

RAC安裝完成。

Centos-6.5搭建oracle11g RAC集群