說明:java
最開始是用的rehat7.2安裝12.2.0.1,後面安裝GI節點一執行root.sh腳本失敗,排查緣由,最開始覺得是操做系統的問題,換成rehat7.6,一樣的出現問題,通過一番折騰,後面經過MOS文獻解決問題(若是直接18C,能夠避免此BUG)。node
操做系統:RedHat Linux 7.x 64位linux
數 據 庫:Oracle 12.2.0.1 RACc++
2、安裝數據庫前準備數據庫
vi /etc/resolv.conf --消除其內容bash
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
service iptables stop
chkconfig iptables off
service ip6tables stop
chkconfig ip6tables off
systemctl disable firewalld
systemctl stop firewalld
#關閉selinux
sed -i 's\SELINUX=enforcing\SELINUX=disabled\' /etc/selinux/config
setenforce 0
/sbin/service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.org
systemctl stop chronyd
systemctl disable chrnyd
systemctl stop avahi-dnsconfd
systemctl stop avahi-daemon
systemctl disable avahi-dnsconfd
systemctl disable avahi-daemon
systemctl stop NetworkManager
systemctl disable NetworkManager
#添加用戶
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
#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
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 -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
從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 報錯能夠忽略
[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軟件。
真實環境須要修改參數。