ORACLE 11G R2 RAC+Mutilpath+RAW+ASM+Silent+AddNode+DG 完全安装详解 (一)

# !/bin/bash

#############################################################
#时间:2016/12/01 by  pjwonline@qq.com 该文档为脚本性质,可以直接复制使用  #
#该文档测试环境 SUSE.LES.11.SP4 & ORACLE.11G.RAC & SINGLE.DATAGUARD    #
#RHEL 与 SLES 的重大区别如下:(官方只支持四种发行版,其他三种和RHEL相同) #
#1.软件包        RHEL:yum                                        SLES:zypper                         #
#2.MAC系统   RHEL:SELINUX                                 SLES: Apparmor                    #
#3.时间服务    RHEL:/etc/sysconfig/ntpd               SLES:/etc/sysconfig/ntp       #
#4.主机名       RHEL:/etc/sysconfig/network          SLES:/etc/HOSTNAME         #
#5.环境变量    RHEL:/home/oracle/.bash_profile   SLES:/home/oracle/.profile  #
#6.UDEV        RHEL:/etc/udev/rules.d/                  SLES:/lib/udev/rules.d/        #
#7.裸设备       RHEL:service rawdevices                  SLES:service raw                  #
#8.启动文件    RHEL:/etc/rc.local                            SLES:/etc/init.d/boot.local   #
#############################################################

#安装系统时需要安装 C/C++ 编译器和工具,并选择使用 gnome,为了 节省资源 将终端运行等级改为3(/etc/inittable

#开启 gnome  远程桌面,为了实现后面的图形化安装,本教程 必须开启远程桌面(仅适用SLES,RHEL略)
#vim /etc/sysconfig/displaymanager
#DISPLAYMANAGER_REMOTE_ACCESS= yes
#DISPLAYMANAGER_ROOT_LOGIN_REMOTE= yes

#远程登录,如果一定要使用到 GUI 图形界面登录 SUSE,可以直接用 gdm 启动图形界面,或者 gnome 直接传送图形界面到客户端。
# 方法一:(手动连接远程桌面,本教程推荐 静默 安装方式)
# gdm
#用xmanager的XDMCP连接
# 方法二:(传送 gnome 窗口至客户端,不推荐)
# xhost + && export LANG=zh_CN.UTF-8 && gnome
# ctrl + c 退出

# 查看系统版本
uname -a
cat /etc/issue

#干扰因素
# 禁用 MAC ( 强制访问控制)系统(安装系统时 不要装
#RHEL: setenforce 0
#SLES: 
#ln -s /etc/apparmor.d/usr.sbin.libvirtd  /etc/apparmor.d/disable/  ln -s
#/etc/apparmor.d/usr.lib.libvirt.virt-aa-helper  /etc/apparmor.d/disable/ 
#apparmor_parser -R  /etc/apparmor.d/usr.sbin.libvirtd
#apparmor_parser -R  /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper

# 禁用防火墙(安装系统时不要装
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off

# 关闭 NTP 网络时间协议(重要!如果使用 NTP 做时间同步可以跳过该步骤)
#关闭 NTP 才能让 Oracle 集群 时间同步服务 CTSS 正常启动
# ORACLE 检测到 NTP 的配置文件都无法启动 CTSS(必须 清理干净
service ntp stop
chkconfig ntp off
mv /etc/sysconfig/ntp /etc/sysconfig/ntp.bak
mv /etc/ntp.conf /etc/ntp.conf.bak
mv /var/run/ntpd.pid /var/run/ntpd.pid.bak

# 磁盘空间规划
#系统一般需要空间(/boot 引导空间需要 200M,系统文件需要 4G,交换空间设置为 4G)
#主节点需要至少 19G 的 Avail 剩余空间,其他节点剩余空间 ORACLE 要求: CRS 7.5G + DB 4.8G
#物理内存 8G(涉及 shm),装完后磁盘用量: CRS 3.9G,DB 4.3G ,+CRS 263M , +DATA  2G

# 检查剩余磁盘空间
df -Th

# 检测 Swap 分区ORACLE 要求和物理内存大小相同,一般安装系统时习惯设置为内存的1.5倍或2倍大小)
#这里为了节省设备资源,这里暂时设置为  4096000 4G,请按需修改,关系后期 DBCA -totalMemory 参数
free
#扩展 Swap 分区
#swapoff /swap
#rm -f /swap
#dd if=/dev/zero of=/swap bs=1024 count=4096000
#mkswap /swap
#swapon /swap

