Centos-6.5搭建oracle11g RAC集羣

1、基本概念

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

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

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

物理結構:c++

  • 集羣的節點(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),能夠實現節點的快速添加。bootstrap

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

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

爲Oracle默認的存儲管理方式。centos

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

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產生影響。

 

2、環境搭建

    兩臺服務器,至少配有兩張網卡,內存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-一、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-一、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-一、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安裝完成。

相關文章
相關標籤/搜索