概述:寫下本文檔的初衷和動力,來源於上篇的《oracle基本操作手冊》。oracle基本操作手冊是作者研一假期對oracle基礎知識學習的匯總。然后形成體系的總結,一則進行回顧復習,另則便於查詢使用。本圖文文檔亦源於此。閱讀Oracle RAC安裝與使用教程前,筆者先對這篇文章整體構思和形成進行梳理。由於閱讀者知識儲備層次不同,我將從Oracle RAC安裝前的准備與規划開始進行整體介紹安裝部署Oracle RAC。始於唐博士指導,對數據庫集群進行配置安裝,前后經歷2,3個月的摸索。中間遇到不少問題。此文檔也將一一記錄整理。(本文原創/整理,轉載請標注原文出處: RAC在LINUX上使用NFS安裝前准備(六) )
2015年7月19日10:28:41
目錄
介紹
l Oracle 11 g版本2(11.2)和修改和數據庫軟件
本文使用Oracle Enterprise Linux 5.7。 一般的圖形操作系統安裝指南在這里。 更具體地說,它應該是一個服務器安裝的2 g交換(最好是3-4G),Linux禁用防火牆和安全。 Oracle建議默認服務器安裝,但是如果你執行一個自定義安裝包括以下包組:
GNOME桌面環境、編輯器、圖形化網絡、基於文本的網絡、開發庫、開發工具、服務器配置工具、管理工具、基地、系統工具、X窗口系統
符合本文的其余部分,以下信息應該設置在安裝。
RAC1。
主機名:rac1.localdomain
IP地址eth0:192.168.0.101(公共地址)
默認網關eth0:192.168.0.1(公共地址)
IP地址eth1:192.168.1.101(私人地址)
默認網關eth1:沒有
RAC2。
主機名:rac2.localdomain
IP地址eth0:192.168.0.102(公共地址)
默認網關eth0:192.168.0.1(公共地址)
IP地址eth1:192.168.0.102(私人地址)
默認網關eth1:沒有
你可以自由地改變IP地址來滿足您的網絡,但要記住保持一致在本文的其余部分的調整。
自動設置【所有節點】
如果您計划使用“oracle-validated”包執行所有先決條件設置,按照說明http://public-yum.oracle.com設置OL的yum資源庫,然后執行以下命令。
# 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 #編輯配置文件,添加以下內容
[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所需要補丁包,並創建oracle用戶
執行以下步驟同時登錄到“ol5 - 112 rac1”虛擬機作為根用戶。
修改oracle用戶密碼:暫時設定密碼oracle
Passwd oracle
安裝下面的包從Oracle網格媒體在你定義組
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(掃描地址)不是應該在主機文件中定義的。 而是應該定義在DNS之間循環3相同的子網的公共ip地址。 對於這個安裝,我們將妥協和使用hosts文件。 這可能導致問題如果使用11.2.0.2向前。
SELinux的設置更改為允許通過編輯/etc/SELinux/config文件,確保SELinux標志設置如下。
SELINUX=disable
另外,這個變更可以通過使用GUI工具(系統>管理>安全級別和防火牆)。 單擊SELinux選項卡和禁用功能。
# service iptables stop #禁用防火牆
# chkconfig iptables off
停止NTP服務
# 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
創建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身份登錄,打開以下文件,將如下內容貼到末尾處
# 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節點處修改:
ORACLE_HOSTNAME=rac2.localdomain; export ORACLE_HOSTNAME
ORACLE_SID=RAC2; export ORACLE_SID
兩個節點都創建一個文件/home/oracle/ grid_env,並添加以下內容。
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
兩個節點都創建一個文件/home/oracle/db_env,並添加以下內容。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
關機:
# shutdown -r now 或者 # init 0
首先,我們需要設置一些NFS共享。
在這種情況下我們將做這個在RAC1節點上,但你可以在NAS或服務器上。 在RAC1節點上創建以下目錄。
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)
運行以下命令到處NFS共享
chkconfig nfs on
service nfs restart
RAC1和RAC2創建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到兩個節點上
mount /u01/shared_config
mount /u01/app/11.2.0/grid
mount /u01/app/oracle/product/11.2.0/db_1
mount /u01/oradata
確保共享目錄權限正確:授權訪問權限
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目錄下創建一個測試目錄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
參考文獻
- Oracle的三種高可用集群方案
- 集群概念介紹:栢圖教育 Oracle 高級課程——理論教材
- Oracle 11 RAC生存指南
- Oracle 11gR2 RAC管理與性能優化
- Oracle Database 11g Release 2 RAC On Linux Using NFS
- 使用 VirtualBox 在 Oracle Linux 5.7 上安裝Oracle Database 11g Release 2 RAC 的最佳實踐
- Oracle RAC安裝配置-NFS(一)
- tnsnames.ora 監聽配置文件詳解(博客園)
相關文章
【MySql集群搭建】 真機環境下MySQL-Cluster搭建文檔
【Hadoop集群搭建】Hadoop集群的配置(一)
【Hadoop集群搭建】Hadoop集群的配置(二)