詳解Oracle RAC在Linux下的安裝
在這里我們將介紹Oracle RAC在Linux下的安裝,Oracle Real Application Server,真正應用集群,簡稱Oracle RAC ,是Oracle的并行集群,位于不同服務器系統的Oracle實例同時訪問同一個Oracle數據庫,節點之間通過私有網絡進行通信,所有的控制文件、聯機日志和數據文件存放在共享的設備上,能夠被集群中的所有節點同時讀寫。
系統配置
1、創建用戶和組 oinstall dba 組用戶
- oracle -g oinstall -G dba
匿名用戶:確認匿名用戶 nobody 存在與系統中,在安裝完成后nobody 用戶必須執行一些擴展任務(extjob)確認nobody用戶是否存在:
- #id nobody
如果用戶不存在則需要添加該用戶。
注意給oracle用戶設置密碼
2、配置網絡
ip地址的規劃,通過修改 /etc/sysconf/network-script/ifcfg-ethx
配置網卡的靜態ip地址主機名的***修改: /etc/network
本地DNS的配置: /etc/hosts
配置/etc/host.conf 該文件用來指定域名解析方法的順序:
- order hosts,bind
它說明,首先通過/etc/hosts文件解析,如果在該文件中沒有相應的主機名與IP 地址的對應關系,再通過域名服務器bind進行解析
3、配置安全SSH 通道,針對ORACLE用戶,在每個節點創建 rsa 和dsa 的密鑰
- rac1#su - oracle
- rac1#mkdir .ssh
- rac1#chmod 700 .ssh
- rac1#cd .ssh
rac1#ssh-keygen -t rsa 創建密鑰對,其他默認
同樣在另一臺主機上執行相應的操作。
- rac2#su - oracle
- rac2#mkdir .ssh
- rac2#chmod 700 .ssh
- rac2#cd .ssh
- rac2#ssh-keygen -t rsa 創建密鑰對,其他默認
rac1#ssh rac1 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 把節點1 的共鑰 從定向到一個文件因為現在還沒有密鑰對,所以會提示輸入密碼。直接輸入密碼就行了
- rac1#ssh rac2 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys 把節點2 的共鑰 從定向到一個文件
- rac1#cat authorized_keys 查看節點1和節點2的共鑰的內容,同樣拷貝到 節點2上面。
- rac1#scp authorized_keys rac2:/home/oracle/.ssh/ 要輸入節點2的密碼
改一下權限
- rac1#chmod 600 authorized-keys
DSA密鑰的設置同理
- rac1#ssh rac1 date 測試共鑰連接情況 遠程執行 date 命令,此時不用輸入密碼
- rac1#ssh rac2 date 測試共鑰連接情況 遠程執行 date 命令,此時不用輸入密碼
此時可證實安全需要通道配置成功
4、檢查所需的軟件
#rpm -qa |grep 需要的軟件包
5、配置內核參數
- vi /etc/sysctl.conf
- kernel.sem=250 32000 100 128
- kernel.shmmni=4096
- kernel.shmall=2097152
- kernel.shmmax=2147483648
- net.ipv4.ip_local_port_range=1024 65000
- net.core.rmem_default=1048576
- net.core.rmem_max=1048576
- net.core.wmem_default=262144
- net.core.wmem_max=262144
然后執行: #sysctl -p
6、設置shell對oracle用戶的限制
vi /etc/security/limits.conf 在每個節點上執行相同的操作:編輯/etc/security/limits.conf,添加內容:
- oracle soft nproc 2047
- oracle hard nproc 16384
- oracle soft nofile 1024
- oracle hard nofilw 65536
編輯/etc/pam.d/login,添加如下內容: session required /lib/security/pam_limits.so
編輯/etc/profile,添加內容如下:
- if[$USER="ORACLE"]; THEN
- if[$SHELL="/bin/ksh"];then
- ulimit -p 16384
- ulimit -n 65536
- else
- ulimit -u 16384 -n 65536
- fi
- fi
磁盤配置
安裝 CRS
安裝真正的RAC
存儲選項:
項目 | 存儲系統 | 存儲位置 |
clusterware | 本地(EXT3)或NFS | 本地或NFS |
voting disk | OCFS2 Raw device NFS | 共享磁盤 NFS |
OCR | OCFS2 Raw device NFS | 共享磁盤 NFS |
數據庫軟件 | OCFS2 本地 NFS | 本地或共享磁盤 NFS |
數據庫 | OCFS2 ASM Raw device NFS | 共享磁盤 NFS |
恢復文件 | OCFS2 ASM NFS | 共享磁盤 NFS |
存儲機制
|
clusterware
|
數據庫
|
恢復文件
|
ASM
|
否
|
是
|
是
|
OCFS2
|
是
|
是
|
是
|
Raw Device
|
是
|
是
|
否
|
NFS
|
是
|
是
|
是
|
OCFS2 安裝這個軟件 下載3個軟件包 在兩邊都要安裝 OCFS2-2.6.9-22.ELsmp-1.2.3-1.i686.rpm 這個文件要跟 uname -a 的系統版本對應起來 ocfs2console-1.2.1-1.i386.rpm ocfs2-tools-1.2.1-1.i386.rpm
安裝順序:tools ----內核模塊 ----- console
磁盤的處理
- #fdisk -l 查看磁盤分區
- #fdisk /dev/sdb 創建分區
- #export DISPLAY=本地機器IP
- #ocfs2console 打開ocfs2的控制臺進行ocfs2的配置
菜單Task 下的format開始格式化分區
Oracle的安裝前的準備
- #mkdir -p /orac/orachome
- #mkdir -p /orac/oradata
- #mount -t ocfs2 /dev/sdb1 /orac/orahome
- #df -h 查看掛接情況
- #mount -t ocfs2 -o datavolume,nointr /dev/sdb2 orac/oradata
- #df -h
- #mounted.ocfs2 -f 查看ocfs2文件系統的加載情況
另一個節點rac2
- #/etc/init.d/o2cd load 加載這個模塊
- #/etc/init.d/o2cd status 查看加載這個模塊的狀態
查看到節點2 ocfs2 狀態是 offline
- #/etc/init.d/o2cd online 使其online
- #/etc/init.d/o2cd status 查看加載這個模塊的狀態
- #mount -t ocfs2 /dev/sdb1 /orac/orahome
- #df -h
- #mounted.ocfs2 -f
- #mount -t ocfs2 -o datavolume,nointr /dev/sdb2 /orac/oradata
- #mounted.ocfs2 -f
系統啟動時自動加載ocfs2文件系統和啟動相應的模塊----兩個節點都要配置
- #/etc/init.d/o2cd configure 啟動時自動加載ocfs2 的相關模塊
- #vi /etc/fstab 啟動是自動掛接文件系統
- /dev/sdb1 /orac/orahome ocfs2 _netdev 0 0
- /dev/sdb2 /orac/oradata ocfs2 _netdev,datavolume,nointr 0 0
安裝集群 clusterware 文件夾 crs 安裝clusterware oradata 建庫時使用 orahome 安裝oracle數據庫軟件
要對這些文件夾的主用戶進行修改
- #cd /orac
- #chown root.oinstall crs
- #chown oracle.oinstall orahome
- #chown oracle.oinstall oradata
- #chmod -R 775 ors
- #chmod -R 775 orahome
- #chmod -R 775 oradata
- #ls -l
在另外一個節點上也要進行相應的修改
把集群clusterware安裝軟件拷貝進來
- #su - oracle
- #export DISPLAY=本地ip:0.0
- #./runInstaller
安裝數據庫軟件 選擇安裝類型 企業版
創建數據庫: #dbca
測試數據庫的情況:客戶端的連接文件的修改:在客戶端安裝路徑下: NETWORK/ADMIN/tnsnames.ora
- ORATEST tns服務名=
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.121 節點1IP)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.116.129 節點2IP)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVICE_NAME = oratest.sinobest.com 全局數據庫名)
- )
- )
- EXTPROC_CONNECTION_DATA =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
- )
- (CONNECT_DATA =
- (SID = PLSExtProc)
- (PRESENTATION = RO)
- )
- )
SQLPLUS客戶端的測試:在windows下打開命令行 或者直接打開 Oracle SQL*Plus
- > sqlplus /nolog
- SQL>conn sys/123456@tnsname as sysdba
- SQL>select * from V$instance; 查看當前的實例
- SQL>set wrap off; 設置一下顯示的方式
- SQL>set linesize 200;
- SQL>select * from V$instance; 查看當前的實例
- SQL>select * from gv$instance; 查看全局實例視圖
原文鏈接:http://blog.chinaunix.net/u3/105031/showart_2087248.html
【編輯推薦】