Oracle 12.2.0.1 RAC for rhel 7.X 數據庫安裝(節點1執行root.sh失敗)

說明:java

最開始是用的rehat7.2安裝12.2.0.1,後面安裝GI節點一執行root.sh腳本失敗,排查緣由,最開始覺得是操做系統的問題,換成rehat7.6,一樣的出現問題,通過一番折騰,後面經過MOS文獻解決問題(若是直接18C,能夠避免此BUG)。node

 

1、前期規劃

一、軟件環境

操做系統:RedHat Linux 7.x 64位linux

數 據 庫:Oracle 12.2.0.1 RACc++

 

二、主機規劃

 

 

2、安裝數據庫前準備數據庫

一、清除 DNS 中內容

vi /etc/resolv.conf          --消除其內容bash

二、改hosts

Rac1,rac2:session

 

cat >> /etc/hosts<<EOForacle

#rac1app

192.168.211.151  node1工具

192.168.211.153  node1-vip

192.168.137.151  node1-priv

 

#rac2

192.168.211.152  node2

192.168.211.154  node2-vip

192.168.137.152  node2-priv

 

#scan-ip

192.168.211.155  scan-cluster

EOF

 

三、關閉iptables

service iptables stop

chkconfig iptables off

service ip6tables stop

chkconfig ip6tables off

 

systemctl disable firewalld

systemctl stop  firewalld

四、關閉selinux

#關閉selinux

sed -i 's\SELINUX=enforcing\SELINUX=disabled\' /etc/selinux/config

setenforce 0

五、關閉NTP

/sbin/service ntpd stop

chkconfig ntpd off

mv /etc/ntp.conf /etc/ntp.conf.org

 

systemctl stop chronyd

systemctl disable chrnyd

 

六、關閉avahi-daemon服務

 

systemctl stop avahi-dnsconfd

systemctl stop avahi-daemon

systemctl disable avahi-dnsconfd

systemctl disable avahi-daemon

 

 

七、關閉 NetworkManager

 

systemctl stop  NetworkManager

systemctl disable NetworkManager

 

 

3、集羣參數配置

一、添加用戶目錄

#添加用戶

useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

echo 'oracle' | passwd --stdin grid

 

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

echo 'oracle' | passwd --stdin oracle

 

#建立安裝目錄

mkdir -p /u01/app/grid

mkdir -p /u01/app/12.2.0/grid

mkdir -p /u01/app/oracle/product/12.2.0/db_1

 

#更改目錄權限

 

chown -R grid:oinstall /u01

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

chmod -R 775 /u01

 

二、設置內核參數

 

#改變內核參數

cat >> /etc/sysctl.conf<<EOF

 

#Kernel for Oracle 12C

fs.aio-max-nr = 1048576

fs.file-max = 6815744

#kernel.shmall = 2097152

#kernel.shmmax = 4294967295

kernel.shmall = 16097152

kernel.shmmax = 128849018880

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

EOF

 

#使內核參數當即生效

sysctl -p

 

#添加用戶資源限制

cat >> /etc/security/limits.conf<<EOF

 

#limits for Oracle users

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

EOF

 

#編輯配置文件

cat >> /etc/profile<<EOF

 

#this is for oracle user

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

EOF

 

#編輯登錄配置文件

cat >> /etc/pam.d/login<<EOF

#this is for oracle user

session    required     pam_limits.so

EOF

 

#爲grid用戶添加環境變量

cat >> /home/grid/.bash_profile<<EOF

export ORACLE_BASE=/u01/app/grid

export ORACLE_SID=+ASM1

export ORACLE_HOME=/u01/app/12.2.0/grid

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

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:\$LD_LIBRARY_PATH

 

stty erase ^H

 

EOF

source /home/oracle/.bash_profile

 

#爲oracle用戶添加環境變量

cat >> /home/oracle/.bash_profile<<EOF

export ORACLE_BASE=/u01/app/oracle

export ORACLE_SID=orcl

export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0/db_1

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

export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:\$LD_LIBRARY_PATH

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

 

stty erase ^H

EOF

source /home/oracle/.bash_profile

 

 

三、配置NOZEROCONF

#How To Prevent Bogus Entry 169.254.0.0/255.255.0.0 Automatically Added To Routing Table (文檔 ID 1161144.1)

 

cat >>/etc/sysconfig/network<<EOF

NOZEROCONF=yes

 

EOF

 

四、選擇deadline IO調度

cat > /etc/udev/rules.d/60-oracle-schedulers.rules<<EOF

 

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

 

EOF

 

udevadm control --reload-rules

 

五、透明大頁

1.查看透明大頁是否啓用

 

RHEL 6:

 

# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

 

[oracle@rhel 6 ~]$ cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

[always] madvise never

 

RHEL 7:

 

# cat /sys/kernel/mm/transparent_hugepage/enabled

