Oracle RAC搭建(一)
ORACLE RAC 支援多個例項在同一時間點內透過不同服務對資料庫執行相關操作,它提供了一個被稱作cluster的叢集軟體用以支援多個服務同時工作。並且根據業務的需要,也可以擴充套件資料庫例項。
每一個例項有它獨有的記憶體結構和後臺程式,ORACLE RAC 透過使用 Cache Fusion (快取記憶體融合)來同步各個資料庫例項中buffer cache 中的資料,多個資料庫例項共享一個資料庫。當一個資料庫例項2想要訪問磁碟上的某資料塊,而此時的對該資料塊的修改在例項1中的buffer cache中,Cache Fusion 將會將修改後的資料塊從例項1的buffer cache中傳輸給例項2,當然,需要建立節點之間的信任機制。
Oracle Clusterware透過使用如下元件實現對資料庫的可伸縮性和該可用性:
?Voting disk:管理叢集成員,斷定叢集節點的網路故障之間的所有權;
?Oracle Cluster Registry (OCR):維護叢集配置資訊以及配置叢集中的任何叢集資料庫的資訊。OCR包含資訊如資料庫例項執行在哪些節點和服務執行資料庫。OCR還儲存資訊流程和修改控制元件,OCR駐留在共享儲存訪問叢集中的所有節點。
2.關於 Oracle ASM 自動儲存管理
3.關於ORACLE RAC中的網路配置
每個節點至少需要兩塊網路卡,public ip用來向外提供服務,private ip用來實現各節點之間的通訊,virtual ip 用來檢測當某節點出現故障時實現自動轉移。因此virtual ip必須和public ip必須在同一子網作為公共介面。
4.簡單安裝ORACLE RAC
此處採用redhat5.4版本安裝作業系統,虛擬機器版本為vmware 9.0 ,資料庫版本為oracle database 10.0.2
搭建之前的準備,準備虛擬機器一個,建立三個外磁碟,一個用於ocr(1G),一個votedisk(1G),兩個用於asm(每個15G) ,四塊磁碟設定為獨立模式,新增兩塊網路卡,此處採用hostonly連網模式。
5.部署RAC的IP地址規劃表如下:
節點rac1的IP規劃:
節點1(rac1) | 對應網路卡 | IP地址 | 網路名 |
public ip | eth0 | 192.168.10.1 | rac1 |
private ip | eth1 | 10.0.0.1 | rac1-priv |
virtual ip | eth0 | 192.168.10.3 | rac1-vip |
節點2(rac2) | 對應網路卡 | IP地址 | 網路名 |
public ip | eth0 | 192.168.10.2 | rac2 |
private ip | eth1 | 10.0.0.2 | rac2-priv |
virtual ip | eth0 | 192.168.10.4 | rac2-vip |
[root@rac1 ~]# groupadd oinstall
[root@rac1 ~]# groupadd dba
[root@rac1 ~]# useradd -d /home/oracle -g oinstall -G dba oracle
[root@rac1 ~]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@rac1 ~]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
7.root使用者登入,配置/etc/hosts,內容如下:[root@rac1 ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 rac1 localhost.localdomain localhost
127.0.0.1 localhost
#::1 localhost6.localdomain6 localhost6
#public ip
192.168.10.1 rac1
192.168.10.2 rac2
#private ip
10.0.0.1 rac1-priv
10.0.0.2 rac2-priv
#virtual ip
192.168.10.3 rac1-vip
192.168.10.4 rac2-vip
8.建立rac配置的相關目錄
[root@rac1 ~]# mkdir -p /u01/app/oracle/db_1
[root@rac1 ~]# chown -R oracle:oinstall /u01/
9.oracle使用者登入,配置 ~/.bash_profile,新增如下內容:
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export CRS_HOME=$ORACLE_BASE/crs
export ORACLE_HOME=$ORACLE_BASE/db_1
export ORACLE_SID=orc1
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=$CRS_HOME/bin:$PATH
ulimit -u 16384 -n 65536
umask 022
10.root使用者下登入,修改核心引數 /etc/sysctl.conf,如下:
首先檢視作業系統的記憶體和交換分割槽:
[root@rac1 ~]# grep MemTotal /proc/meminfo
MemTotal: 1035140 kB
[root@rac1 ~]# grep SwapTotal /proc/meminfo
SwapTotal: 2097144 kB
新增內容如下:
kernel.shmall = 2097152
#kernel.shmmax = 517570 注意此處不能設定成實體記憶體的一半
kernel.shmmax=536870912
kernel.shmmni = 4096
kernel.sem = 25032000100128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 102465000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
使配置生效:
[root@rac1 ~]# /sbin/sysctl –p
11.提高oracle使用者的shell限制
root使用者登入,在 /etc/security/limits.conf新增如下內容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
12.修改安全限制:
root使用者登入,在/etc/pam.d/login新增如下內容:
session required /lib/security/pam_limits.so
13.新增Hangcheck計時器
root使用者登入,在/etc/rc.local下新增如下內容:
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
[root@rac1 ~]# modprobe hangcheck-timer
[root@rac1 ~]# grep Hangcheck /var/log/messages |tail -2
May 14 07:02:06 rac1 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
May 14 07:02:06 rac1 kernel: Hangcheck: Using get_cycles().
14.新增分割槽磁碟
[root@rac1 ~]# fdisk /dev/sdb
[root@rac1 ~]# fdisk /dev/sdc
[root@rac1 ~]# fdisk /dev/sdd
[root@rac1 ~]# fdisk /dev/sde
將原始裝置對映到共享分割槽:
[root@rac1 ~]# vi /etc/sysconfig/rawdevices
新增如下內容:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
使對映立即生效:
[root@rac1 ~]# /sbin/service rawdevices restart
Assigning devices:
/dev/raw/raw1 --> /dev/sdb1
/dev/raw/raw1: bound to major 8, minor 17
/dev/raw/raw2 --> /dev/sdc1
/dev/raw/raw2: bound to major 8, minor 33
/dev/raw/raw3 --> /dev/sdd1
/dev/raw/raw3: bound to major 8, minor 49
/dev/raw/raw4 --> /dev/sde1
/dev/raw/raw4: bound to major 8, minor 65
done
將對映配置到/etc/udev/rules.d/60-raw.rules中,新增內容如下:
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]", OWNER="oracle", GROUP="oinstall", MODE="640"
配置分配許可權:
[root@rac1 ~]# vi /etc/rc.d/rc.local
#新增如下內容:
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3
chown oracle:dba /dev/raw/raw4
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
使繫結的裝置生效:
[root@rac1 ~]# start_udev
Starting udev: [ OK ]
[root@rac1 ~]# ls -l /dev/raw
total 0
crw-r----- 1 oracle oinstall 162, 1 May 12 10:10 raw1
crw-r----- 1 oracle oinstall 162, 2 May 12 10:10 raw2
crw-r----- 1 oracle oinstall 162, 3 May 12 10:10 raw3
crw-r----- 1 oracle oinstall 162, 4 May 12 10:10 raw4
15.安裝oracle所需軟體包
glibc-2.5-24
glibc-common-2.5
glibc-devel-2.5
glibc-headers-2.5
kernel-headers-2.6.18
ksh-20060214
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.2
libgomp-4.1.2
libstdc++-4.1.2
libstdc++-devel-4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-devel-2.2.11
libXp-1.0.0-8.1.el5.i386
libXp-devel-1.0.0-8.1.el5.i386
16.為方便配置,本實驗對節點2採用複製節點1的配置,需要修改IP地址、主機名,以及oracle使用者下配置等相關資訊:
在啟動linux之前(vmware處於關閉狀態),修改vmware的工作目錄,找到.vmx檔案,用記事本開啟新增如下資訊:(否則兩臺虛擬機器不能同時啟動)兩臺虛擬機器都要新增
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:0.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:sharedBus='virtual' ---虛擬機器是workstaion時新增,server版本不需要
並且對於節點2中,修改
displayName = "rac2"
scsi0:0.fileName = "D:\RAC10g\rac2\rac1.vmdk"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29634949/viewspace-1158604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC搭建(三)Oracle
- Oracle RAC搭建(二)Oracle
- Oracle 11.2 DataGuard RAC To RAC搭建Oracle
- Oracle RAC+DG搭建Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(一)Oracle
- oracle 10g 之RAC 搭建Oracle 10g
- Oracle RAC + Data Guard 環境搭建Oracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(六)建立RAC資料庫UIOracle資料庫
- oracle11g 搭建 rac+dgOracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(一)安裝資源規劃UIOracle
- 一步一步搭建 oracle 11gR2 rac + dg 之前傳 (一)Oracle
- 一步一步搭建Oracle 11g RAC+ DG詳解Oracle
- ORACLE RAC TO RAC DG搭建過程中可能遇到的問題Oracle
- Oracle 12c 使用RMAN搭建物理備庫(RAC to RAC)Oracle
- Oracle搭建rac到單庫的adgOracle
- VMware 搭建 Oracle10g RAC 筆記Oracle筆記
- Oracle10g VMWare RAC搭建圖解Oracle圖解
- RAC 搭建
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(五)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(三)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(四)Oracle
- 【TUNE_ORACLE】Oracle 19c RAC搭建番外篇之RAC引數配置參考(二)Oracle
- 搭建 VM + RHLE5 + Oracle10g Rac + ASMOracleASM
- Oracle RAC Cache Fusion 系列八:Oracle RAC 分散式資源管理(一)Oracle分散式
- 【Oracle】 RAC 環境刪除oracle 之一Oracle
- Oracle RAC一鍵部署004(RAC引數校驗)Oracle
- 【DG】Oracle 19c使用dbca來搭建物理DG--主rac備racOracle
- 一步一步搭建oracle 11gR2 rac+dg之database安裝(五)OracleDatabase
- Oracle RAC一鍵部署大綱Oracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(五)DB軟體安裝UIOracle
- ORACLE 12C RAC 生產環境搭建介紹Oracle
- Rhel7.3_Oracle12cR2的RAC搭建安裝Oracle
- Windows2008搭建oracle11g racWindowsOracle
- 一步一步搭建oracle 11gR2 rac+dg之環境準備(二)Oracle
- 一步一步搭建oracle 11gR2 rac+dg之共享磁碟設定(三)Oracle
- 一步一步搭建 oracle 11gR2 rac+dg之grid安裝(四)Oracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(四)Grid軟體安裝UIOracle
- 【BUILD_ORACLE】Oracle 19c RAC搭建(三)使用UDEV配置共享儲存UIOracledev