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.安裝完成