[root@rhel 7 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled

 

[always] madvise never

 

2.禁用透明大頁

 

RHEL 6:

 

(1).編輯

/etc/grub.conf 文件,在kernel 那一行後面追加

transparent_hugepage=never

 

例如:

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title Red Hat Enterprise Linux 6 (2.6.32-642.el6.x86_64)

root (hd0,0)

kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/mapper/rootvg-lvroot rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us LANG=en_US.UTF-8 rd_LVM_LV=rootvg/lvswap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=rootvg/lvroot rd_NO_DM rhgb quiet transparent_hugepage=never

initrd /initramfs-2.6.32-642.el6.x86_64.img

 

(2).重啓系統生效。

 

RHEL 7:

(1).編輯/etc/sysconfig/grub 文件,在 GRUB_CMDLINE_LINUX 那一行後面追加 transparent_hugepage=never

 

例如:

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=rootvg/root rd.lvm.lv=rootvg/swap rhgb quiet transparent_hugepage=never"

GRUB_DISABLE_RECOVERY="true"

 

(2).再使用

grub2-mkconfig 生成grub.cfg配置文件。

# grub2-mkconfig -o /boot/grub2/grub.cfg

(3).重啓系統使配置生效。

 

六、準備仲裁磁盤和數據磁盤

for i in b c d e

do

echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\",PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",SYMLINK+=\"asm-disk$i\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""

done > /etc/udev/rules.d/99-oracle-asmdevices.rules

 

udevadm trigger

udevadm control -R

systemctl restart systemd-udevd.service

 

ls -lh /dev/asm*

 

 

其中,12.2磁盤配置,把MGMT單獨分開(建議40+G),不然跟ocr一塊兒安裝,每一個OCR須要至少30+G。

 

七、配置YUM

 

yum -y install binutils \

compat-libcap1 \

compat-libstdc++-33 \

compat-libstdc++-33.i686 \

e2fsprogs \

e2fsprogs-libs \

gcc \

gcc-c++ \

glibc.i686 \

glibc \

glibc-devel.i686 \

glibc-devel \

ksh \

libaio \

libaio.i686 \

libaio-devel \

libaio-devel.i686 \

libX11.i686 \

libX11 \

libXau.i686 \

libXau \

libXi.i686 \

libXi \

libXtst.i686 \

libXtst \

libgcc.i686 \

libgcc \

libstdc++.i686 \

libstdc++ \

libstdc++-devel.i686 \

libstdc++-devel \

libxcb.i686 \

libxcb \

make \

net-tools \

nfs-utils \

smartmontools \

sysstat \

unixODBC.i686 \

unixODBC \

unixODBC-devel.i686 \

unixODBC-devel \

java-1.8.0-openjdk \

psmisc

 

4、安裝Grid Infrastucture

1.   預檢查

從12.2開始,安裝grid,直接把grid安裝包解壓到$GRID_HOME目錄的前一個目錄,解壓生成grid目錄,預檢查,安裝均可以,而且把MGMT分開。

./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose >/tmp/grid_check.log

 

查看/tmp/grid_check.log

 

利用/etc/hosts 域名解析,/etc/resolv.conf 報錯能夠忽略

 

2.   安裝GRID軟件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.   遇到的坑(執行第一個腳本報錯)

 

 

[root@node1 ~]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of /u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.

 

Changing groupname of /u01/app/oraInventory to oinstall.

The execution of the script is complete.

 

 

crs 報錯:

The command '/opt/oracle/ghome/perl/bin/perl -I/opt/oracle/ghome/perl/lib -I/opt/oracle/ghome/crs/install /opt/oracle/ghome/crs/install/rootcrs.pl ' execution failed

 

 

Doc ID 26247490.8

https://support.oracle.com/epmos/faces/PatchDetail?requestId=21111942&_afrLoop=291841035812717&patchId=25078431&_afrWindowMode=0&_adf.ctrl-state=6xvf8wj9o_73

 

 

chown -R grid:oinstall 25078431/

cp -r /soft/OPatch /u01/app/12.2.0/grid/

$ORACLE_HOME/gridSetup.sh -applyPSU /u01/app/12.2.0/grid/25078431/

 

 

 

RU下載地址:

https://support.oracle.com/epmos/faces/PatchDetail?requestId=22666334&_afrLoop=334697806899329&patchId=28828733&_afrWindowMode=0&_adf.ctrl-state=1b2lzj24ao_100

opatch 工具下載:

https://support.oracle.com/epmos/faces/PatchDetail?_afrLoop=363488317867689&patchId=6880880&_afrWindowMode=0&_adf.ctrl-state=12eicbce7h_853

 

MOS 文檔:ACFS Support On OS Platforms (Certification Matrix). (Doc ID 1369107.1)

因爲個人操做系統是rehat7.6的,以前是rehat7.2版本,也是第一個腳本報錯,建立集羣資源的時候,7.2和7.5+的RU須要的不同,最新的就好了。

 

官方建議使用OL7 UEK kernel替代,我打上最新RU(11G叫作PSU),若是18C,能夠完美避過此BUG。

 

 

12.2 Grid Infrastructure Installation: What's New (Doc ID 2024946.1)

 

 

打上補丁須要從新換GRID_HOME目錄(真是蛋疼的一筆),即解壓GRID軟件包到新的GRID_HOME目錄。

 

 

logout

[root@node1 soft]# mount /dev/cdrom /mnt/

mount: /dev/sr0 is write-protected, mounting read-only

[root@node1 soft]#

[root@node1 soft]#

[root@node1 soft]#

[root@node1 soft]# yum -y install psmisc

 

 

先決條件檢查「CheckSystemCommandAvailable」失敗(文檔ID 1581604.1

 

 

打上RU:

[grid@node1 grid_1]$ ./gridSetup.sh -applyPSU /soft/28828733/

ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.

Preparing the home to patch...

Applying the patch /soft/28828733/...

 

Successfully applied the patch.

The log can be found at:

/tmp/GridSetupActions2019-03-28_09-40-27AM/installerPatchActions_2019-03-28_09-40-27AM.log

 

No X11 DISPLAY variable was set, but this program performed an operation which requires it.

 

修改最新的grid home環境變量後,從新安裝GRID軟件。

 

 

 

 

 

 

 

 

5、手工建立磁盤組

 

 

6、安裝oracle軟件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7、建立數據庫

 

 

 

 

 

 

 

 

 

 

 

真實環境須要修改參數。

 

 

 

 

 

相關文章
相關標籤/搜索