基於Linux的oracle 12cR2 RAC 標準化安裝(二)

jason_yehua發表於2022-12-02

安裝前的檢查和設定

網路需求

每個節點一個  public IP

  每個節點一個  public VIP

  每個節點一個  private IP

一個用於叢集的  SCAN  名稱,和  public IP  同網段的  IP

public IP,VIP    scan IP  寫入  /etc/hosts  檔案

網路配置需要預先分配5個ip:

public  兩個,心跳兩個,scan一個

 

          

10.10.1.71         orcl1

10.10.1.72         orcl2

10.10.1.81         orcl1-vip

10.10.1.82         orcl2-vip

192.168.1.71       orcl1-priv

192.168.1.72       orcl2-priv

10.10.1.83         orcl-scan

關閉  NetworkManager

關閉  NetworkManager  操作:

NetworkManager  管理主機網路配置資訊,該服務如果出現down  的話會影響系統網路執行,建議關閉:

關閉執行中的服務

#service NetworkManager stop

關閉作業系統自啟動

#chkconfig NetworkManager off

檢查關閉情況

# chkconfig  --list NetworkManager

 

Linux 7  無需再關閉  NetworkManager

備註:該操作需要當前所有的網路卡均沒有配置  IP  ,也就是當前的網路卡沒有透過  NetworkManager  管理,如果先配置  IP  後關閉該服務,會導致網路不可識別。

 

關閉防火牆

關閉防火牆操作 

關閉執行中的服務

#service iptables stop

關閉作業系統自啟動

#chkconfig iptables off

檢查關閉情況

# chkconfig  --list iptables

 

Linux 7  關閉防火牆操作:

# systemctl disable firewalld

# systemctl stop firewalld

 

關閉  selinux

編輯/etc/selinux/config  檔案

[root@DBServer1 ~]# vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

 

新特性關閉

針對RHEL7.2  版本  ,如果設定了RemoveIPC=yes  的引數,會crash  Oracle asm  例項和Oracle database  例項,該問題也會在使用Shared Memory Segment (SHM) or Semaphores (SEM)  的應用程式中發生。

RHEL7.2  中,systemd-logind  服務引入了一個新特性,該新特性是在一個user  完全退出OS  後會remove  掉所有的IPC  物件。

為避免改新特性,需要修改如下引數

1).  設定/etc/systemd/logind.conf  RemoveIPC=no

2).  重啟伺服器或者重啟systemd-logind

重啟systemd-logind 

# systemctl daemon-reload

# systemctl restart systemd-logind

 

安裝包

所有的oracle  安裝都需要遵循基本的RPM  包安裝,一下羅列各個作業系統下面RPM  包的安裝:

Linux 7 and Red Hat Enterprise Linux 7

binutils-2.23.52.0.1-12.el7.x86_64

compat-libcap1-1.10-3.el7.x86_64

compat-libstdc++-33-3.2.3-71.el7.i686

compat-libstdc++-33-3.2.3-71.el7.x86_64

gcc-4.8.2-3.el7.x86_64

gcc-c++-4.8.2-3.el7.x86_64

glibc-2.17-36.el7.i686

glibc-2.17-36.el7.x86_64

glibc-devel-2.17-36.el7.i686

glibc-devel-2.17-36.el7.x86_64

ksh

libaio-0.3.109-9.el7.i686

libaio-0.3.109-9.el7.x86_64

libaio-devel-0.3.109-9.el7.i686

libaio-devel-0.3.109-9.el7.x86_64

libgcc-4.8.2-3.el7.i686

libgcc-4.8.2-3.el7.x86_64

libstdc++-4.8.2-3.el7.i686

libstdc++-4.8.2-3.el7.x86_64

libstdc++-devel-4.8.2-3.el7.i686

libstdc++-devel-4.8.2-3.el7.x86_64

libXi-1.7.2-1.el7.i686

libXi-1.7.2-1.el7.x86_64

libXtst-1.2.2-1.el7.i686

libXtst-1.2.2-1.el7.x86_64

make-3.82-19.el7.x86_64

sysstat-10.1.5-1.el7.x86_64

 

Packages for Oracle Linux 6 and Red Hat Enterprise Linux 6

