通過ORACLE VM virtualbox環境安裝oracle 11G RAC(ASM)
一、環境準備
作業系統CENTOS7.5
資料庫ORACLE11.2.0.4
虛擬機器ORACLE VM virtualbox6.0
1、新建2臺虛擬機器
虛擬機器配置,記憶體4G(最好是給4G,不然會後悔的,後悔的截圖在最後一行),CPU1核,本地磁碟50G,共享磁碟需要詳細的寫一下,如下所述:
RAC1:
建立新虛擬盤
1節點建立好2個固定磁碟
進入 (ORACLE VM)虛擬介質管理介面
將剛剛建立的2塊磁碟設定為共享屬性,應用
2節點直接使用剛剛建立的兩塊現有共享磁碟
每臺虛擬機器一共3塊網路卡,其中2塊hostonly,1塊橋接
2塊hostonly的網段也要區分開
不同網段可以在(ORACLE VM)主機網路管理那裡配置新增
IP地址和網路卡配置自己搞定吧,太簡單不寫了
1 、host檔案配置
#vi /etc/hosts
10.18.96.211 testdb1
10.18.96.212 testdb2
10.18.96.213 testdb1-vip
10.18.96.214 testdb2-vip
10.18.97.215 testdb1-pri
10.18.97.216 testdb2-pri
10.18.96.220 testdb-scan
( hosts 檔案的 IP 對應名稱最好只寫一個,不要多餘的)
以下很重要,不修改會在安裝grid的時候會報錯
節點1
vi /etc/hostname
testdb1
臨時修改hostname
hostname testdb1
節點2
vi /etc/hostname
testdb2
臨時修改hostname
hostname testdb2
2 、安裝ORACLE11G所需環境包
yum -y install compat-libstdc++-33 elfutils-libelf-devel gcc gcc-c++ glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel libcap.so.1
我用本地YUM源
3 、 引數配置
vi /etc/sysctl.conf
生產庫的配置:最後一行新增,重複的去掉
kernel.shmall = 4294967295
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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
kernel.shmmax = 4294967295
這裡
hugepage不配置了
使引數立即生效
sysctl -p
vi /etc/security/limits.conf
生產庫的配置:最後一行新增,重複的去掉
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
vi /etc/pam.d/login
session required pam_limits.so
4 、關閉防火牆
如果不關閉防火牆,在後面配置叢集的時候會遇到麻煩的
service iptables stop
chkconfig iptables off
setenforce 0
getenforce
iptables -F
vi /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
5 、禁用NTP服務(可忽略)
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.bak
rm -rf /etc/ntp.conf
6 、使用者及使用者組,許可權目錄建立
/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 503 oper
/usr/sbin/groupadd -g 504 asmadmin
/usr/sbin/groupadd -g 505 asmoper
/usr/sbin/groupadd -g 506 asmdba
/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle
/usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
passwd oracle
passwd grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
7 、oracle及grid環境變數配置
以 oracle 使用者登入(兩個節點一樣)
節點一
vi .bash_profile
export PATH
umask 022
export ORACLE_BASE=/ u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=testdb1
export LANG=en_US.UTF-8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
oracle使用者,節點二
vi .bash_profile
export PATH
umask 022
export ORACLE_BASE=/ u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=testdb2
export LANG=en_US.UTF-8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
以 grid 使用者登入
節點一:
vi .bash_profile
ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/ u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/ u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/ u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/ u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export LANG=en_US.UTF-8
alias sqlplus="rlwrap sqlplus"
umask 022
節點二:
vi .bash_profile
ORACLE_SID=+ASM2; export ORACLE_SID
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORACLE_BASE=/ u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/ u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/ u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm;export ORACLE_TERM
NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS";export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/ u01/app/common/oracle/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
export LANG=en_US.UTF-8
alias sqlplus="rlwrap sqlplus"
umask 022
8 、ssh密匙互信配置
設定互信關係,這裡記住oracle和grid使用者都要設定互信,root也互信,且在測試的時候,2個節點都要進行測試
兩個節點上分別操作
su - oracle
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
以下操作在一個節點上執行即可
cat ~/.ssh/id_rsa.pub>>./.ssh/authorized_keys -公鑰存在authorized_keys檔案中,寫到本機
cat ~/.ssh/id_dsa.pub>>./.ssh/authorized_keys
ssh testdb2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -第二個節點的公鑰寫到本機
ssh testdb2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys testdb2:~/.ssh/authorized_keys
兩個節點上分別驗證
ssh testdb1 date
ssh testdb2 date
ssh testdb1-PRI date
ssh testdb2-PRI date
兩個節點上分別操作
su - grid
mkdir ~/.ssh
ssh-keygen -t rsa
ssh-keygen -t dsa
以下操作在一個節點上執行即可
cat ~/.ssh/id_rsa.pub>>./.ssh/authorized_keys -公鑰存在authorized_keys檔案中,寫到本機
cat ~/.ssh/id_dsa.pub>>./.ssh/authorized_keys
ssh testdb2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys -第二個節點的公鑰寫到本機
ssh testdb2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys testdb2:~/.ssh/authorized_keys
兩個節點上分別驗證
ssh testdb1 date
ssh testdb2 date
ssh testdb1-PRI date
ssh testdb2-PRI date
二、ASM磁碟配置
1 、編輯 /etc/scsi_id.config 檔案
vi /etc/scsi_id.configo
options=-g
2 、給磁碟分割槽,並檢視磁碟的 uuid (磁碟分割槽只在一個節點執行即可)
fdisk /dev/sda
n
p
1
預設回車
預設回車
w
fidk /dev/sdb
n
p
1
預設回車
預設回車
w
檢視UUID
/usr/lib/udev/scsi_id -g -u -d /dev/sda1
/usr/lib/udev/scsi_id -g -u -d /dev/sdb1
當然磁碟是哪個磁碟,這個要你們自己掛載的時候自己整好,lsblk檢視磁碟
3 、編輯繫結檔案,使用如下規則(這個配置在2個節點都寫)
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="3628408eff0495d08ef004912d7d6b386", RUN+="/bin/sh -c 'mknod /dev/asmocrdisk b $major $minor; chown grid:asmadmin /dev/asmocrdisk; chmod 0660 /dev/asmocrdisk'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="361c104516049770bef80026911671d80", RUN+="/bin/sh -c 'mknod /dev/asmdatadisk1 b $major $minor; chown grid:asmadmin /dev/asmdatadisk1; chmod 0660 /dev/asmdatadisk1'"
4 、開始繫結
測試
/sbin/partprobe /dev/sda1
/sbin/udevadm test /block/sda/sda1
/sbin/partprobe /dev/sdb1
/sbin/udevadm test /block/sdb/sdb1
進行繫結命令:
/sbin/udevadm control --reload-rules
5 、繫結完成,可以使用命了 ls -l /dev/asm* 進行檢視
lrwxrwxrwx. 1 root root 4 6月 6 16:14 /dev/asm-datadisk1 -> sdb1
lrwxrwxrwx. 1 root root 4 6月 6 16:05 /dev/asm-ocrdisk -> sda1
注意:這個時候可能你會發現ll /dev/asm* 下面啥都木有
這個就要記得,把防火牆關閉了,setenforce 0 iptables -F
然後改那個/etc/selinux/config 永久關閉,vi /dev/udev/rules.d/ 99-oracle-asmdevices.rules 一樣的配置
再登陸2節點,lsblk發現為啥沒有/dev/sda1 和/dev/sdb1,直接fdisk /dev/sda 和fdisk /dev/sdb然後直接q退出,不用操作
再次lsblk,就發現,ll /dev/asm* 有對映了。
然後回到1節點,ll /dev/asm*發現還是沒有對映,那就和2節點一樣的操作,fdisk /dev/sda 和fdisk /dev/sdb然後直接q退出,不用操作。再次lsblk,就發現,ll /dev/asm*有對映了。
如果ll /dev/asm* 還是看不到,那就直接reboot重啟作業系統應該就能看到了。
磁碟不同,那些命令路徑也有不同,自己看著來
三、GRID/ASM安裝
1 )使用 oracle 使用者解壓安裝包
2 )使用 grid 使用者登入安裝 grid
安裝圖形化
yum -y groupinstall "X Window System"
rpm -ivh /opt/grid/rpm/cvuqdisk-1.0.9-1.rpm ( 解壓 grid 安裝包裡面可以找到,如果無法安裝,請先安裝yum install smartmontools這個 )
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm (這裡必須安裝這個版本)
注意事項:安裝 GRID 時, VIP 設定的時候要全部小寫, VIP 的 IP 不允許佔用
圖形化安裝,自己搞定哈,或者在我其他部落格裡自己找
root使用者xhost +回車
su - grid
export DISPLAY=192.168.159.6:0.0
cd /opt/grid/
./runInstaller
(1)步驟一
步驟二
步驟三
步驟四
步驟五
步驟六
步驟七
步驟八
步驟九
步驟十
步驟十一
步驟十二
步驟十三
步驟十四
步驟十五
步驟十六
以上這些都可以忽略
步驟十七
步驟十八
兩個節點分別執行指令碼,先在一個節點執行完2個指令碼,再去第二個節點執行
在執行第二個指令碼時,
OLR initialization - successful
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding Clusterware entries to inittab
執行到這一句,開始,就可以做以下操作了
步驟如下:
1. 以root使用者建立服務檔案
#touch /usr/lib/systemd/system/ohas.service
#chmod 777 /usr/lib/systemd/system/ohas.service
2. 將以下內容新增到新建立的ohas.service檔案中
[root@rac1 init.d]# cat /usr/lib/systemd/system/ohas.service
[Unit]
Description=Oracle High Availability Services
After=syslog.target
[Service]
ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple
Restart=always
[Install]
WantedBy=multi-user.target
3. 以root使用者執行下面的命令
systemctl daemon-reload
systemctl enable ohas.service
systemctl start ohas.service
4. 檢視執行狀態
[root@rac1 init.d]# systemctl status ohas.service
看到 Active: active (running) 這個狀態就OK了,不用管,繼續讓它自己自動執行。
完成安裝
出現這個報錯可以忽略
四、 配置 ASM 磁碟
使用grid 使用者在桌面圖形環境中執行asmca
建立資料磁碟組
五 、安裝RAC 資料庫
(1 )步驟一
使用ORACLE 使用者登入,./runInstaller
圖形介面啥的,自己搞定或者看我其他部落格文章
(2 )步驟二
開始安裝
啊後面的不想寫了,,,寫了一大堆,這部落格傻掉了,不知道幹嘛突然自動退出,沒儲存到截圖,吐了,不寫了。後面的和我其他部落格裡寫的安裝方法一樣的。
比如下面我寫的這篇就很詳細了,包含了各種遇到的報錯處理,各種注意事項,以後還有什麼會繼續補充完善
ORACLE11.2.0.4 RAC+ ASM安裝方法 (作業系統CENTOS7.6)
反正最重要的是前面那裡配置VM磁碟的,而且只是寫給自己看的,又不能設定只給自己看,莫得辦法啊。
一個字,慢死了!!!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-2682228/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 11G RAC的建立(VM虛擬環境)Oracle
- Oracle VM VirtualBox安裝centos7OracleCentOS
- Oracle 11G RAC叢集安裝(3)——安裝OracleOracle
- Oracle RAC環境下ASM磁碟組擴容OracleASM
- Oracle:Redhat 7 + Oracle RAC 11g 安裝 bug 總結OracleRedhat
- Oracle 11G RAC叢集安裝(2)——安裝gridOracle
- oracle 11g RAC 安裝前準備指令碼Oracle指令碼
- Oracle 11G RAC叢集安裝(1)——安裝前的準備Oracle
- Oracle 11.2.0.4 rac for aix acfs異常環境的克隆環境ASM磁碟組掛載緩慢OracleAIASM
- ORACLE11GR2 RAC解除安裝ASM例項步驟OracleASM
- Oracle 11G 安裝文件Oracle
- Oracle VM上實施Oracle 12cR2 RACOracle
- Overview of Oracle Flex ASM In Oracle 19c RAC-20220111ViewOracleFlexASM
- Oracle RAC 環境下的連線管理Oracle
- 【Oracle】ASM例項安裝入門OracleASM
- Oracle 11G 安裝 bbed 工具Oracle
- ORACLE11.2.0.4 RAC+ ASM安裝方法 (作業系統CENTOS7.6)OracleASM作業系統CentOS
- Oracle 19c rac安裝,只能啟動一個節點的ASMOracleASM
- Oracle 11g RAC安裝--基於openfiler儲存+多路徑+udev方式Oracledev
- Oracle Linux 6.7 靜預設安裝Oracle 11gOracleLinux
- Oracle 11g RAC Silent Install For NFSOracleNFS
- AIX 5.3/6.1環境下安裝Oracle 10gR2 RAC常見報錯AIOracle 10g
- Oracle 12cR1 RAC叢集安裝(一)--環境準備Oracle
- RAC和ASM環境下打patchASM
- Win 10 環境配置VirtualBox安裝UbuntuUbuntu
- vgant 安裝oracle資料庫racOracle資料庫
- centos7 安裝ORACLE 11.2.0.4.0 RACCentOSOracle
- Solaris下Oracle RAC 11.2.0.4 安裝方法Oracle
- oracle rac資料庫的安裝Oracle資料庫
- Oracle Linux 7.1 靜默安裝Oracle 18c RACOracleLinux
- Oracle RAC日常運維-ASM磁碟擴容Oracle運維ASM
- Oracle 11g RAC 監聽日常管理Oracle
- Oracle 11g RAC手動新增serviceOracle
- linux環境下解除安裝oracle11gLinuxOracle
- VirtualBox + Vagrant + homesteadbox 環境下 yaf 的安裝
- 【ASK_ORACLE】Oracle RAC配置ASM Filter Driver(ASMFD)(一)ASMFD簡介OracleASMFilter
- CentOS 7.5靜默安裝Oracle 11gCentOSOracle
- Oracle RAC叢集解除安裝步驟Oracle