redhat6 安裝Oracle 12C R2 RAC(一)

 

1、實驗環境說明

本實驗中需在VMware 中共配置3臺服務器,節點1創建並配置後,可克隆出節點2(修改相關參數),另外一臺模擬存儲。

操作系統:redhat6.6(建議最小化安裝,會缺幾個包,可配置本地yum源後yum安裝)

oracle12c(linuxx64_12201_database.zip)

12cgrid(linuxx64_12201_grid_home.zip)

2、oracle 12C R2 軟硬件要求

 

2.1硬件最低配置要求

序號

組件

內存需求

1

Oracle Grid Infrastructure installations

4GB以上

2

Oracle Database installations

最小1GB,建議2GB以上

2.2oracle 12C R2認證的OS軟件版本

序號

組件

1

Oracle Linux 7 with the Unbreakable Enterprise kernel:
3.8.13-35.3.1.el7uek.x86_64 or later

2

Oracle Linux 7 with the Red Hat Compatible kernel:
3.10.0-123.el7.x86_64 or later

3

Oracle Linux 6.4 with the Unbreakable Enterprise kernel 2:
2.6.39-200.24.1.el6uek.x86_64 or later

4

Oracle Linux 6 with the Red Hat Compatible kernel:
2.6.32-358.el6.x86_64 or later

5

Red Hat Enterprise Linux 7: 3.10.0-123.el7.x86_64 or later

6

Red Hat Enterprise Linux 6: 2.6.32-358.el6.x86_64 or later

7

SUSE Linux Enterprise Server 12: 3.12.28-4-default or later

8

SUSE Linux Enterprise Server 11 SP2: 3.0.13-0.27 or later

3、整體規劃

 

3.1 IP地址規劃

 

注:

服務器至少需要2塊網卡,一塊是public,一塊給prive。

public IP 、VIP IP 以及SCAN IP  必須是同一網段,而且公網IP(局域網)。

prive IP 跟其他IP 不屬於同一網段,私網IP。

VIP IP 和SCAN IP 屬於虛擬IP 表現爲網卡子接口,如eth0:1,eth0:2。

節點一:jydb1

192.168.12.95   public

192.168.12.97  vip 

10.0.0.5   prive1###與節點2prive1、存儲sp1組成vlan10,從而實現多路徑

10.0.0.11   prive2###與節點2prive2、存儲sp2組成vlan20

節點二:jydb2

192.168.12.96  public

192.168.12.98 vip 

10.0.0.6  prive1

10.0.0.22   prive2

scan ip

192.168.12.90 

storage(存儲)

192.168.12.92

10.0.0.111 sp1

10.0.0.222 sp2

多網卡必要時需配置本機路由指向公共網段網關

上述操作重啓後失效,若需要永久生效則需把命令行的操作命令route add default gw 192.168.12.1

 

在/etc/rc.local裏面添加:

添加路由命令爲:直接將在命令行操作的命令複製到該文件中,保存退出即可。


 

3.2操作系統本地磁盤分區規劃

序號

分區名稱

大小

用途說明

1

/boot

200MB

引導分區

2

/

剩餘所有空間

(總分區建議40G以上)

根分區

3

swap

8192MB

最少4GB以上

 

     

4、操作系統配置部分

4.1.修改主機名

 