# 解决环境依赖(上面 yum 是RHEL,下面是 SLES zypper,请插入系统光盘)
#yum -y install --skip-broken binutils compat-libstdc++-33 compat-libstdc++ elfutils-libelf  elfutils-libelf-devel gcc gcc-c++ glibc glibc glibc-common glibc-devel glibc-devel glibc-  headers ksh libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++  libstdc++-devel numactl-devel make sysstat unixODBC unixODBC unixODBC-devel unixODBC-devel  libaio-devel sysstat java firefox

zypper --non-interactive install sysstat* libgcc* libstdc* libaio* glibc* gcc* ksh* make* libcap* lrzsz

#检查包命令
#rpm -qa | grep rzsz
#zypper search rzsz

# Oracle sqlplus 无法使用命令退格删除和历史记录( rlwrap  SUSE 默认源没有提供)
# 下载地址(http://download.csdn.net/detail/pjwonline1/9700939)
# ldconfig -p | grep libreadline
rlwrap-0.42.tar.gz readline-7.0.tar.gz
tar -zxvf readline-7.0.tar.gz && cd readline-7.0  && ./configure  && make install  && cd ..   &&  tar -zxvf rlwrap-0.42.tar.gz  && cd rlwrap-0.42 && ./configure && make install  && cd .. && rm -rf rlwrap* &&  rm -rf readline* && ldconfig && rlwrap
#rsqlplus
#rrman
#rasmcmd

# 内核参数
#查看 内核参数,现有系统参数大于要修改参数的不要改(也可以跳过,先决检查时可以用修复脚本调整)
sysctl -a | grep  XXX
#修改内核参数
cat >>/etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
#kernel.shmmni = 4096
kernel.sem = 250 256000 100 1024
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
#立即应用内核参数
sysctl -p

# 新建组 与 用户
groupadd -g 500 dba
groupadd -g 501 oper
groupadd -g 502 oinstall
groupadd -g 503 asmdba
groupadd -g 504 asmoper
groupadd -g 505 asmadmin
useradd -m -u 600 -g oinstall -G dba,asmdba,asmadmin,asmoper oracle
useradd -m -u 601 -g oinstall -G dba ,oper,asmdba,asmadmin grid

# 修改用户密码
echo  oracle | passwd --stdin oracle
echo  grid | passwd --stdin grid

#验证用户
id oracle && id grid

# 优化资源限制
cat >> /etc/security/limits.conf <<EOF
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
EOF

echo ' session required pam_limits.so ' >> /etc/pam.d/login

cat >> /etc/profile <<EOF
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

# 目录 及 权限
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
#mkdir -p /u01/app/oraInventory
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

#IP规划 (需要设置 Public IP 和  Private IP,其他 IP 都是由 ORACLE 设置的
# 更改 IP  及 系统设置(RHEL:setup   SLES:yast)

# 修改 hosts 文件
mv /etc/hosts /etc/hosts.bak
cat > /etc/hosts <<EOF
127.0.0.1        localhost
# Public IP(eth0)
192.168.1.91     rac1
192.168.1.92     rac2
# Public Virtual IP(eth 0: 1)
192.168.1.93      rac1-vip
192.168.1.94     rac2-vip
# Private IP(eth1)
192.168.99.1     rac1-priv
192.168.99.2     rac2-priv
# Single Client Access Name Virtua IP(eth0:2)
192.168.1.95     rac-cluster-scan
EOF

#测试 hosts 文件是否生效(这里因为还没有其他节点设备,可以跳过,后面建立对等性时会测试)
#ping -c3 rac1 && ping  -c3 rac2 && ping  -c3  rac1-priv && ping  -c3  rac2-priv

# 用户 环境变量主节点
echo '
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_TERM=xterm
export THREADS_FLAG=native
export ORACLE_SID=rac 1
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME= $ORACLE_BASE/product/11.2.0/db_1
export PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
#export DISPLAY=:0.0
export LANG=zh_CN.UTF-8
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA. AL32UTF8"
alias rsqlplus="rlwrap sqlplus / as sysdba"
alias rrman="rlwrap rman target /"
'  > /home/oracle/.bash_profile 

echo '
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_TERM=xterm
export THREADS_FLAG=native
export ORACLE_SID=+ASM 1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORA_CRS_HOME=$ORACLE_HOME
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
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_HOME/network/jlib
#export DISPLAY=:0.0
export LANG=zh_CN.UTF-8
export CVUQDISK GRP=oinstall
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA . AL32UTF8"
alias rasmcmd="rlwrap asmcmd"
alias rsqlplus="rlwrap sqlplus / as sysasm"
alias crs="watch crs_stat -t"
> /home/grid/.bash_profile
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值