ORACLE 11G R2 RAC+Mutilpath+RAW+ASM+Silent+AddNode+DG 完全安
发布时间:2020-12-12 15:37:24 所属栏目:百科 来源:网络整理
导读:# !/bin/bash ############################################################# #时间:2016/12/01 by pjwonline@qq.com该文档为脚本性质,可以直接复制使用 # #该文档测试环境 SUSE.LES.11.SP4 ORACLE.11G.RAC SINGLE.DATAGUARD # #RHEL 与 SLES 的重大区别
#
!/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 tar -zxvf readline-7.0.tar.gz &&cdreadline-7.0 &&./configure &&make install && cd .. && tar -zxvf rlwrap-0.42.tar.gz &&cdrlwrap-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,asmoperoracle useradd -m -u 601 -g oinstall -G dba ,oper,asmdba,asmadmin grid # 修改用户密码 echo oracle|passwd--stdinoracle echo grid|passwd--stdingrid #验证用户 idoracle&&idgrid # 优化资源限制 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 #PublicVirtual 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 NameVirtuaIP(eth0:2) 192.168.1.95 rac-cluster-scan EOF #测试 hosts 文件是否生效(这里因为还没有其他节点设备,可以跳过,后面建立对等性时会测试) #ping -c3 rac1 && ping -c3rac2 && 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |