RAC( Real Application Clusters-----真正的應用集羣)css
RAC數據庫是Oracle公司數據庫的集羣解決方案、高可用性解決方案。兩個或多個服務器之間經過一個內部的私有網絡互相鏈接起來,使用集羣軟件將集羣中全部的服務器融合成一個總體,構成一個集羣。node
集羣內部的全部服務器共享存儲,全部服務器都接入公共網絡,經過集羣惟一的別名對外造成邏輯上單一的數據庫提供服務,對內實現集羣數據庫的高可用性、節點間的負載均衡和Failover(失敗切換)。linux
物理結構:c++
RAC的特色:數據庫
Oracle 11gR2版本中推出了網格即插即用(Grid Plug and Play,GPnP),能夠實現節點的快速添加。bootstrap
存儲管理軟件——ASM(Automated Storage Management,自動存儲管理)vim
爲Oracle默認的存儲管理方式。centos
ASM是創建在裸設備基礎上,沒有任何文件系統對它進行格式化。bash
ASM可以實現鏡像和條帶化,支持動態地添加、刪除磁盤,而且能自動實現從新平衡。服務器
集羣管理軟件——Clusterware
從Oracle 11g開始,Clusterware做爲Grid Infrastructure的一部分被安裝和使用。安裝和運行Clusterware的服務器能夠具有不一樣機型、不一樣配置,但同一個集羣必須安裝相同的操做系統。
數據庫管理軟件——RAC database
與集羣管理軟件配合,用以實現RAC的高可用性;
私有IP(Public IP)
專用(私有)IP地址只用於內部羣集處理,如心跳偵測,服務器間的同步數據用。
虛擬IP(Virtual IP)
當一個羣集節點出現故障時,數據庫應用程序經過虛擬IP地址進行故障切換,同時有均衡負載的做用。
公共IP(Public IP)
公共IP地址是正常的(真實的)IP地址,一般DBA和SA使用公共IP地址在來管理存儲、系統和數據庫。
監聽IP(SCAN 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分屬兩張不一樣的網卡;
[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-1、rac-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-1、rac-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
使修改參數當即生效。
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
(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用戶配置其對等性。
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賦權
確保"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 ~]$
#開啓一個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的安裝。
也能夠在安裝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磁盤組。
以下圖所示。以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安裝完成。