鍍金池/ 教程/ 數(shù)據(jù)庫/ ORACLE 11 G 版本 2 RAC 在 LINUX 上使用 NFS 安裝前準(zhǔn)備
RAC 后臺進(jìn)程
RAC 特殊問題和實(shí)戰(zhàn)經(jīng)驗
ORACLE 11 G 版本 2 RAC 在 LINUX 上使用 NFS 安裝前準(zhǔn)備
集群安裝【RAC1】
關(guān)于本書
基本測試與使用
參考文獻(xiàn)
Oracle 集群概念和原理
集群概念介紹
緩存融合技術(shù)介紹
工作原理和相關(guān)組件
數(shù)據(jù)庫安裝

ORACLE 11 G 版本 2 RAC 在 LINUX 上使用 NFS 安裝前準(zhǔn)備

介紹

http://wiki.jikexueyuan.com/project/oraclecluster/images/15.png" alt="" />

http://wiki.jikexueyuan.com/project/oraclecluster/images/16.png" alt="" />

http://wiki.jikexueyuan.com/project/oraclecluster/images/17.png" alt="" />

http://wiki.jikexueyuan.com/project/oraclecluster/images/18.png" alt="" />

下載軟件

操作系統(tǒng)安裝

本文使用 Oracle Enterprise Linux 5.7。一般的圖形操作系統(tǒng)安裝指南在這里。更具體地說,它應(yīng)該是一個服務(wù)器安裝的 2g 交換(最好是3-4G),Linux 禁用防火墻和安全。Oracle 建議默認(rèn)服務(wù)器安裝,但是如果你執(zhí)行一個自定義安裝包括以下包組:

GNOME 桌面環(huán)境、編輯器、圖形化網(wǎng)絡(luò)、基于文本的網(wǎng)絡(luò)、開發(fā)庫、開發(fā)工具、服務(wù)器配置工具、管理工具、基地、系統(tǒng)工具、X 窗口系統(tǒng)符合本文的其余部分,以下信息應(yīng)該設(shè)置在安裝。

RAC1

  • 主機(jī)名:rac1.localdomain
  • IP 地址:eth0:192.168.0.101(公共地址)
  • 默認(rèn)網(wǎng)關(guān):eth0:192.168.0.1(公共地址)
  • IP 地址:eth1:192.168.1.101(私人地址)
  • 默認(rèn)網(wǎng)關(guān):eth1:沒有

RAC2

  • 主機(jī)名:rac2.localdomain
  • IP 地址:eth0:192.168.0.102(公共地址)
  • 默認(rèn)網(wǎng)關(guān):eth0:192.168.0.1(公共地址)
  • IP 地址:eth1:192.168.0.102(私人地址)
  • 默認(rèn)網(wǎng)關(guān):eth1:沒有

你可以自由地改變 IP 地址來滿足您的網(wǎng)絡(luò),但要記住保持一致在本文的其余部分的調(diào)整。

ORACLE 安裝先決條件

自動設(shè)置【所有節(jié)點(diǎn)】

如果您計劃使用“oracle-validated”包執(zhí)行所有先決條件設(shè)置,按照說明 http://public-yum.oracle.com設(shè)置 OL 的 yum 資源庫,然后執(zhí)行以下命令。

# yum install oracle-validated
mkdir /media/disk    #新建掛載目錄
cd /usr/local/src       #查看上傳后的OEL鏡像文件
mv rhel-server-6.5-x86_64-dvd.iso  / usr/local/src/OEL57.iso #重命名鏡像文件
 mount -t iso9660 -o loop /usr/local/src/OEL57.iso  /media/ disk 
vim  /etc/yum.repos.d/rhel-source.repo 
cd /etc/yum.repos.d/   
touch  rhel-media.repo   #建立yum配置文件
vi  rhel-media.repo   #編輯配置文件,添加以下內(nèi)容
[OEL57]
name= Oracle Enterprise Linux 5.7  #自定義名稱
baseurl=file:///media/disk/Service #本地光盤掛載路徑
enabled=1   #啟用yum源,0為不啟用,1為啟用
gpgcheck=1  #檢查GPG-KEY,0為不檢查,1為檢查
yum install oracle-validated  #安裝 oracle-validated 包并檢查其安裝配置 

注:oracle-validated 安裝 crs 以及 oracle dabase 所需要補(bǔ)丁包,并創(chuàng)建 oracle 用戶。

額外的設(shè)置

執(zhí)行以下步驟同時登錄到“ol5 - 112 rac1”虛擬機(jī)作為根用戶。

修改 oracle 用戶密碼:暫時設(shè)定密碼 oracle

Passwd oracle

安裝下面的包從 Oracle 網(wǎng)格媒體在你定義組

cd /media/rpmname  #上傳/grid/rpm包到/media下
rpm -Uvh cvuqdisk*  #安裝rpm

如果您不使用 DNS," / etc / hosts 文件必須包含以下信息。

Vi /etc/hosts

