您好,登錄后才能下訂單哦!
RAC節點操作系統:Linux 6.4 x8664
Cluster software:Oracle Grid Infrastructure 11gr2(11.2.0.4)
Oracle Database software:Oracle11gr2(11.2.0.4)
共享存儲:ASM
節點名稱 Public IP Private IP Virtual IP SCAN 名稱 SCAN IP
注意:Oracle11g新增SCAN-IP,為VIP的一個池概念
以administrator用戶登錄虛擬化主機:
對主機右鍵點擊“新建虛擬機”
選擇自定義配置,下一步
給虛擬機命名 rac1,下一步
選擇虛擬機存放位置,下一步
選擇虛擬機文件存放位置(盡量放于共享存儲上,空間大且防止數據丟失),下一步
選擇高版本,下一步
選擇操作系統為Linux,版本為Red Hat Enterprise Linux 6(64位),下一步
配置CPU、內存,下一步
選擇網卡,配置兩塊網卡,一塊作為Public,另一塊作為Private,下一步
選擇SCSI驅動器類型:LSI Logic并行,下一步
選擇創建新磁盤,下一步
配置磁盤大小,下一步
上述三個選項的解釋:
選擇虛擬設備節點,默認為SCSI(0:0),選擇模式為非獨立,下一步
選擇在虛擬機創建之前編輯選項,繼續
編輯光驅設備,選擇ISO文件,完成
查看新建虛擬機配置
以相同方式創建另一個節點rac2。
新建虛擬機rac1,選擇自定義,下一步
選擇安裝操作系統ISO,下一步
命名虛擬機,選擇存放位置,下一步
配置內存大小,下一步
選擇網絡類型為橋接網絡,下一步
選擇I/O控制器類型為LSI Logic,下一步
選擇磁盤類型為SCSI,下一步
配置磁盤大小,并選擇將虛擬磁盤拆分多個文件,下一步
指定磁盤文件,下一步
以相同方式創建另一個節點rac2。
新建虛擬機rac1,命名虛擬機,選擇系統類型為Linux,版本為Red Hat (64bit),下一步
配置內存大小,下一步
創建虛擬硬盤,創建
選擇虛擬磁盤文件類型,下一步
選擇動態分配,下一步
選擇文件位置和大小,下一步
創建完成
設置虛擬機參數
選擇存儲,在右側屬性,點擊分配光驅右邊的 ,選擇安裝操作系統ISO文件
以相同方式創建另一個節點rac2。
系統安裝過程都是一致,因此不予詳述。本文只針對安裝過程中部分容易出錯的地方簡述
選擇基本存儲設備
提示是否丟棄所有的數據,yes,discard any data
選擇自定義分區,Create Custom Layout
進入分區界面
選擇標準分區模式,Standard Partition
分別創建虛擬內存(swap)、boot分區、/分區
分區結果
選擇確定格式化
選擇寫入磁盤
選擇默認即可
選擇系統模式,Software Development Workstation,Customize Later,其他默認
開始安裝系統
安裝后,提示重啟系統,并有一系列配置,其中啟動Kdump
根據提示,再次重啟系統,系統安裝完畢!
此步驟,需要虛擬機有兩塊網卡,分別為Public和Private網卡。
使用root用戶登錄虛擬機,右鍵,選擇Edit Connection
按以下步驟操作,分別配置兩塊網卡IP為上表對應項
所謂虛擬網卡,即執行 ifconfig命令列出的virbr0,如圖
執行以下命令來刪除該虛擬網卡
virsh net-list
virsh net-destroy default
virsh net-undefine default
service libvirtd restart
再次使用ifconfig命令查看,該虛擬網卡已不存在
1、物理機ping兩臺虛擬機rac1、rac2的Public IP
2、rac1節點 ping rac2節點的Public IP和Private IP
3、rac2節點 ping rac1節點的Public IP和Private IP
以上三步完全可以ping通即可。
關閉rac1節點,右鍵rac1節點選擇編輯設置,進入配置界面,點擊添加
選擇硬盤,下一步
創建新的虛擬磁盤
配置磁盤大小,選擇厚置備置零(集群專用),指定磁盤的存放位置,下一步
驅動器設備選擇SCSI 1:0,模式選擇獨立(集群必須選擇此項),下一步
在虛擬機屬性中,選擇剛添加的SCSI controller 1 驅動器,配置其為物理模式(用于支持共享),以保證rac1、rac2節點的共享訪問
重復執行上述步驟,添加另外兩塊磁盤,將其驅動器設備選擇為SCSI 1:1;SCSI 1:2。
添加3塊共享磁盤的rac1節點配置信息如下:
關閉rac2節點,右鍵rac2節點選擇編輯設置,進入配置界面,點擊添加
選擇硬盤,下一步
選擇已有虛擬磁盤,下一步
選擇指定的存儲設備,此處需要注意:選擇在rac1節點中創建的第一塊磁盤
驅動器設備選擇SCSI 1:0,模式選擇獨立,下一步
同rac1節點一樣,在rac2節點屬性中,選擇剛添加的SCSI controller 1驅動器,配置其為物理模式用于共享
重復執行以上步驟,添加剩余的2塊磁盤。注意,驅動器編號要依次選擇SCSI 1:1、SCSI 1:2。
添加3塊共享磁盤的rac2節點配置信息如下:
vmware-vdiskmanager.exe -c -s 5G -a lsilogic -t 2 "d:\Virtual Machines\RAC\shared"\asm1.vmdk
vmware-vdiskmanager.exe -c -s 5G -a lsilogic -t 2 "d:\Virtual Machines\RAC\shared"\asm2.vmdk
vmware-vdiskmanager.exe -c -s 20G -a lsilogic -t 2 "d:\Virtual Machines\RAC\shared"\asm3.vmdk
注意:-a 指定磁盤類型 –t 2表示直接劃分一個預分配空間的文件。
添加如下內容:
#shared disks configure
disk.EnableUUID = "TRUE"
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.maxUnsyncedWrites = "0"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsil.sharedBus = "VIRTUAL"
scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "D:\Virtual Machines\RAC\shared\asm1.vmdk"
scsi1:0.deviceType = "disk"
scsi1:0.redo = ""
scsi1:1.present = "TRUE"
scsi1:1.mode = "independent-persistent"
scsi1:1.fileName = "D:\Virtual Machines\RAC\shared\asm2.vmdk"
scsi1:1.deviceType = "disk"
scsi1:1.redo = ""
scsi1:2.present = "TRUE"
scsi1:2.mode = "independent-persistent"
scsi1:2.fileName = "D:\Virtual Machines\RAC\shared\asm3.vmdk"
scsi1:2.deviceType = "disk"
scsi1:2.redo = ""
注意:
1、 此處添加了3塊共享盤,因此添加3段內容scsi1:0,scsi1:1,scsi1:2,也即要增加幾塊盤,就要增加相應段數的內容
2、 scsi 1:.fileName=后面的內容要與你在物理主機使用vmware-vdiskmanager.exe創建的磁盤存儲位置一致
3、 重啟兩節點,查看虛擬機配置,確認共享磁盤文件加載成功(不重啟系統可能不能識別出磁盤)
方法1:
rac1節點的配置也中,選擇存儲,選擇"SATA 控制器",然單擊"添加硬盤"圖標
創建新的磁盤,create new disk
選擇默認VDI磁盤模式
選擇固定大小(共享磁盤必須選擇此選項),下一步
配置共享磁盤存儲路徑及大小
新建的磁盤,已經連接到rac1虛擬機
選擇此新磁盤。
單擊"修改(modify)"圖標并選擇"Shareable"
重復以上步驟,創建另外2塊磁盤。
最后,增加磁盤后的配置信息
方法2:
1、在物理主機命令行中執行以下語句,創建磁盤
VBoxManage.exe createhd -filename asm1.vdi -size 5120 -format VDI -variant Fixed
VBoxManage.exe createhd -filename asm2.vdi -size 5120 -format VDI -variant Fixed
VBoxManage.exe createhd -filename asm3.vdi -size 204800 -format VDI -variant Fixed
2、連接rac1虛擬機
VBoxManage.exe storageattach rac1 --storagectl "SATA 控制器" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
VBoxManage.exe storageattach rac1 --storagectl "SATA 控制器" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
VBoxManage.exe storageattach rac1 --storagectl "SATA 控制器" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
3、設置磁盤共享
VBoxManage.exe modifyhd asm1.vdi --type shareable
VBoxManage.exe modifyhd asm2.vdi --type shareable
VBoxManage.exe modifyhd asm3.vdi --type shareable
4、查看rac1配置信息
rac2節點只需配置磁盤驅動器與虛擬機的連接即可,如下:
VBoxManage.exe storageattach rac2 --storagectl "SATA 控制器" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
VBoxManage.exe storageattach rac2 --storagectl "SATA 控制器" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
VBoxManage.exe storageattach rac2 --storagectl "SATA 控制器" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
fdisk –l
三個分區作用解釋:
fdisk /dev/sdb --作為ocr和voting disk存放文件
fdisk /dev/sdc --存放快速恢復區文件
fdisk /dev/sdd --存放數據庫文件
fdisk /dev/sdb[c|d]
依次n → p → 1 → Enter → Enter → w,實現分區
fdisk –l --再次查看并在rac2節點查看,確保與rac1完全一致
分區完畢,不要對新加磁盤進行格式化,保持裸設備。
使用udev管理配置磁盤方式
rpm -qa|grep udev --查看是否安裝udev
執行以下命令,獲取scsi id信息
scsiid -g -u -d /dev/sdb [c|d]
36000c292f99f2349911c3766f3cc53d7
36000c293f4c9f2c1fdd38a63e5861ad3
36000c2994d5eda8fbefc5922b14ab651
編輯udev配置文件,添加rules文件(/etc/udev/rules.d/)并授權添加以下參數。
方法1:
vi /etc/udev/rules.d/99-x-asmdisk.rules
KERNEL=="sdb1", BUS=="scsi", PROGRAM="scsiid -g -u -d /dev/$parent",RESULT=="36000c292f99f2349911c3766f3cc53d7", NAME="asmdiskOCR", OWNER:="grid", GROUP:="dba",MODE="0660"
KERNEL=="sdc1", BUS=="scsi", PROGRAM="scsiid -g -u -d /dev/$parent",RESULT=="36000c293f4c9f2c1fdd38a63e5861ad3", NAME="asmdiskDATA", OWNER:="grid", GROUP:="dba",MODE="0660"
KERNEL=="sdd1", BUS=="scsi", PROGRAM="scsiid -g -u -d /dev/$parent",RESULT=="36000c2994d5eda8fbefc5922b14ab651", NAME="asmdiskFRA", OWNER:="grid", GROUP:="dba",MODE="0660"
注意:
1、 一行為一條規則
2、 , 與下一個關鍵詞要有空格
3、 GROUP:=后面不確定值,dba與asmadmin都可以
啟動udev
startudev
ls /dev/asmdisk
方法2:
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
直接在命令行下輸入并執行以下循環
for i in b c d;
do
echo "KERNEL==\"sd\", BUS==\"scsi\", PROGRAM==\"/sbin/scsiid --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"/sbin/scsiid --whitelisted --replace-whitespace --device=/dev/sd$i
\", NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevives.rules
done
注意:此處的b、c、d是sdb、sdc、sdd去掉sd
啟動udev
startudev
ls /dev/asm
groupadd -g 601 oinstall
groupadd -g 602 dba
groupadd -g 603 oper
groupadd -g 604 asmadmin
groupadd -g 605 asmdba
groupadd -g 606 asmoper
useradd -u 601 -g oinstall -G asmadmin,asmdba,asmoper grid
useradd -u 602 -g oinstall -G dba,oper,asmdba oracle
passwd grid
passwd oracle
vi /etc/hosts --加入以下內容
#public:
192.168.2.231 rac1
192.168.2.232 rac2
#vip:
192.168.2.233 rac1-vip
192.168.2.234 rac2-vip
#priv
1.1.6.231 rac1-priv
1.1.6.232 rac2-priv
#SCAN
192.168.2.235 rac-scan
vi /etc/sysctl.conf --加入以下內容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.iplocalportrange = 9000 65500
net.core.rmemdefault = 262144
net.core.rmemmax = 4194304
net.core.wmemdefault = 262144
net.core.wmemmax = 1048576
sysctl –p --使以上設置生效
vi /etc/security/limits.conf --加入以下內容
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
vi /etc/pam.d/login --加入以下內容
session required pamlimits.so
mkdir -p /u01/app/oraInventory
chown -R grid.oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir -p /u01/app/grid
mkdir -p /u01/app/grid/crs
mkdir -p /u01/app/grid/11.2.0
chown -R grid.oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db1
chown -R oracle.oinstall /u01/app/oracle/product/11.2.0/db1
chmod -R 775 /u01/app/oracle/product/11.2.0/db1
binutils
compat-libstdc++-33
elfutils-libelf
elfutils-libelf-devel
gcc gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
ksh
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
numactl-devel
sysstat
unixODBC
unixODBC-devel
方法1:
拷貝系統光盤內容到本地目錄
mkdir /yum/
cp /media/ /yum/
刪除/etc/yum.repos.d/下內容并創建yum.repo
vi /etc/yum.repos.d/yum.repo
[yum]
name=yum
baseurl=file:///yum/
enabled=1
方法2:
rpm –ivh –nodeps –force rpm
Su – grid --切換到grid用戶,修改環境變量
Vi .bashprofile --刪除重復內容,加入以下內容
export ORACLEHOSTNAME=rac1(rac2)
export ORACLEUNQNAME=rac
export ORACLEBASE=/u01/app/grid/crs
export ORACLEHOME=/u01/app/grid/11.2.0
export ORACLESID=+ASM1(+ASM2)
export ORACLETERM=xterm
export PATH=$ORACLEHOME/bin:/usr/sbin:$PATH
export LDLIBRARYPATH=$ORACLEHOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLEHOME/JRE:$ORACLEHOME/jlib:$ORACLEHOME/rdbms/jlib
export TMP=/tmp
export TMPDIR=$TMP
Su – oracle --切換到oracle用戶,修改環境變量
Vi .bashprofile --刪除重復內容,加入以下內容
export ORACLEHOSTNAME=rac1(rac2)
export ORACLEUNQNAME=rac
export ORACLEBASE=/u01/app/oracle
export ORACLEHOME=$ORACLEBASE/product/11.2.0/db1
export ORACLESID=rac1(rac2)
export ORACLETERM=xterm
export PATH=$ORACLEHOME/bin:/usr/sbin:$PATH
export LDLIBRARYPATH=$ORACLEHOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLEHOME/JRE:$ORACLEHOME/jlib:$ORACLEHOME/rdbms/jlib
export TMP=/tmp
export TMPDIR=$TMP
1、立即生效
setenforce 0 --立即關閉SELinux
getenforce --查看SELinux狀態
2、永久生效
vi /etc/selinux/config --關閉selinux
替換SELinux=enforcing為SELinux=disabled
service iptables save
service iptables stop --關閉iptables
chkconfig iptables off --設置iptables不隨系統啟動
chkconfig --list iptables --查看防火墻狀態列表
ssh等效性操作過程一樣,因此只需切換到相應用戶執行即可
su – grid --兩節點
cd /home/grid
rm -rf ~/.ssh
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
配置同步
rac1節點
cat ~/.ssh/idrsa.pub >> ~/.ssh/authorizedkeys
cat ~/.ssh/iddsa.pub >> ~/.ssh/authorizedkeys
scp ~/.ssh/authorizedkeys rac2:~/.ssh/authorizedkeys
rac2節點
cat ~/.ssh/idrsa.pub >> ~/.ssh/authorizedkeys
cat ~/.ssh/iddsa.pub >> ~/.ssh/authorizedkeys
scp ~/.ssh/authorizedkeys rac1:~/.ssh/authorizedkeys
檢測連通性 --兩節點
ssh racdb1 date
ssh racdb2 date
ssh racdb1-priv date
ssh racdb2-priv date
注意:第一次詢問是否要連接,輸入yes即可。
vi /etc/ntp.conf --主節點rac1加入以下內容
Server 127.127.1.0
Fudge 127.127.1.0 stratum 11
Broadcastdelay 0.008
vi /etc/ntp.conf --其他節點rac2加入以下內容
Server 192.168.2.231 prefer
Driftfile /var/lib/ntp/drift
Broadcastdelay 0.008
vi /etc/sysconfig/ntpd --配置NTP服務
SYNCHWCLOCK=yes
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
/etc/init.d/ntpd restart --啟動NTP服務
chkconfig ntpd on --設置NTP服務隨系統啟動
netstat -an |grep 123 --確保該端口以udp方式開放
ntpstat --查看NTP服務狀態
11G R2 默認有自己的時間同步機制,沒有NTP也是可以的。有NTP的話ctss應該一直運行觀察模式的。使用集群時間同步服務在集群中提供同步服務,需要卸載網絡時間協議 (NTP) 及其配置。
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.original --有/etc/ntp.conf這個文件,ctss是不會啟用的
rm /var/run/ntpd.pid --此文件保存NTP后臺程序的pid
本操作需要兩節點分別執行!!
上傳安裝文件,本次安裝的是Oracle 11.2.0.4版本,共3個安裝包,其中1、2是database包,3是grid包。
分別解壓3個包,解壓后產生兩個目錄/setup/database、/setup/grid
注意:rac2節點只上傳grid包,解壓即可。
在兩個rac節點上安裝操作系統程序包cvuqdisk(安裝包在/setup/grid/下)。如果沒有cvuqdisk,集群驗證實用程序就無法發現共享磁盤(/dev/asm),且在安裝后期會收到”Package cvuqdisk not installed”的錯誤。
root用戶下安裝cvuqdisk-1.0.9-1.rpm包
export CVUQDISKGRP=oinstall
cd /setup/grid/rpm
rpm –ivh cvuqdisk-1.0.9-1.rpm
su – grid --切換到grid用戶
cd /setup/grid
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose > 1.log --輸入1.log,方便查看
如有報錯,則執行下面命令后再次執行此命令
/tmp/CVU11.2.0.1.0grid/runfixup.sh
rm -rf /tmp/bootstrap
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
注意:以上命令執行結果中,提示網絡問題、時間同步、DNS問題可忽略!!!
./runcluvfy.sh stage –post hwos –n rac1,rac2 –verbose
注意:
1、 兩條CVU檢查命令的結果均為passed才能繼續安裝(網絡、時間、DNS問題可忽略)。
2、 此時要保證兩節點4個IP(Public、Private)可以互相ping通
本操作只需在一個節點分別執行!!
圖形界面安裝需要在root用戶執行如下命令
xhost +
出現如上輸出,即可繼續進行圖形安裝。
?
su – grid
cd /setup/grid
./runInstaller
跳過更新
選擇安裝選項
選擇高級安裝(方便設置參數)
Cluster Name可以隨意命名;SCAN Name需要與/etc/hosts中配置一致;端口默認1521。不配置GNS
添加節點2信息
網絡信息
采用ASM存儲管理
配置ocr及voting disk存儲磁盤組,此處為磁盤組名為CRS
更改發現路徑/dev/asm,以找到共享磁盤
選擇規劃好的磁盤加入CRS組
設置ASM管理密碼(為了方便采用統一設置密碼)
密碼不符合oracle規則警告,選擇yes繼續
不適用IPMI
選擇grid軟件ORACLEBASE及ORACLEHOME(事先配置了.bashprofile,這里會自動找到路徑)
選擇oraInventory目錄(該目錄主要存放安裝日志等)
安裝預檢。
如果兩節點ll /dev/asm,可以查看到一致內容,則Device Checks for ASM警告可以忽略;
如果使用Linux系統NTP服務,則出現Network Time Protocol警告(使用ctss則不會報警)
可能還會有一些關于DNS、網絡的警告,忽略即可
略過警告提醒,選擇yes繼續
安裝概覽
安裝
提示以root用戶分別在兩節點執行root.sh腳本。注意最后的提示,需要在安裝節點先執行root.sh完畢后,再在其他節點執行(此時可以并行執行)!!!
rac1節點執行完畢
接下來在其他節點執行root.sh
INS-20802是監聽錯誤。其原因是/etc/hosts中配置了SCAN的地址,此步如果可以ping通SCAN-IP,那么忽略此錯誤即可。點擊OK繼續,安裝grid完成。
su – grid
檢查CRS狀態
crsctl check crs
檢查Cluster資源
crsstat –t
檢查CRS節點信息
olsnodes –n
檢查兩節點Oracle TNS監聽進程
ps -ef|grep lsnr |grep -v 'grep'|grep -v 'ocfs'|awk '{print$9}'
確認針對Oracle Cluster文件的Oracle ASM功能:
su – grid
srvctl status asm –a
grid用戶下,執行asmca,添加物理盤到ASM磁盤組
?
創建Oracle數據存放盤
?
配置oracle數據盤完成
重復以上操作,創建閃回盤。
最后配置結果:
?
本操作只需在一個節點分別執行!!
圖形界面安裝需要在root用戶執行如下命令
xhost +
出現如上輸出,即可繼續進行圖形安裝。
su – oracle
cd /setup/database
./runInstaller
不接收Oracle安全更新
安全更新郵箱警告,選擇yes繼續
跳過更新
選擇僅安裝數據庫軟件(Install database software only)
選擇全部節點并測試SSH連通性
連通性測試成功
選擇語言
選擇企業版
選擇ORACLEBASE及ORACLEHOME
Oracle管理組
安裝預檢。出現SCAN警告,其原因是SCAN-IP最多可以配置3個地址并對應域名,此處未使用DNS Name且只配置了一個IP,因此報錯,但不會影響系統使用,可以忽略!
忽略SCAN-IP警告,選擇yes繼續
安裝概覽
安裝
root用戶執行root.sh腳本。此處可以在所有節點并行執行(與grid安裝最后不同),不過建議依次執行。
安裝完成
此時oracle用戶檢查監聽程序是否存在
su – oracle
lsnrctl status
監聽檢查完畢,執行以下命令開始創建數據庫
dbca
創建數據庫
選擇安裝模板(General Purpose or Transaction Processing)
選擇Admin-Managed,填入Global Database Name(.bashprofile中配置的ORACLEUNQNAME)并選擇所有節點
選擇OEM
設置管理密碼(為方便使用統一密碼)
選擇數據庫文件存儲區
輸入ASM磁盤組管理密碼,OK繼續
選擇閃回區ASM磁盤組,按需啟用歸檔
配置Database的內存,啟用自動內存管理
更改字符集(由于在中國需要支持漢字,因此選擇ZHS16GBK)
數據庫存儲概覽
是否創建Oracle安裝腳本(Generate Database Creation Scripts)
創建數據庫概覽
創建Oracle安裝腳本
創建數據庫
創建數據庫完畢,OK
Oracle Clusterware的命令集可以分為以下4種:
節點層:osnodes
網絡層:oifcfg
集群層:crsctl, ocrcheck,ocrdump,ocrconfig
應用層:srvctl,onsctl,crsstat
注意:CRS維護需要使用grid用戶(root用戶需要在grid ORACLEHOME/bin目錄下執行),建議在grid用戶下維護
olsnodes –n –i –s
oifcfg iflist
oifcfg getif
crsctl check crs
crsctl check cssd[crsd|evmd]
crsctl disable|enable crs
crsctl start|stop crs
crsctl query css votedisk
以圖新方式安裝Clusterware的過程中,在配置Votedisk時,如果選擇External Redundancy策略。則只能填寫一個Votedisk。但是即使使用External Redundancy作為冗余策略,也可以添加多個Vodedisk,只是必須通過crsctl 命令來添加,添加多個Votedisk后,這些Votedisk 互為鏡像,可以防止Votedisk的單點故障。
需要注意的是,Votedisk使用的是一種“多數可用算法”,如果有多個Votedisk,則必須一半以上的Votedisk同時使用,Clusterware才能正常使用。 比如配置了4個Votedisk,壞一個Votedisk,集群可以正常工作,如果壞了2個,則不能滿足半數以上,集群會立即宕掉,所有節點立即重啟,所以如果添加Votedisk,盡量不要只添加一個,而應該添加2個。這點和OCR 不一樣。OCR 只需配置一個。
添加和刪除Votedisk的操作比較危險,必須停止數據庫,停止ASM,停止CRS Stack后操作,并且操作時必須使用-force參數。
以下操作均應使用root用戶執行
1) 查看當前配置
./crsctl query css votedisk
2) 停止所有節點的CRS:
./crsctl stop crs
3) 添加Votedisk
./crsctl add css votedisk /dev/raw/raw1 –force
注意:即使在CRS 關閉后,也必須通過-force 參數來添加和刪除Votedisk,并且-force 參數只有在CRS關閉的場合下使用才安全。 否則會報:Cluter is not a ready state for online disk addition.
4) 確認添加后的情況:
./crsctl query css votedisk
5) 啟動CRS
./crsctl start crs
ocrcheck
1 查看OCR自動備份
ocrconfig –showbackup
2 使用導出、導入進行備份、恢復模擬案例(root用戶)
Oracle 推薦在對集群做調整時,比如增加,刪除節點之前,應該對OCR做一個備份,可以使用export 備份到指定文件,如果做了replace或者restore 等操作,Oracle 建議使用cluvfy comp ocr -n all 命令來做一次全面的檢查。該命令在clusterware 的安裝軟件里。
1)首先關閉所有節點的CRS
./crsctl stop crs
2)用root 用戶導出OCR內容
./ocrconfig -export /u01/ocr.exp
3)重啟CRS
./crsctl start crs
4)檢查CRS 狀態
./crsctl check crs
5)破壞OCR內容
dd if=/dev/zero of=/dev/raw/raw1 bs=1024 count=102400
6)檢查OCR一致性
./ocrcheck
7)使用cluvfy 工具檢查一致性
./runcluvfy.sh comp ocr -n all
8)使用Import 恢復OCR 內容
./ocrconfig -import /u01/ocr.exp
9)再次檢查OCR
./ocrcheck
10)使用cluvfy工具檢查
./runcluvfy.sh comp ocr -n all
3 移動OCR 文件位置模擬案例(root用戶)
將OCR從/dev/raw/raw1 移動到/dev/raw/raw3上。
1)查看是否有OCR備份
./ocrconfig -showbackup
如果沒有備份,可以立即執行一次導出作為備份:
./ocrconfig -export /u01/ocrbackup -s online
2)查看當前OCR配置
./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 147352
Used space (kbytes) : 4364
Available space (kbytes) : 142988
ID : 610419116
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
輸出顯示當前只有一個Primary OCR,在/dev/raw/raw1,沒有Mirror OCR。 因為現在只有一個OCR文件,所以不能直接改變這個OCR的位置,必須先添加鏡像后在修改,否則會報:Failed to initialize ocrconfig.
3)添加一個Mirror OCR
./ocrconfig -replace ocrmirror /dev/raw/raw4
4)確認添加成功
./ocrcheck
5)改變primary OCR 位置
./ocrconfig -replace ocr /dev/raw/raw3
確認修改成功:
./ocrcheck
6)使用ocrconfig命令修改后,所有RAC節點上的/etc/oracle/ocr.loc 文件內容也會自動同步了,如果沒有自動同步,可以手工的改成以下內容。
more /etc/oracle/ocr.loc
ocrconfigloc=/dev/raw/raw1
Ocrmirrorconfigloc=/dev/raw/raw3
localonly=FALSE
crsstat -t –v
crsstat crsstat ora.scan1.vip --查看ora.scan1.vip狀態
crsstat –ls --查看每個資源的權限定義,權限定義格式和Linux 一樣
onsctl命令用于管理配置ONS(Oracle Notification Service). ONS 是Oracle Clusterware 實現FAN Event Push模型的基礎。
在傳統模型中,客戶端需要定期檢查服務器來判斷服務端狀態,本質上是一個pull模型,Oracle 10g 引入了一個全新的PUSH 機制--FAN(Fast Application Notification),當服務端發生某些事件時,服務器會主動的通知客戶端這種變化,這樣客戶端就能盡早得知服務端的變化。 而引入這種機制就是依賴ONS實現, 在使用onsctl命令之前,需要先配置ONS服務。
查看ONS服務狀態
onsctl ping
啟動ONS
onsctl start
查看ONS的詳細信息
onsctl debug
srvctl可以操作下面的幾種資源:Database,Instance,ASM,Service,Listener 和Node Application,其中Node application又包括GSD,ONS,VIP。
查看數據庫配置
srvctl config database --顯示數據庫名
srvctl config database –d rac --顯示指定rac數據庫的詳細信息
查看各節點資源信息
srvctl config nodeapps
srvctl config nodeapps -n rac1 –a -g
查看監聽信息
srvctl config listener
srvctl config listener –n rac1
配置數據庫是否啟動
srvctl enable|disable database -d rac
srvctl enable|disable database -d rac –i rac1
啟動數據庫
srvctl start database -d rac
啟動實例
srvctl start instance -d raw
參考:http://www.cnblogs.com/rootq/archive/2012/11/14/2769421.html
cvu:負責oracle健康檢查的進程
ons:負責不同的節點間的通信,集群同步。
gsd:負責服務資源的分配,只用于9i RAC,但為了向后兼容才保留的,不影響性能。建議不作處理。
oc4j:是用于DBWLM(Database Workload Management (DBWLM))的一個資源, WLM在 11.2.0.2 才可用。不作處理即可。
acfs (ASM Cluster File System) :基于ASM的集群文件系統,11.2后增加功能。支持更廣泛的存儲文件類型。ora.acfs表示該服務的支持與否。
OCR 負責維護整個集群的配置信息,包括RAC以及Clusterware資源.為了解決集群 的“健忘”問題,整個集群會有一份配置OCR,最多兩分OCR,一個primary OCR和一個mirror OCR互為鏡像,以防OCR的單點故障。
Voting Disk里面記錄著節點成員的信息,必須存放在共享存儲上,Voting Disk主要為了在出現腦裂時,決定那個Partion獲得控制權,其他的Partion必須從集群中剔除。4個Votedisk,壞一個Votedisk,集群可以正常工作,如果壞了2個,則不能滿足半數以上,集群會立即宕掉,所有節點立即重啟
Policy-Managed方式介紹
基于策略的管理方式,是以服務器池(Server Pools)為基礎的,簡單地說,就是先定義一些服務器池,池中包含一定量的服務器,然后再定義一些策略,根據這些策略Oracle會自動決定讓多少數據 庫實例運行在池中的幾臺機器上。數據庫實例名后綴、數據庫實例個數、所運行的主機,這些都是通過策略決定的,而不是數據庫管理員事先定好的。
何種環境適合使用這種新的方式進行管理?當管理大量的服務器集群,并且在這些集群中運行著多種不同重要程度,不同策略的RAC數據庫時,為了簡化管理,建議使用Policy- Managed方式,實際上Oracle也建議只有在超過3臺的服務器的時候才使用Policy-Managed來管理整個數據庫集群。想象一下使用 Policy-Managed方式可以達到的效果:如果我們有10臺服務器組成,根據不同的應用的重要性定義服務器池的關鍵程度,然后在其中某些機器意外 停機的情況下,仍然可以自動地保持足夠多的機器給重要的系統提供數據庫服務,而將不關鍵的系統數據庫服務器個數降低到最低限度。
策略管理:DBA指定數據庫資源運行在哪個服務器池(排除generic or free)。Oracle Clusterware負責將數據庫資源放在一臺服務器。
Admin-Managed方式介紹
實際上上面的表述已經明確說明了,Policy-Managed和Admin-Managed方式的差別。讓我們再回顧一下,在以往我們創建一個RAC數 據庫大概是怎樣的方法,我們在dbca的界面中會選擇要將數據庫實例運行在整個集群中的幾臺機器上,或者是2臺或者是3臺,甚或是更多,但是只要在安裝的 時候選定幾臺機器,那么以后如果不做增減節點的操作,就始終會在這幾臺機器上運行。而且,通常會根據主機名稱的排序自動將每臺主機上的數據庫實例依次命名 為dbname1到dbnameN。這些在管理員安裝完畢以后,都不會再自動變化,這就是Admin-Managed方式。
管理員管理:DBA指定數據庫資源運行的所有服務器,并且按需手動放置資源。這是之前版本Oracle數據庫使用的管理策略。
參考:http://czmmiao.iteye.com/blog/2128771
RAC 中SCAN 的配置有三種方式:
? /etc/hosts --常用方式
? DNS
? GNS --DHCP+DNS
參考:http://blog.csdn.net/tianlesoftware/article/details/42970129
http://download.csdn.net/detail/renfengjun/4488454
智能平臺管理接口,IPMI是一種規范的標準,其中最重要的物理部件就是BMC(Baseboard Management Controller),它是一種嵌入式管理微控制器,相當于整個平臺管理的“大腦”。通過它IPMI可以監控各個傳感器的數據并記錄各種事件的日志。在Grid Infrastructure安裝期間配置,但一般情況下不配置此選項。
系統默認字符集與安裝軟件字符集不同
解決: export LANG=enus
解決: export DISPLAY=:0 --root用戶下
xhost +
su - grid
export DISPLAY=0:0
解決: ①vi /etc/udev/rules.d/70-persistent-net.rules
②vi /etc/sysconfig/network-scripts/ifcfg-eth0|1
將①中eth0、eth2名稱及MAC地址修改為②中對應內容,重啟網絡即可
warning: rpmtsHdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
updates/gpgkey
Public key for .rpm is not installed
解決: rpm --import /etc/pki/rpm-gpg/RPM
參考:http://blog.sina.com.cn/s/blog6e2aeba30100pshi.html
RHEL4.7↑ 5.2↑
SUSE 10 SP2↑
方法1:60-raw.rules --裸設備
vi /etc/udev/rules.d/60-raw.rules
ACTION=="add",KERNEL=="sdb",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add",KERNEL=="raw1", OWNER="grid", GROUP="asmadmin",MODE="660"
ACTION=="add",KERNEL=="sdc",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add",KERNEL=="raw2", OWNER="grid", GROUP="asmadmin",MODE="660"
ls -l /dev/raw/raw
brw-rw----1 grid asmadmin 8, 96 Jun 29 21:56 /dev/raw1
brw-rw----1 grid asmadmin 8, 64 Jun 29 21:56 /dev/raw2
方法2:99-oracle-asmdevices.rules --ASM
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb",NAME="asmdiskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sdc",NAME="asmdiskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
udevadm control --reload-rules
startudev
Starting udev:[ OK ]
ll /dev/asm
brw-rw----. 1 gridasmadmin 8, 16 Dec 16 15:52 /dev/asmdiskb
brw-rw----. 1 gridasmadmin 8, 32 Dec 16 15:52 /dev/asmdiskc
參考:http://www.cnblogs.com/jimeper/archive/2012/12/09/2809724.html
1、安裝grid,執行root.sh時報錯:
錯誤:這是一個Oracle11.2.0.3(不含)之前版本的bug
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start at /u01/app/grid/11.2.0/crs/install/rootcrs.pl line 443.
解決: 開兩個root用戶窗口
窗口1:
$ORACLEHOME/root.sh --出現Adding daemon to inittab時,開始在窗口2執行dd
窗口2:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
注意:這個問題會存在到以后的重新啟動,即每次啟動都需要操作此步驟!!!
重啟操作步驟(兩節點):
開兩個root用戶窗口
窗口1:
$ORACLEHOME/crs/install/roothas.pl --清除CRS配置,出現以下結果后繼續執行root.sh
Either /etc/oracle/olr.loc does not exist or is not readable
Make sure the file exists and it has read and execute access
/bin/dd: opening `': No such file or directory
Successfully deconfigured Oracle Restart stack
$ORACLEHOME/root.sh --出現Adding daemon to inittab時,開始在窗口2執行dd
窗口2:
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1 --直到不返回錯誤
任意窗口:
su – grid
crsstart –all --啟動集群
2、netca報錯:
錯誤:
line 190: 16835 Aborted
解決: vi /etc/hosts
IP hostname**
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。