RHEL5.4+openfiler2.3+oracle11g rac+asm叢集資料庫配置全過程
RHEL5.4+openfiler2.3+oracle11g rac+asm叢集資料庫配置全過程
一、叢集的系統環境:
1、全部使用虛擬機器,64位win7上,用vmware7配置出2臺RHEL5.4,+1臺openfiler2.3。
2、RHEL5.4:硬碟容量30G,雙虛擬網路卡,分別對應主機上兩張虛擬網路卡。
3、openfiler2.3:硬碟容量60G,單虛擬網路卡,系統佔據10G左右,其他容量空白,不格式化,不掛載。
4、網路配置:(1)、rac叢集需要兩個不同的網路,公有網路和私有網路(public network and private network),我第一次是兩個網路徹底隔離在虛擬系統裡面,第二次公有網路為單位區域網,私有網路為獨立網路,辦法就是公有網路的IP與單位區域網的IP在同一網段,並且公有網路的網路卡連線方式改為橋接;
(2)考慮還是記錄開放方式下得叢集吧,這樣比封閉方式的詳細一些;
(3)修改電腦主機上的虛擬網路卡,vmnet1虛擬網路卡對應的虛擬機器裡面的網路卡為橋接方式,直接接入主機物理網路卡,所以vmnet1虛擬網路卡其實沒有用到,vmnet8為私有網路入口,這個ip地址需要更改,我使用的是10.0.0.141,掩碼255.0.0.0。這樣只要虛擬機器裡面的網路卡配置正確,基本上兩個網路就可以正確建立;
(4)RHEL5.4內,識別的網路卡名稱一般式eth0和eth1,虛擬系統內,網路卡配置:eth0為橋接方式,eth1連結到vmnet8,所以進入系統後,ip地址分別是:eth0 100.XXX.XXX.150,255.255.255.0;eth1 10.0.0.138,255.0.0.0。第二臺RHEL5.4,ip地址分別是:eth0 100.XXX.XXX.151,255.255.255.0;eth1 10.0.0.139,255.0.0.0。
(5)關於儲存連結,我還是習慣於附加在私有網路上,所以openfiler2.3系統的那張虛擬網路卡地址:10.0.0.140,255.0.0.0。這樣做法,也有好處,附加的位置是私有網路,具有一定的資料安全保密性,這樣就不需要在iscsi target設定上新增登入控制了,配置更簡單。
(6)檢測網路連通性,兩臺RHEL5.4需要檢測兩臺RHEL5.4之間是否連通,與電腦主機之間是否連通,與openfiler2.3是否連通。
二、配置儲存機
1、根據的教材是:vmware 華南技術中心出的openfiler2.3 iscsi設定圖文教程。
2、因為這個教程網上肯定會有的,所以我這裡的記錄的比較簡單。
3、第一步:建立physical volume分割槽,選擇 上方的volumes>右邊的block devices,然後出現create a partition in /dev/sdb,注意選擇physical volume,容量大小一般預設,也就是所有的空餘容量,然後點選create。
4、第二步:建立卷組,選擇 上方的volumes>右邊的volume groups,出現create a new volume group,要求輸入volume group name,這個沒有特殊要求的,可以隨便輸入,volume group name下面是剛剛建立的physical volumes列表,勾選上,然後點選add volume group。
5、第三步:建立iscsi邏輯卷,選擇上方的volumes>右邊的add volume,然後出現create a volume in "你上一步輸入的volume group name",在下面的空白框內,依次輸入 volume name(名稱隨便)、volume description(可選,可以選擇不輸入)、required space(一般是最大容量)、filesystem/volume type(要求必須是iscsi),點選create。
6、第四步:增加iscsi target IQN,並對映TARGET IQN。選擇上方的volumes>右邊的iscsi targets,這時候,出現add new iscsi target,有可能add按鈕是灰色的,不能點選,如果是灰色的話,選擇上方的services,出現一個服務列表,注意iscsi target server的status狀態,如果是disabled,那麼點選對應的右邊的enable,將iscsi target server服務啟動。然後再回到iscsi targets中,這時候add按鈕已經可用,直接點選,然後選擇這個介面中得lun mapping,不要改動出現的介面的設定,直接點選map。
7、到這裡就已經完成了,教程後面的其他部分是增加登入控制用得,最好不要啟動,因為登入控制比較負責,還有可能會涉及到linux內部的配置檔案。
三、對RHEL5.4進行grid安裝前準備工作
1、叢集資料庫安裝最關鍵其實就是安裝前的準備工作,準備工作完成正確無誤,基本上安裝過程就沒有太大的問題。
2、為了以後安裝的方便,這後面的記錄,將全部記錄執行的命令,並且沒有前面的命令提示符,以方便以後安裝的時候,可以直接複製相應的命令和內容到SSH中執行。
3、這些都是準備工作,有些工作是不分前後的,有些還是有順序的才行。
4、為了方便操作,我一般使用的是windows下的secureCRT,用ssh2的方式連線到RHEL5.4的虛擬機器。所有需要建立的賬戶,密碼全部統一使用為123456。
以下記錄開始進行實質性操作:
5、為了操作的方便,有時候可能需要顯示RHEL5.4虛擬機器的桌面,需要對RHEL5.4進行配置,配置如下:
(1)改變defaults.conf檔案許可權,預設是隻讀,因為需要修改檔案內容,所以要修改許可權。
chmod 700 /usr/share/gdm/defaults.conf
(2)做如下配置---編輯/usr /share/gdm/defaults.conf
Enable=true
DisplaysPerHost=10
Port=177
AllowRoot=true
AllowRemoteroot=true
AllowRemoteAutoLogin=false
(3)做如下配置---編輯 /etc/gdm/custom.conf
[xdmcp]
Enable=1
(4)做如下配置---編輯 /etc/inittab (不要修改原來設定,在最後新增一行如下記錄)
x:5:respawn:/usr/sbin/gdm
(5)重新載入GNOME桌面配置
init 3 ; init 5
到此完成,xmanager3的xbrowser就會主動發現這兩個可以進入的桌面了,只要指定正確連線的IP地址即可進入。
6、修改RHEL5.4的網路卡ip地址。按照上面的記錄修改,由於ip地址尚未正確配置,可能無法從windows中連線到RHEL5.4虛擬機器,所以需要在RHEL5.4系統介面中直接操作。
7、RHEL5.4的IP地址配置:
從RHEL5.4桌面開啟終端,執行system-config-network,開啟網路配置介面,配置如下:
|
RAC1 |
RAC2 | ||
|
Eth0 |
Eth1 |
Eth0 |
Eth1 |
IP地址 |
100.100.100.150 |
10.0.0.138 |
100.100.100.151 |
10.0.0.139 |
網路掩碼 |
255.255.255.0 |
255.0.0.0 |
255.255.255.0 |
255.0.0.0 |
配置完成後,需要將配置執行應用,方法有兩個:方法1,先執行儲存,將網路卡關閉,然後再將網路卡啟用,完成;方法2,執行儲存,退出配置介面,執行service network restart,將網路卡服務重啟,完成。
8、兩臺RHEL5.4配置完成後,就可以使用secureCRT從windows連線到RHEL虛擬機器。
9、以後的操作如無特別說明,全部在windows的secureCRT中操作。注意有兩點:(1)windows上要安裝xmanager3,並且開啟Xmanager - Passive,接受螢幕顯示訊號;(2)在secureCRT中設定DISPLAY值,export DISPLAY=10.0.0.141:0.0,將顯示訊號指向到windows的xmanager3上。
10、建立使用者,執行system-config-users,進入使用者管理介面,新增使用者grid或者oracle,新增使用者組:oinstall、dba、asmdba、asmadmin,4個使用者組,並且grid和oracle使用者的主組都是oinstall,最好是grid和oracle使用者都有這4個使用者組,還要注意兩臺RHEL5.4之間,grid、oracle使用者的使用者程式碼及4個使用者組組程式碼,都一樣,如果不一樣的話,grid安裝會檢測出程式碼不一致的錯誤。
11、新增/etc/hosts的IP地址解析,開啟/etc/hosts,新增如下(注意不要修改原有內容):
#public
100.100.100.150 rac1.test rac1
100.100.100.151 rac2.test rac2
#private
10.0.0.138 rac1-priv.test rac1-priv
10.0.0.139 rac2-priv.test rac2-priv
#vitual
100.100.100.152 rac1-vip.test rac1-vip
100.100.100.153 rac2-vip.test rac2-vip
#clusterip
100.100.100.154 rac-cluster.test rac-cluster
儲存。
12、修改grid和oracle使用者的登入指令碼:
grid使用者,開啟/home/grid/.bash_profile,新增如下:
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=/u01/app/grid/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin:/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
執行儲存。grid使用者指令碼,主要影響grid的安裝。最好影響的是oracle_base和oracle_home兩個引數,現在的方法是兩個引數,分別從根目錄起就是兩個完全分開的目錄,這是由於在grid安裝過程中,oracle_home目錄的許可權會被安裝程式更改,從原來的grid.oinstall改到了root.oinstall,這個影響到底如何,不知道,所以將兩個目錄分開比較明智。在grid安裝過程中,需要提供oracle_base和software_location的位置,這裡有個要求,就是software_location不能是oracle_base的子目錄。所以以後有時間還要測試下,oracle_base=/u01/app/oracle和oracle_home=/u01/app/grid/product/11.2.0/db_1這樣配置,是否能成功。
oracle使用者,開啟/home/oracle/.bash_profile,新增如下:
export ORACLE_BASE=/u03/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin:/sbin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
執行儲存。oracle使用者指令碼主要影響oracle的安裝,這個要求就是oracle_home必須是oracle_base的子目錄,和grid使用者指令碼完全相反。
這兩個指令碼所有內容都相當重要,在PATH引數這塊,我特意增加了/usr/sbin和/sbin兩個值,這是因為很多執行程式在都這兩個目錄中,而RHEL5.4預設沒有將這兩個目錄放到PATH中。
13、建立使用者登入指令碼中指定的幾個目錄,及安裝程式放置目錄。複製安裝程式,並且解壓縮。
執行:
su
cd /
mkdir /u01
mkdir /u02
mkdir /u03
chown -R grid.oinstall /u01
chown -R grid.oinstall /u02
chown -R oracle.oinstall /u03
mkdir /softgrid
mkdir /softoracle
mkdir /media/dvd
mount /dev/hdc /media/dvd
cd /media/dvd
cp linux_11gR2_grid.zip /softgrid
cp linux_11gR2_database_1of2.zip /softoracle
cp /softoracle
cd /softgrid
unzip linux_11gR2_grid.zip
cd /softoracle
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
chown -R grid.oinstall /softgrid
chown -R oracle.oinstall /softoracle
14、修改核心引數,開啟/etc/sysctl.conf,新增如下:
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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=1048576
fs.aio-max-nr=1048576
儲存,然後執行sysctl -p,應用剛剛給出的核心引數。
15、修改grid和oracle使用者的資源限制,開啟/etc/srcurity/limits.conf,新增如下:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
執行儲存。
16、增加使用者資源限制映像,開啟/etc/pam.d/login,新增如下:
session required pam_limits.so
執行儲存。
17、安裝需要的軟體包:
rpm -Uvh setarch-2.0-1.1.i386.rpm
rpm -Uvh make-3.81-3.el5.i386.rpm
rpm -Uvh glibc-2.5-42.i386.rpm
rpm -Uvh libaio-0.3.106-3.2.i386.rpm
rpm -Uvh compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -Uvh kernel-headers-2.6.18-164.el5.i386.rpm
rpm -Uvh glibc-headers-2.5-42.i386.rpm
rpm -Uvh glibc-devel-2.5-42.i386.rpm
rpm -Uvh compat-gcc-34-3.4.6-4.i386.rpm
rpm -Uvh compat-gcc-34-c++-3.4.6-4.i386.rpm
rpm -Uvh libgomp-4.4.0-6.el5.i386.rpm
rpm -Uvh gcc-4.1.2-46.el5.i386.rpm
rpm -Uvh libXp-1.0.0-8.1.el5.i386.rpm
rpm -Uvh openmotif-2.3.1-2.el5.i386.rpm
rpm -Uvh compat-db-4.2.52-5.1.i386.rpm
rpm -Uvh libaio-devel-0.3.106-3.2.i386.rpm
rpm -Uvh sysstat-7.0.2-3.el5.i386.rpm
rpm -Uvh unixODBC-2.2.11-7.1.i386.rpm
rpm -Uvh unixODBC-devel-2.2.11-7.1.i386.rpm
18、關閉NTP時間同步服務,關閉時間:
service ntpd stop
chkconfig ntpd off
rm /etc/ntp.conf
19、配置grid使用者和oracle使用者的SSH連線,在安裝過程中,其實可以用安裝程式自動配置,我這裡是為了記錄的完整性,處理過程如下:
用grid使用者登入:
RAC1和RAC2上分別執行:ssh-keygen -t rsa
RAC1上執行:cd /home/oracle/.ssh
ssh rac1 cat /home/grid/.ssh/id_rsa.pub>>authorized_keys
ssh rac2 cat /home/grid/.ssh/id_rsa.pub>>authorized_keys
scp authorized_keys rac2:/home/grid/.ssh/authorized_keys
RAC1執行:ssh rac2 date
RAC2執行:ssh rac1 date
用oracle使用者登入:
RAC1和RAC2上分別執行:ssh-keygen -t rsa
RAC1上執行:cd /home/oracle/.ssh
ssh rac1 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
ssh rac2 cat /home/oracle/.ssh/id_rsa.pub>>authorized_keys
scp authorized_keys rac2:/home/oracle/.ssh/authorized_keys
RAC1執行:ssh rac2 date
RAC2執行:ssh rac1 date
執行結果,如果不出要求輸入密碼的提示,那麼配置就完成了。
在網上其他資料裡面,有些資料說得是.ssh這個目錄需要手動建立,並且許可權還需要修改,其實不需要,ssh-keygen會主動建立目錄的,而且建立後的檔案許可權,很大的可能是不需要修改,但還是需要注意下。
id_rsa和id_rsa.pub的許可權分別是600和644。
20、安裝iscsi客戶端:
rpm -Uvh iscsi-initiator-utils-6.2.0.871-0.10.el5.i386.rpm
連線iscsi target,並登入:
iscsiadm -m discovery -t sendtargets -p 10.0.0.140:3260
iscsiadm -m node -l
對iscsi磁碟分割槽
fdisk /dev/sdb
分成3個分割槽。
四、grid安裝
1、安裝ASMLIB:
將oracleasm的軟體包複製到RHEL5.4內,並進行安裝:
rpm -ivh oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm
rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm
也可以這樣執行:
rpm -ivh oracleasm*
注意,oracleasm的包與系統核心版本有關,下載的話,注意先獲取核心版本,再下載相應版本的oracleasm軟體包。
2、配置oracleasm:
oracleasm有幾個選項,可以看下相應的作用。
配置過程如下:
oracleasm configure #顯示目前的配置情況。
oracleasm configure -i #進去oracleasm配置。
進入oracleasm配置後,輸入的內容依次是:
grid
asmadmin
y
y
配置完成。(這步配置,要注意哈,預設選項是不對的,需要修改,務必看清楚前面的英文提示後,再輸入值)。
啟動oracleasm:oracleasm init
建立asm磁碟:
oracleasm createdisk VOL1 /dev/sdb1
oracleasm createdisk VOL2 /dev/sdb2
oracleasm createdisk VOL3 /dev/sdb3
#注意,提示的裝置,好像必須是分割槽,直接的磁碟裝置不行,必須先分割槽。如果出現問題,1是可能裝置不存在,重新檢查裝置,確保裝置存在;2是有可能相應的裝置已經被建立成ASM磁碟,那麼強制重新命名裝置:oracleasm renamedisk -f /dev/sdb1 VOL1。
列出所有ASM磁碟:oracleasm listdisks #所有磁碟的別名全部列出,配置成功。
3、用grid使用者登入,啟動grid安裝程式:
export DISPLAY=10.0.0.141:0.0
cd /softgrid/grid
./runInstaller
4、這個具體的安裝過程,由於全是圖形介面,這裡不方便記錄,基本上沒有很多需要注意的地方。
在SCAN引數介面上,不需要給SCAN確定IP值,這是因為在/etc/hosts中,已經新增好了。
typical和advanced選項間,這兩個選項其實沒有太大的區別,但是我覺得還是advanced選項要好一些。
5、在grid安裝過程中,要注意:
(1)orainst.sh和root.sh指令碼的執行過程,這是一個序列操作,也就是說要按如下順序操作:
rac1 orainst.sh
rac2 orainst.sh
rac1 root.sh
rac2 root.sh
這樣的順序進行操作,而且必須是上個操作完成之後,下個操作才能進行,不能併發進行。
(2)執行完指令碼後,緊接著就是network config assistant,這個步驟一般來說是肯定會失敗的,具體原因還不清楚,不過這裡可以忽略過去,完成安裝後才進行操作。
(3)grid安裝的最後一步,也會出現錯誤,這裡出現的錯誤一般情況下,是由於/etc/hosts中新增了scan的ip值,才導致這個錯誤的出現,可以忽略。
6、grid完成後,由於中間有些錯誤,需要進行下操作:
執行netca
新增listener監聽程式,這裡注意監聽器的名字必須是預設的“LISTENER”,否則後面oracle安裝過程要出錯。
7、到這裡grid安裝完成,已經可以重啟了。在虛擬機器中,有點很喜劇的細節,要考慮到,在相當多的時候,機器重啟後,grid是沒有啟動成功的,crs_stat和crsctl stat res -t命令都會提示沒有連線到crs 守護程式,不要慌張,這個不是啟動失敗,而是由於虛擬機器資源太少導致叢集啟動相當緩慢,保守估計在系統啟動完成後,還需要3分鐘到5分鐘左右時間來啟動各項叢集資源。叢集資料裡面gsd和o4jd是沒有啟動的,這個正常,預設就是不啟動的,沒有影響。
五、oracle安裝:
1、用oracle使用者登入:
export DISPLAY=10.0.0.141:0.0
cd /softoracle/database
./runInstaller
2、具體安裝過程沒有太大問題,主要是對於控制檔案和聯機重做日誌的位置,這個好像無法手動控制,我在修改了這兩個位置後,就提示不正確,無法安裝。我取消了這兩個手動指定的位置後,就安裝正常了,
3、最後一次安裝沒有出現memory_target is not supported in this system,沒有出現這個錯誤,如果有個錯誤,說明臨時空間不夠,解決辦法:
修改/etc/fstab:
tmpfs這行中得default修改成default,size=4G
然後執行:
mount -o remount /dev/shm
4、安裝就基本完成了。
六、最後總結:
1、不知道為什麼,我建立完成後,在重啟機器後,叢集啟動沒有問題,但是資料庫沒有自動啟動。
啟動辦法:srvctl start database -d orcl
2、RAC叢集安裝過程,最關鍵還是前期的準備工作,準備工作完成的好,安裝過程中基本沒有問題,或者只有一些小問題。
3、後面還要進一步,記錄關於各種檢測調整命令。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9606200/viewspace-745661/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle RAC+ASM 關閉全過程OracleASM
- 資料庫叢集資料庫
- MySQL資料庫叢集MySql資料庫
- 通過memberlist庫實現gossip管理叢集以及叢集資料互動Go
- 【資料庫】Redis叢集篇資料庫Redis
- RAC叢集資料庫搭建資料庫
- WAS叢集安裝配置過程
- 大資料Spark叢集模式配置大資料Spark模式
- 核實 RAC 叢集/資料庫配置是否成功的方法資料庫
- Moebius資料庫多活叢集資料庫
- Spring&Quartz使用資料庫叢集配置(MySQL/SQLServer/Oracle)Springquartz資料庫MySqlServerOracle
- 歸檔模式下資料庫全恢復的過程模式資料庫
- 一次資料庫硬解析的分析全過程資料庫
- Nginx實現叢集的負載均衡配置過程詳解Nginx負載
- 4 管理資料庫例項和叢集資料庫資料庫
- 在K8S中,Worker節點加入叢集的全過程?K8S
- Java使用OkHttp庫完成圖形採集的全過程JavaHTTP
- oracle 11gR2 rac+asm 資料庫安裝配置步驟OracleASM資料庫
- oracle 10gR2 rac+asm 資料庫安裝配置步驟Oracle 10gASM資料庫
- [專業術語]資料庫叢集資料庫
- 時序資料庫的叢集方案?資料庫
- 叢集資料庫新增控制檔案資料庫
- 新增叢集資料庫服務service資料庫
- SequoiaDB資料庫之叢集管理資料庫
- redis資料庫叢集三種模式Redis資料庫模式
- 資料庫叢集技術漫談資料庫
- 儲存過程返回資料集儲存過程
- mysql通過kafka實現資料實時同步(三)——es叢集配置MySqlKafka
- Redis叢集 - cluster叢集、資料分片Redis
- 【資料庫】資料庫儲存過程(一)資料庫儲存過程
- Jstorm叢集搭建過程/Jstorm叢集一鍵安裝部署JSORM
- TDP for SQL安裝配置全過程SQL
- linux iSCSI target配置全過程Linux
- 修改叢集資料庫的歸檔模式資料庫模式
- 資料庫代理服務和叢集管理資料庫
- 資料庫恢復過程資料庫
- 資料庫啟動過程資料庫
- 資料庫儲存過程資料庫儲存過程