1.1 硬件需求
? 服务器具有相同的体系架构(如 64bit 和 32bit 不能同一集群)
? 非 cluster 环境要求物理内存高于 2G,cluster 环境要求物理内存高于 3G
1.2 操作系统要求
? 操作系统版本要保持至少和源端一样或者更高的版本,操作系统补丁和源端一致
? 数据库版本11.2.0.3.0,要求AIX6.1 TL04以上、7.1
? 数据库版本11.2.0.4.0,要求AIX6.1 TL04以上、7.1、7.2
? Linux操作系统版本最好 RHEL 6.7以上
? 服务器操作系统运行在 3 或 5 的模式下(LINUX)
? 交换分区为物理内存的倍数(1-2G SWAP=1.5RAM;2-16G SWAP=RAM;>16G SWAP=16G)
? TMP>1G,磁盘空间>10G
1.3 数据库软件准备
2 安装前的准备
2.1 Linux
2.1.1检查操作系统环境
检查操作系统体系结构
uname -a
检查操作系统供应商及版本
cat /etc/issue
检查磁盘空间(安装 Oracle 软件的挂载点和/tmp)
df -h
2.1.2. 检查系统软件套件
rpm -q --qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n‘ binutils compat-libstdc++-33 compat-libstdc++-296 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
yum -y install binutils.x86_64 compat-libcap1.x86_64 compat-libstdc++-33.x86_64 compat-libstdc++-33.i686 gcc.x86_64 gcc-c++.x86_64 glibc.x86_64 glibc.i686 glibc-devel.x86_64 glibc-devel.i686 ksh libgcc.x86_64 libgcc.i686 libstdc++.x86_64 libstdc++.i686 libstdc++-devel.x86_64 libstdc++-devel.i686 libaio.x86_64 libaio.i686 libaio-devel.x86_64 libaio-devel.i686 make sysstat.x86_64 unixODBC.x86_64 unixODBC.i686 unixODBC-devel.x86_64 unixODBC-devel.i68
2.1.3. 关闭不必要服务
service iptables stop service NetworkManager stop service bmc-watchdog stop service autofs stop service acpid stop service sendmail stop service cups-config-daemon stop service xfs stop service gpm stop service openibd stop service iiim stop service pcmcia stop service cpuspeed stop service nfslock stop service iptables stop service ip6tables stop service rpcidmapd stop service apmd stop service sendmail stop service arptables_jf stop service rpcgssd stop service ip6tables stop
chkconifg microcode_ctl stop chkconfig NetworkManager off chkconfig bmc-watchdog off chkconfig autofs off chkconfig acpid off chkconfig sendmail off chkconfig cups-config-daemon off chkconfig xfs off chkconfig gpm off chkconfig openibd off chkconfig iiim off chkconfig pcmcia off chkconfig cpuspeed off chkconfig nfslock off chkconfig iptables off chkconfig ip6tables off chkconfig rpcidmapd off chkconfig apmd off chkconfig sendmail off chkconfig arptables_jf off chkconfig microcode_ctl off chkconfig rpcgssd off
2.1.4. 禁用SELINUX
vi /etc/selinux/config SELINUX=disabled
2.1.5. 调整系统参数
调整内核参数
vi /etc/sysctl.conf
kernel.shmall = 536870912 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.aio-max-nr = 1048576 fs.file-max = 6815744 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 = 1048586
#使修改生效
/sbin/sysctl -p
#确认修改成功
/sbin/sysctl -a
调整 Shell 资源限制
vi /etc/security/limits.conf
* soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 * soft stack 10240 oracle soft memlock 3145728 oracle hard memlock 3145728
2.1.6. 修改 hostname
vi /etc/sysconfig/network HOSTNAME=<HOSTNAME>
2.1.7. 配置 hosts
/etc/hosts 示例
#public-ip 10.10.115.45 ora12c1 10.10.115.46 ora12c2 #virtual-ip 10.10.115.50 ora12c1-vip 10.10.115.51 ora12c2-vip #private-ip 192.168.1.8 ora12c1-priv 192.168.1.8 ora12c2-priv #scan-ip 10.10.115.52 ora12c1-scan
2.1.8. 创建用户和组
使用 root 用户登录
创建组
groupadd -g 1000 oinstall groupadd -g 1100 dba groupadd -g 1200 asmadmin groupadd -g 1300 asmdba groupadd -g 1400 asmoper groupadd -g 1500 oper
创建 grid 和 oracle 用户
useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle echo "oracle" | passwd --stdin oracle useradd -u 1301 -g oinstall -G dba,asmadmin,asmdba,asmoper grid echo "grid" | passwd --stdin grid
2.1.9. 创建安装目录
mkdir -p /u01/app/grid mkdir -p /u01/app/12.2.0.1/grid mkdir -p /u01/app/oracle mkdir -p /u01/app/oracle/product/12.2.0.1/db_1 chown -R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01
2.1.10. 设置用户环境变量
用户Oracle
ORACLE_SID=<SID>1 ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1 GRID_HOME=/u01/app/12.2.0.1/grid LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin:/sbin:/usr/sbin:/bin:/usr/local/bin NLS_LANG=american_america.ZHS16GBK export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH NLS_LANG umask 022
用户Grid
ORACLE_BASE=/u01/app/grid ORACLE_HOME=/u01/app/12.2.0.1/grid ORACLE_SID=+ASM<n> PATH=$PATH:$ORACLE_HOME/bin:/usr/local/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH umask 022
2.1.11. 配置等效性
在集群所有服务器上使用 grid 和 oracle 用户执行
mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -t rsa ssh-keygen -t dsa
在一台服务器上使用 grid 和 oracle 用户执行
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys ssh ora12c2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh ora12c2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys ora12c2:~/.ssh/authorized_keys
在集群所有服务器上使用 grid 和 oracle 用户执行
ssh ora12c1 date ssh ora12c2 date ssh ora12c1-priv date ssh ora12c2-priv date
2.1.12. 配置共享存储
假设/dev/sd[c-e] 为共享磁盘
裸设备方式配置共享存储
修改/etc/udev/rules.d/60-raw.rules 添加内容
使用如下脚本添加,执行完毕后,在加入权限信息。
num=1 for i in j k l m n; do echo "ACTION==\"add\", KERNEL==\"sddlma$i\", RUN+=\"/bin/raw /dev/raw/raw$num %N\"">> /etc/udev/rules.d/60-raw.rules; let num++; done;
KERNEL=="raw*",ACTION=="add", OWNER="grid",GROUP="asmadmin",MODE="0660"
刷新磁盘组start_udev
start_udev
2.1.13. 配置NTP保持双机时间同步
3. 安装grid
第一是在哪里解压,直接把文件解压到指定的GRID_HOME目录下,它不需要安装时再把文件copy到GRID_HOME目录下了。解压完了记得把解压包从GRID_HOME中移走,免得在安装grid过程中还把这个压缩包也传到其他节点上去。
再来说安装,解压完后可以看到这个不象以前那样有一个grid目录,grid目录里runInstaller脚本等文件。这个解压就像是直接安装了一样,解压出来很多的文件。而且目录里也没有runInstaller脚本了,取而代之的是gridSetup.sh脚本,运行这个脚本来执行grid的安装。
之后在图形界面的各种选择与之前的版本没有太大的区别。安装完后执行root.sh脚本。
3.1.运行安装脚本
$Grid_home/gridSetup.sh
3.2.选择Configure Grid Infrastructure for a New Cluster,然后点击next
3.3.选择Configure an Oracle Standalone Cluster,然后点击next
3.4.scan-name要和/etc/hosts中的scan-ip相同,取消GNS,然后点击next
3.5.选择ADD添加节点,填写public-ip和virtual-ip的hostname,然后全选节点,点击ssh connectivity,输入grid密码,点击Reuse private and public keys existing in user home,再点击setup,然后点击next
3.6.检查IP和类型是否对应无误,然后点击next
3.7.选择块设备,然后点击next
3.8.选择yes,然后点击next
3.9.DISK name 填写OCR 并创建OCR磁盘组,选择redundancy High,更改裸设备路径/dev/raw/raw*
3.10.GIMR集群基础信息管理数据库 创建mgmt磁盘组,选择redundancy External,点击next
3.11.选择相同的asm sys和asmsnmp用户密码,然后点击next
3.12.选择Do not use Intelligent Platform Management Interface (IPMI),点击next
3.13.因为没有安装Register with Enterprise Manager (EM) Cloud Control,所以直接点击next
3.14.以下都是默认选项,全部点击next,(关于resolv.conf和DNS的选项可以忽略)
3.15.两节点执行root脚本
3.16.安装完成