127.0.0.1       localhost.localdomain   localhost
# Public
192.168.0.101   rac1.localdomain        rac1
192.168.0.102   rac2.localdomain        rac2
# Private
192.168.1.101   rac1-priv.localdomain   rac1-priv
192.168.1.102   rac2-priv.localdomain   rac2-priv
# Virtual
192.168.0.103   rac1-vip.localdomain    rac1-vip
192.168.0.104   rac2-vip.localdomain    rac2-vip
# SCAN
192.168.0.105   scan.localdomain        scan
192.168.0.106   scan.localdomain        scan
192.168.0.107   scan.localdomain        scan
# NAS
192.168.0.108   nasl.localdomain        nasl

請注意。SCAN(掃描地址)不是應(yīng)該在主機(jī)文件中定義的。 而是應(yīng)該定義在 DNS 之間循環(huán) 3 相同的子網(wǎng)的公共 ip 地址。對于這個安裝,我們將妥協(xié)和使用 hosts 文件。 這可能導(dǎo)致問題如果使用 11.2.0.2 向前。

SELinux 的設(shè)置更改為允許通過編輯 /etc/SELinux/config文件,確保 SELinux 標(biāo)志設(shè)置如下。

SELINUX=disable

另外,這個變更可以通過使用 GUI 工具(系統(tǒng)>管理>安全級別和防火墻)。單擊 SELinux 選項卡和禁用功能。

# service iptables stop   #禁用防火墻
# chkconfig iptables off

停止 NTP 服務(wù)

# service ntpd stop
Shutting down ntpd:                                        [  OK  ]
# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.orig
# rm /var/run/ntpd.pid

配置時間同步

Vi /etc/sysconfig/ntpd
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
# service ntpd restart

創(chuàng)建 oracle 的安裝目錄

mkdir -p  /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01/

以 ORACLE 身份登錄,打開以下文件,將如下內(nèi)容貼到末尾處

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=RAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
DB_HOME=$ORACLE_BASE/product/11.2.0/db_1; export DB_HOME
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

注意:rac2 節(jié)點(diǎn)處修改:

ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME
ORACLE_SID=RAC2; export ORACLE_SID

兩個節(jié)點(diǎn)都創(chuàng)建一個文件 /home/oracle/ grid_env,并添加以下內(nèi)容。

ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

兩個節(jié)點(diǎn)都創(chuàng)建一個文件 /home/oracle/db_env,并添加以下內(nèi)容。Rac2 修改 ORACLE_SID=RAC2

#touch /home/oracle/db_env
#vi    /home/oracle/db_env
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

關(guān)機(jī):

# shutdown -r now 或者 # init 0

創(chuàng)建共享磁盤

首先,我們需要設(shè)置一些 NFS 共享。

http://wiki.jikexueyuan.com/project/oraclecluster/images/19.png" alt="" />

在這種情況下我們將做這個在 RAC1 節(jié)點(diǎn)上,但你可以在 NAS 或服務(wù)器上。在 RAC1 節(jié)點(diǎn)上創(chuàng)建以下目錄。

mkdir /shared_config
mkdir /shared_grid
mkdir /shared_home
mkdir /shared_data

在文件 /etc/exports 末尾添加以下代碼:

vi /etc/exports
/shared_config              *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_grid                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_home                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)
/shared_data                 *(rw,sync,no_wdelay,insecure_locks,no_root_squash)

運(yùn)行以下命令到處 NFS 共享

chkconfig nfs on
service nfs restart

RAC1 和 RAC2 創(chuàng)建 Oracle 軟件安裝目錄

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
mkdir -p /u01/oradata
mkdir -p /u01/shared_config
chown -R oracle:oinstall /u01/app /u01/app/oracle /u01/oradata /u01/shared_config
chmod -R 775 /u01/app /u01/app/oracle /u01/oradata /u01/shared_config

添加以下行到 /etc/fstab 文件中

# vi  /etc/fstab
nas1:/shared_config /u01/shared_config  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_grid   /u01/app/11.2.0/grid  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_home   /u01/app/oracle/product/11.2.0/db_1  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0
nas1:/shared_data   /u01/oradata  nfs  rw,bg,hard,nointr,tcp,vers=3,timeo=600,rsize=32768,wsize=32768,actimeo=0  0 0

掛載 NFS 到兩個節(jié)點(diǎn)上

mount /u01/shared_config
mount /u01/app/11.2.0/grid
mount /u01/app/oracle/product/11.2.0/db_1
mount /u01/oradata

確保共享目錄權(quán)限正確:授權(quán)訪問權(quán)限

chown -R oracle:oinstall /u01/shared_config
chown -R oracle:oinstall /u01/app/11.2.0/grid
chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/oradata

測試:在 RAC1 的 /u01/oradata 目錄下創(chuàng)建一個測試目錄 test,然后打開 rac 的 /u01/oradata 查看是否存在,并在 rac2 刪除,查看 rac1 是否同步。

RAC1 #cd /u01/oradata              
RAC1 #mkdir –r test
RAC1 #ls

RAC2 # cd /u01/oradata
RAC2 #ls
RAC2 #rm –rf test