binutils-2.20.51.0.2-5.36.el6 (x86_64)
   compat-libcap1-1.10-1 (x86_64)
   compat-libstdc++-33-3.2.3-69.el6 (x86_64)
   compat-libstdc++-33-3.2.3-69.el6 (i686)
   e2fsprogs-1.41.12-14.el6 (x86_64)
   e2fsprogs-libs-1.41.12-14.el6 (x86_64)
   glibc-2.12-1.107.el6 (i686)
   glibc-2.12-1.107.el6 (x86_64)
   glibc-devel-2.12-1.107.el6 (i686)
   glibc-devel-2.12-1.107.el6 (x86_64)
   ksh
   libaio-0.3.107-10.el6 (x86_64)
   libaio-0.3.107-10.el6 (i686)
   libaio-devel-0.3.107-10.el6 (x86_64)
   libaio-devel-0.3.107-10.el6 (i686)
   libX11-1.5.0-4.el6 (i686)
   libX11-1.5.0-4.el6 (x86_64)
   libXau-1.0.6-4.el6 (i686)
   libXau-1.0.6-4.el6 (x86_64)
   libXi-1.6.1-3.el6 (i686)
   libXi-1.6.1-3.el6 (x86_64)
   libXtst-1.2.1-2.el6 (i686)
   libXtst-1.2.1-2.el6 (x86_64)
   libgcc-4.4.7-3.el6 (i686)
   libgcc-4.4.7-3.el6 (x86_64)
   libstdc++-4.4.7-3.el6 (i686)
   libstdc++-4.4.7-3.el6 (x86_64)
   libstdc++-devel-4.4.7-3.el6 (i686)
   libstdc++-devel-4.4.7-3.el6 (x86_64)
   libxcb-1.8.1-1.el6 (i686)
   libxcb-1.8.1-1.el6 (x86_64)
   make-3.81-20.el6 (x86_64)
   net-tools-1.60-110.el6_2 (x86_64) (for Oracle   RAC and Oracle Clusterware)
   nfs-utils-1.2.3-36.el6 (x86_64) (for Oracle   ACFS)
   smartmontools-5.43-1.el6 (x86_64)
   sysstat-9.0.4-20.el6 (x86_64)

 

 

建立使用者、組  (  雙節點建立執行  )

雙節點建立grid  使用者及oracle  使用者:

groupadd -g 501 oinstall

groupadd -g 502 dba

useradd -u 501 -g oinstall -G dba grid

useradd -u 502 -g oinstall -G dba oracle

 

passwd grid    ----  修改grid  使用者密碼

passwd oracle   ----  修改oracle  使用者密碼

 

配置  oracle  安裝  shell  限制

3.8.1 /etc/security/limits.conf  配置

 vi /etc/security/limits.conf

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

grid soft  stack  10240

grid hard  stack  10240

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle  soft  stack  10240

oracle  hard  stack  10240

 

配置

編輯/etc/pam.d/login  新增如下內容:

vi /etc/pam.d/login

session    required     pam_limits.so

配置

編輯vi /etc/profile  新增如下內容:

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

核心引數設定

   /etc/sysctl.conf

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 3145728

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 = 1048576

kernel.panic_on_oops=1

 

#/sbin/sysctl -p

 

一般設定按照如上規則設定,如果檔案中已經設定的值比計算結果大,以檔案中本身的值為準

kernel.shmall = physical RAM size /   pagesize For most systems, this will be the value 2097152  64g  預設16777216 

kernel.shmmax = 1/2 of physical RAM  64g  預設68719476736 