參考(https://blog.csdn.net/weixin_40283570/article/details/80928858

4.2 配置hosts文件


 
$ vi /etc/hosts ##根據規劃增加如下配置
#eth0 public
192.168.12.95  jydb1
192.168.12.96  jydb2

#eth0 vip
192.168.12.97  jydb1-vip
192.168.12.98  jydb2-vip

#eth1 private
10.0.0.5   jydb1-priv
10.0.0.6   jydb2-priv
10.0.0.11  jydb1-priv2
10.0.0.22  jydb2-priv2

#scan ip
192.168.12.90  jydb-cluster-scan

或者按照主機方式配置,如:#jydb1  #jydb2 #scanip 來配置

從oracle 11GR2開始,引入了SCAN IP 概念,相當於在客戶端和數據庫之間增加一層虛擬的網絡層。在客戶端tnsnames.ora配置文件中,只需要配置SCAN IP即可,客戶端通過SCAN IP、SCANP IP Listener來訪問數據庫。使用SCAN IP的好處是,當後臺RAC數據庫添加、刪除節點時,客戶端配置信息無需修改。可以通過配置DNS服務器或者GNS來配置SCAN.

注意:主機名不要用下劃線,否則安裝可能會報錯

4.3 檢查RPM依賴包

[root@jydb1 ~]# rpm -q binutils compat-libcap1  compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libaio libaio-devel libXext libXtst libX11 libXau libxcb libXi make sysstat nfs-utils
binutils-2.20.51.0.2-5.46.el6.x86_64
compat-libcap1-1.10-1.x86_64
compat-libstdc++-33-3.2.3-69.el6.x86_64
gcc-4.4.7-18.el6.x86_64
gcc-c++-4.4.7-18.el6.x86_64
glibc-2.12-1.209.el6.x86_64
glibc-devel-2.12-1.209.el6.x86_64
ksh-20120801-33.el6.x86_64
libgcc-4.4.7-18.el6.x86_64
libstdc++-4.4.7-18.el6.x86_64
libaio-0.3.107-10.el6.x86_64
libaio-devel-0.3.107-10.el6.x86_64
libXext-1.3.3-1.el6.x86_64
libXtst-1.2.3-1.el6.x86_64
libX11-1.6.4-3.el6.x86_64
libXau-1.0.6-4.el6.x86_64
libxcb-1.12-4.el6.x86_64
libXi-1.7.8-1.el6.x86_64
make-3.81-23.el6.x86_64
sysstat-9.0.4-33.el6.x86_64
nfs-utils-1.2.3-75.el6.x86_64

如出現未安裝則yum安裝,親測本地yum能滿足所有包的安裝。關於如何配置本地yum源,可查看《配置本地yum源》。

yum 安裝

yum install binutils compat-libcap1 compat-libstdc++-33 \
e2fsprogs e2fsprogs-libs glibc glibc-devel ksh libaio-devel libaio libgcc libstdc++ libstdc++-devel \
libxcb libX11 libXau libXi libXtst make \
net-tools nfs-utils smartmontools sysstat

4.4 創建用戶組

groupadd -g 54321 oinstall  
groupadd -g 54322 dba  
groupadd -g 54323 oper  
groupadd -g 54324 backupdba  
groupadd -g 54325 dgdba  
groupadd -g 54326 kmdba  
groupadd -g 54327 asmdba  
groupadd -g 54328 asmoper  
groupadd -g 54329 asmadmin  
groupadd -g 54330 racdba    
useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle  
useradd -u 54322 -g oinstall -G asmadmin,asmdba,asmoper,dba grid 

設置Oracle 和grid 用戶密碼

passwd oracle
passwd grid

4.5 創建文件目錄及權限配置

mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

4.6 配置環境變量

gird 用戶

[root@jydb1 ~]# cat /home/grid/.bash_profile

export ORACLE_SID=+ASM1;
#export ORACLE_SID=+ASM2;###節點2用這個
export ORACLE_HOME=/u01/app/12.2.0/grid; 
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; 
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib 

oracle用戶

[root@jydb1 ~]# cat /home/oracle/.bash_profile

export ORACLE_SID=racdb1; 
#export ORACLE_SID=racdb2; ###節點2 用這個
export ORACLE_HOME=/u01/app/oracle/product/12.2.0/db_1;       
export ORACLE_HOSTNAME=jydb1;
export PATH=$ORACLE_HOME/bin:$PATH; 
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; 
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
環境變量 grid用戶 Oracle用戶
ORACLE_BASE /u01/app/grid /u01/app/oracle

ORACLE_HOME

/u01/app/12.2.0/grid /u01/app/oracle/product/12.2.0/db_1
ORACLE_SID[NODE1] racdb1

racdb2

ORACLE_SID[NODE2] +ASM1 +ASM2

grid用戶的BASE和HOME變量是平行目錄(如果設成父子目錄會出錯),而Oracle是父子目錄。

4.7安裝cvuqdisk(在grid介質cv/rpm目錄下,也可以網上下載)

rpm -qi cvuqdisk
CVUQDISK_GRP=oinstall; export CVUQDISK_GRP   
rpm -iv cvuqdisk-1.0.10-1.rpm

另外由於本系統是最小化安裝,安裝是會報錯如下:

Preparing packages for installation... ls: 無法訪問/usr/sbin/smartctl: 沒有那個文件或目錄 /usr/sbin/smartctl not 

解決方案:

yum install smartmontools

再次安裝即可成功。

 

5、修改操作系統配置

5.1修改時間同步(最小化安裝未安裝ntpd服務,需手動安裝)

 vi /etc/ntp.conf   
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.12.92
添加時間源服務器(測試用存儲服務器作爲時間源),註釋已有同步服務器
vi /etc/sysconfig/ntpd
OPTIONS="-u ntp:ntp -p /var/run/ntpd.pid -g"
修改成
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"
chkconfig ntpd on
service ntpd restart

如時間同步未配置成功,重啓節點後可能會出現時間誤差大,導致某一個節點無法正常運行。

 

 

 

第二種方法是關閉NTP服務,利用RAC自帶的時間同步機制(本實驗未成功,重啓後一臺節點無法啓動)。

5.2 關閉防火牆

service iptables stop
chkconfig iptables off

5.3 禁用selinux

修改/etc/selinux/config
編輯文本中的SELINUX=enforcing爲SELINUX=disabled

立即生效,setenforce  0

5.4 配置/etc/security/limits.conf,用戶shell的限制

#在/etc/security/limits.conf 增加如下內容:
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

5.5 配置/etc/sysctl.conf,修改內核參數

# vi /etc/sysctl.conf  增加如下內容:
fs.file-max = 6815744  
kernel.sem = 250 32000 100 128  
kernel.shmmni = 4096  
kernel.shmall = 1073741824  
kernel.shmmax = 6597069766656
kernel.panic_on_oops = 1  
net.core.rmem_default = 262144  
net.core.rmem_max = 4194304  
net.core.wmem_default = 262144  
net.core.wmem_max = 1048576  
#net.ipv4.conf.eth3.rp_filter = 2       
#net.ipv4.conf.eth2.rp_filter = 2
#net.ipv4.conf.eth0.rp_filter = 1  
fs.aio-max-nr = 1048576  
net.ipv4.ip_local_port_range = 9000 65500 
修改生效:sysctl -p

    針對rp_filter部分,如果沒有多張私有網卡,則不需要配置,測試中註釋掉也未影響。

5.7 配置/etc/pam.d/login,加載 pam_limits.so插入式認證模塊

 

vi /etc/pam.d/login 添加如下內容:
session required pam_limits.so

5.8 配置NOZEROCONF

vi /etc/sysconfig/network增加以下內容

NOZEROCONF=yes 

5.9 修改nsswitch.conf(未驗證)

nsswitch.conf保存的是域名檢索順序。在一些系統配置中,NIS(Network Information System)可能會引起SCAN域名解析異常。爲了避免這種問題的發生,對nsswitch.conf做如下調整

#vi /etc/nsswitch.conf

修改行
hosts:      files dns
爲
hosts:      files dns nis

爲節省時間,完成以上所有步驟後,可直接克隆 節點2 ,克隆完成後需修改環境變量、主機名及網卡信息。(查看如何修改網卡信息)

5.10配置各節點ssh互信

以grid用戶爲例,oracle用戶同樣要配置互信(兩個節點都要配置),主要作用在於方便安裝過程中自動在多節點安裝軟件:

①先生成節點一grid的公鑰
[grid@jydb1 ~]$ ssh-keygen -t rsa -P ''    
Generating public/private rsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_rsa): 
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
b6:07:65:3f:a2:e8:75:14:33:26:c0:de:47:73:5b:95 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ..        .o|
|      ..  o . .E |
|     . ...Bo o   |
|      . .=.=.    |
|        S.o o    |
|       o = . .   |
|      . + o      |
|     . . o       |
|      .          |
+-----------------+
把它通過命令傳到節點二,
[grid@jydb1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

②在第二個節點上也生成公鑰,並追加到authorized_keys
[grid@jydb2 .ssh]$ ssh-keygen -t rsa -P ''
......
[grid@jydb2 .ssh]$ cat id_rsa.pub >> authorized_keys
[grid@jydb2 .ssh]$ scp authorized_keys [email protected]:.ssh/
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
RSA key fingerprint is d1:21:03:35:9d:f2:a2:81:e7:e1:7b:d0:79:f4:d3:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.1' (RSA) to the list of known hosts.
[email protected]'s password: 
authorized_keys                                                                                                            100%  792     0.8KB/s   00:00

③驗證
[grid@jydb1 .ssh]$ ssh jydb1 date
2018年 03月 30日 星期五 08:01:20 CST

[grid@jydb1 .ssh]$ ssh jydb2 date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 .ssh]$ ssh jydb1-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb2 .ssh]$ ssh jydb2-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 ~]$ ssh-keygen -t rsa -P ''    
Generating public/private rsa key pair.
Enter file in which to save the key (/home/grid/.ssh/id_rsa): 
Your identification has been saved in /home/grid/.ssh/id_rsa.
Your public key has been saved in /home/grid/.ssh/id_rsa.pub.
The key fingerprint is:
b6:07:65:3f:a2:e8:75:14:33:26:c0:de:47:73:5b:95 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ..        .o|
|      ..  o . .E |
|     . ...Bo o   |
|      . .=.=.    |
|        S.o o    |
|       o = . .   |
|      . + o      |
|     . . o       |
|      .          |
+-----------------+
把它通過命令傳到節點二,
[grid@jydb1 ~]$ ssh-copy-id -i .ssh/id_rsa.pub [email protected]
[email protected]'s password: 
Now try logging into the machine, with "ssh '[email protected]'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

②在第二個節點上也生成公鑰,並追加到authorized_keys
[grid@jydb2 .ssh]$ ssh-keygen -t rsa -P ''
......
[grid@jydb2 .ssh]$ cat id_rsa.pub >> authorized_keys
[grid@jydb2 .ssh]$ scp authorized_keys [email protected]:.ssh/
The authenticity of host '10.0.0.1 (10.0.0.1)' can't be established.
RSA key fingerprint is d1:21:03:35:9d:f2:a2:81:e7:e1:7b:d0:79:f4:d3:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.0.1' (RSA) to the list of known hosts.
[email protected]'s password: 
authorized_keys                                                                                                            100%  792     0.8KB/s   00:00

③驗證
[grid@jydb1 .ssh]$ ssh jydb1 date
2018年 03月 30日 星期五 08:01:20 CST

[grid@jydb1 .ssh]$ ssh jydb2 date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb1 .ssh]$ ssh jydb1-priv date
2018年 03月 30日 星期五 08:01:20 CST
[grid@jydb2 .ssh]$ ssh jydb2-priv date
2018年 03月 30日 星期五 08:01:20 CST

 

由於內容太多,分了幾部分記錄,第二部分地址

https://blog.csdn.net/weixin_40283570/article/details/80926694


 


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章