fs.file-max = 512 x processes  (預設6815744 

 

 

環境變數設定

一節點:

grid  使用者:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid    ###  (此目錄為grid  的解壓目錄)

export ORACLE_SID=+ASM1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

oracle  使用者:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/12.2.0/db_1

export ORACLE_SID=  XXX1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

二節點:

grid  使用者:

export ORACLE_BASE=/oracle/gridbase

export ORACLE_HOME=/oracle/grid

export ORACLE_SID=+ASM2

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

oracle  使用者:

export ORACLE_BASE=/oracle/app

export ORACLE_HOME=/oracle/app/product/12.2.0/db_1

export ORACLE_SID=  XXX2

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

 

 

建立  oracle  安裝目錄  (  使用  root  使用者執行  )

建立  Oracle Inventory  目錄

# mkdir -p /oracle/oraInventory

# chown -R grid:oinstall /oracle/oraInventory

# chmod -R 775 /oracle/oraInventory

 

建立  grid  目錄

# mkdir -p /oracle/gridbase

# chown -R grid:oinstall /oracle/gridbase

# chmod -R 775 /oracle/gridbase

 

# mkdir -p /oracle/grid

# chown -R grid:oinstall /oracle/grid

# chmod -R 775 /oracle/grid

 

建立  oracle  base  目錄

# mkdir -p /oracle/app

# chown -R oracle:oinstall /oracle/app

# chmod -R 775 /oracle/app

 

多路徑軟體安裝

3.12.1  安裝多路徑軟體包

device-mapper-*

device-mapper-multipath-*

device-mapper-1*

安裝以上rpm 

 

3.12.2  啟動多路徑及配置多路徑

啟動多路徑,透過mpathconf  命令建立預設模板。建立預設配置,啟動和啟用multipathd  程式,可以使用以下命令:

使用自帶模板編輯多路徑裝置許可權

cp  /usr/share/doc/  device-mapper-1.02.66/12-dm-permissions.rules  /etc/udev/rules.d/

vi /etc/udev/rules.d/12-dm-permissions.rules

ENV{DM_NAME}=="mpathe", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathd", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathc", OWNER:="grid", GROUP:="oinstall", MODE:="660"

ENV{DM_NAME}=="mpathb", OWNER:="grid", GROUP:="oinstall", MODE:="660"

二節點也執行同樣的操作

 

配置完成後建議重新啟動多路徑軟體:

/etc/init.d/multipathd restart

 

備註:啟動完成後會在/etc/  下生成multipath.conf  檔案,以及在/etc/multipath  下生成bindings  wwid  ,其中wwid  記錄了系統中所有掛載盤的盤唯一ID Bindings  記錄了ID  對應的對映盤。

一般繫結完後會在/dev/mapper  下產生類似於mpathx  等檔案

備註:  RAC  安裝需要確保雙節點所有的磁碟機代號名字一致,可以檢查  /etc/multipath/binding  檔案,將一節點中除本地盤以外的所有記錄覆蓋二節點檔案中的記錄(注意不要將本地硬碟覆蓋)

 

Linux 6  重啟  udev  操作:

兩節點重啟udev

start_udev

 

Linux 7  重啟  udev  操作:

/sbin/udevadm trigger --type=devices --action=change

 

/dev  下面看盤dm*  是否改成grid  ,如果是則完成配置

 

3.12.3  多路徑維護基本命令

1.  啟停多路徑:

/etc/init.d/multipathd stop/start/reatart

2.  檢視當前多路徑鏈路狀態及盤情況:

multipath –ll

3.  刪除多路徑裝置:

multipath –F

4.  重新掃描裝置:

multipath –v3

5.  當在 DM-Multipath  中新增新裝置時,這些新裝置會位於 /dev  目錄的兩個不同位置:

                 /dev/mapper/mpathn

                 /dev/dm-n

        /dev/mapper  中的裝置是在引導過程中生成的。可使用這些裝置訪問多路徑裝置,例如在生成邏輯卷時

         所有  /dev/dm-n  格式的裝置都只能是作為內部使用,請不要使用它們

 

[root@hlwdb01 multipath]# multipath -ll

mpathe (360060e8016634c000001634c00000302) dm-5 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:2 sdd 8:48 active ready running

  `- 2:0:0:2 sdg 8:96 active ready running

mpathd (360060e8016634c000001634c00000301) dm-4 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:1 sdc 8:32 active ready running

  `- 2:0:0:1 sdf 8:80 active ready running

mpathc (360060e8016634c000001634c00000300) dm-3 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:0 sdb 8:16 active ready running

  `- 2:0:0:0 sde 8:64 active ready running

mpathb (360060e8016634c000001634c00000303) dm-2 HITACHI,OPEN-V

size=100G features='1 queue_if_no_path' hwhandler='0' wp=rw

`-+- policy='round-robin 0' prio=1 status=active

  |- 1:0:0:0 sdh 8:16 active ready running

  `- 2:0:0:0 sdi 8:64 active ready running

 

以上多路徑裝置包含:

1G  盤一塊,mpathb  用作OCRVOTE 

100G  mpathc  mpathd  mpathe  用作DATA 

 

配置  I/O  引數(三塊仲裁盤)

echo deadline > /sys/block/xxx/queue/scheduler

echo deadline > /sys/block/xxx/queue/scheduler

echo deadline > /sys/block/xxx/queue/scheduler

注意:xxx  代表磁碟機代號名,以上例子中xxx  mpath* 

 

時間同步

使用  oracle  時間同步服務

mv /etc/ntp.conf /etc/ntp.conf.bak

 

檢查時區和時間一致性

$ echo $TZ

$date

確保時區一致,兩臺主機的時間相差不超過  1  分鐘



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547506/viewspace-2926360/,如需轉載,請註明出處,否則將追究法律責任。

相關文章