Oracle12C R2+RAC安裝測試
Oracle12C R2已經出來有一段時間了,一直想搞搞RAC可是由於安裝Oracle12C R2 RAC對系統資源的高要求,使得每次在自己的虛擬機器上安裝都失敗(失敗的原因主要是由於記憶體太小所致),前幾天在工作不忙的時候開啟計算機啥也不做,就開幾個虛擬機器做RAC實驗,最後也算成功了;---我自己的筆記本記憶體16G I7的核心
1、環境準備:
作業系統:Linux7.2-64
軟體:linuxx64_12201_database
linuxx64_12201_grid_home
ASM磁碟組:使用裸裝置
Oracle12C R2+RAC
安裝介質:
軟體包 |
名稱 |
Linux7.1(64) |
作業系統 |
linuxx64_12201_database |
資料庫軟體包 |
linuxx64_12201_grid_home |
資料庫叢集軟體 |
ASM磁碟 |
共享儲存 |
IP分配:
主機名 |
主機IP |
PRIV |
VIP |
rac1 |
192.168.2.100 |
10.0.0.1 |
192.168.2.101 |
rac2 |
192.168.2.200 |
10.0.0.2 |
192.168.2.201 |
sacnIP |
192.168.2.210 |
||
ISCSI伺服器IP |
192.168.2.88 |
||
兩個節點只需配置公網和私有IP即可,虛擬IP與scanIP在hosts檔案指定 |
安裝目錄:
Oracle軟體 |
/opt/oracle/product/12/db |
grid 軟體 |
/opt/12/grid |
CRS 軟體 |
+DATT/testa/ |
---註明下:我做實驗使用的共享儲存盤 是採用ISCSI,單獨開了一臺伺服器做的,本次做測試一共開了3臺虛擬機器(兩臺資料庫主機各6G記憶體,ISCSI伺服器500M)
ISCSI伺服器共享儲存配置步驟省略,需要用到的命令如下:
客戶端發現目標伺服器共享磁碟:
[[email protected] Server]# iscsiadm -m discovery -t sendtargets -p192.168.2.88
掛載目標伺服器共享磁碟
[[email protected] ~]# iscsiadm -m node --loginall=all
2、開始部署RAC
2.1修改主機/etc/host解析檔案(兩節點都修改)
[[email protected]~]# vim /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
::1 localhost6.localdomain6 localhost6
192.168.2.100 rac121
192.168.2.101 rac121-vip
10.0.0.1 rac121-priv
192.168.2.200 rac122
192.168.2.201 rac122-vip
10.0.0.2 rac122-priv
192.168.2.210 scan-rac
[[email protected] ~]# vim /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost
::1 localhost6.localdomain6 localhost6
192.168.2.100 rac121
192.168.2.101 rac121-vip
10.0.0.1 rac121-priv
192.168.2.200 rac122
192.168.2.201 rac122-vip
10.0.0.2 rac122-priv
192.168.2.210 scan-rac
2.2 安裝所需軟體包(兩個節點都執行)
[[email protected] Packages]# yum -y install binutils*glibc* libstdc* libaio* libX* make* sysstat* compat-* glibc-* unix*
2.3.修改linux核心引數(兩個節點都執行)
[[email protected]~]# vi/etc/sysctl.conf (要根據自己伺服器的記憶體合理配置)
----------------------------------------------
新增以下內容:--具體的大小值 由自己的記憶體決定,自行調整
fs.aio-max-nr =1048576
fs.file-max =6815744
kernel.shmall =2097152
kernel.shmmni =4096
kernel.sem = 25032000 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= 1048586
[[email protected]~]# sysctl -p --使設定生效
2.4 修改系統引數(兩個節點都執行)
[[email protected] ~]# vim /etc/pam.d/login
session required pam_limits.so
[[email protected] ~]# vim /etc/pam.d/login
session required pam_limits.so
2.5 建立oracle與grid使用者(兩個節點都執行)
建立oracle使用者與grid使用者
[[email protected] ~]# groupadd -g400 oinstall
[[email protected] ~]# groupadd -g 401 dba
[[email protected] ~]# groupadd -g 402 asmadmin
[[email protected] ~]# groupadd -g 403 asmdba
[[email protected] ~]# groupadd -g 404 asmoper
[[email protected] ~]# groupadd -g 405 oper
[[email protected] ~]# useradd -u 400 -g oinstall -Gasmadmin,asmdba,asmoper,dba grid
[[email protected] ~]# useradd -u 401 -g oinstall -Gdba,asmdba,asmadmin,oper oracle
# passwd oracle
# passwd grid
2.6 設定oracle使用者與grid使用者引數限制(兩個節點都要做)
[[email protected] ~]# vim /etc/security/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 32768
grid soft nofile 1024
grid hard nofile 65536
2.7 建立oracle使用者與grid使用者所需目錄(兩個節點都執行)
[[email protected] ~]# mkdir -p /opt/grid
[[email protected] ~]# mkdir -p /opt/12/grid
[[email protected] ~]# mkdir -p /opt/oracle/product/12/db
[[email protected] ~]# mkdir -p /opt/oracle/oradata
[[email protected] ~]# chown -R grid.oinstall /opt/grid
[[email protected] ~]# chown -R grid.oinstall /opt/12
[[email protected] ~]# chown -R oracle.oinstall /opt/oracle/
[[email protected] ~]# chmod -R 775 /opt/
2.8 分別設定oracle使用者和grid使用者環境變數:(兩個節點都執行)
第一個節點:Oracle環境變數
export PATH
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/12/db
export ORACLE_SID=testdb
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
第一個節點:grid環境變數
export ORACLE_BASE=/opt/grid
export ORACLE_HOME=/opt/12/grid
export ORACLE_SID=+ASM1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
第二個節點:Oracle環境變數
export PATH
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/12/db
export ORACLE_SID=testdb
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
第二個節點:grid環境變數
export ORACLE_BASE=/opt/grid
export ORACLE_HOME=/opt/12/grid
export ORACLE_SID=+ASM2
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
2.9 配置rac1和rac2兩個節點的SSH互信關係(兩個節點都執行)
配置兩個節點SSH信任:
[[email protected] ~]# su - oracle
[[email protected] ~]$ mkdir ~/.ssh
[[email protected] ~]$ chmod 700 ~/.ssh/
[[email protected] ~]$ cd ~/.ssh/
[[email protected] .ssh]$ ssh-keygen -t rsa
[[email protected] .ssh]$ ssh-keygen -t dsa
[[email protected] .ssh]$ cat id_rsa.pub >> authorized_keys
[[email protected] .ssh]$ cat id_dsa.pub >> authorized_keys
[[email protected] ~]# su – grid
[[email protected] ~]$ mkdir ~/.ssh
[[email protected] ~]$ cd ~/.ssh/
[[email protected] .ssh]$ cd ..
[[email protected] ~]$ chmod 700 ~/.ssh/
[[email protected] ~]$ cd ~/.ssh/
[[email protected] .ssh]$ ssh-keygen -t rsa
[[email protected] .ssh]$ ssh-keygen -t dsa
[[email protected] .ssh]$ cat id_rsa.pub >> authorized_keys
[[email protected] .ssh]$ cat id_dsa.pub >> authorized_keys
(節點二也要執行上述操作,然後將兩個節點的公鑰與私鑰進行整合,分別拷貝到兩個節點中)
完成後進行測試,是否成功
在兩個節點切換到oracle與grid使用者執行下屬操作,(不輸入密碼就成功驗證)
[[email protected] ~]# su - oracle
[[email protected] ~]$ ssh rac1 date
Thu Nov 27 04:56:46 EST 2014
[[email protected] ~]$ ssh rac2 date
Thu Nov 27 04:56:48 EST 2014
[[email protected] ~]$ ssh rac1-priv date
Thu Nov 27 04:56:54 EST 2014
[[email protected] ~]$ ssh rac2-priv date
Thu Nov 27 04:56:57 EST 2014
3、掛載共享磁碟(在兩個節點依次執行)
客戶端發現目標伺服器共享磁碟:
[[email protected] Server]# iscsiadm -m discovery -t sendtargets -p192.168.2.88
掛載目標伺服器共享磁碟
[[email protected] ~]# iscsiadm -m node --loginall=all
3.1、設定可用的ASM磁碟
[[email protected]~]# vim hao.sh ---編輯指令碼
for i in c d e f g j h i j
do
echo "KERNEL==\"sd?\",SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/\$name\",RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/sd$i`\", SYMLINK+=\"asm-disk$i\",OWNER=\"grid\", GROUP=\"asmadmin\",MODE=\"0660\""
done
[[email protected]~]# sh hao.sh ----執行指令碼
執行指令碼得到如下內容:
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="14945540000000000ef376caea6d46a84b299aa2af675ec33",SYMLINK+="asm-diskc", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="1494554000000000046b356d577df32a8ebb1bc37aa63263b",SYMLINK+="asm-diskd", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="149455400000000000dbef13af1d00493893edc4ce2ba0109",SYMLINK+="asm-diske", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="14945540000000000fa5fccd4e81b51abc3795d66e58fb835",SYMLINK+="asm-diskf", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="14945540000000000545ef7c7a91cd370b7287e7498981e57",SYMLINK+="asm-diskg", OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="1494554000000000078e745363d1683b432ae66cb39a2171d",SYMLINK+="asm-diskj", OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace--device=/dev/$name",RESULT=="1494554000000000024c7e5803c9b66544cbc6e847bc36dcd",SYMLINK+="asm-diskh", OWNER="grid", GROUP="asmadmin",MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/$name",RESULT=="14945540000000000a633b36c46b565abe1bf9735cc854e85",SYMLINK+="asm-diski", OWNER="grid",GROUP="asmadmin", MODE="0660"
KERNEL=="sd?", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id--whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1494554000000000078e745363d1683b432ae66cb39a2171d",SYMLINK+="asm-diskj", OWNER="grid",GROUP="asmadmin", MODE="0660”
然後將上面的內容新增到系統檔案:
[[email protected]~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules
執行系統命令重新掃描磁碟:
[[email protected] ~]# partprobe
然後檢視裸裝置是否建立成功
[[email protected] ~]# ls -l /dev/sd*
4、安裝grid軟體:
注意:grid軟體要解壓到 grid使用者的家目錄,我們本次環境的home目錄:
export ORACLE_HOME=/opt/12/grid
所以,把軟體放到/opt/12/grid目錄下,然後解壓就可以了:
[[email protected] ~]$ cd /opt/12/grid/
[[email protected] grid]$ unzip linuxx64_12201_grid_home
4.1、開始安裝grid軟體,如下所示:
出現上述圖後,需要在兩個節點執行指令碼;
每個指令碼依次在節點1和節點2上執行:
執行第二個指令碼最後出現下圖結構就說明執行成功了:
執行完指令碼以後,這些往下執行就可以:
當我們執行完成後,如上圖所示可能會報錯,不過經過檢視日誌我們發現這個錯沒關係,可以忽略;
檢查grid狀態:---從下面的資訊可以看到 我們安裝的沒有問題
[[email protected] ~]$crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....SM.lsnrora....er.type ONLINE ONLINE rac121
ora.DATA.dg ora....up.type ONLINE ONLINE rac121
ora....ER.lsnrora....er.type ONLINE ONLINE rac121
ora....AF.lsnrora....er.type OFFLINE OFFLINE
ora....N1.lsnrora....er.type ONLINE ONLINE rac121
ora.MGMTLSNR ora....nr.type ONLINE ONLINE rac121
ora.asm ora.asm.type ONLINE ONLINE rac121
ora.chad ora.chad.type ONLINE ONLINE rac121
ora.cvu ora.cvu.type ONLINE ONLINE rac121
ora.mgmtdb ora....db.type ONLINE ONLINE rac121
ora....networkora....rk.type ONLINE ONLINE rac121
ora.ons ora.ons.type ONLINE ONLINE rac121
ora.proxy_advmora....vm.type OFFLINE OFFLINE
ora.qosmserverora....er.type ONLINE ONLINE rac121
ora....21.lsnrapplication ONLINE ONLINE rac121
ora.rac121.onsapplication ONLINE ONLINE rac121
ora.rac121.vipora....t1.type ONLINE ONLINE rac121
ora....22.lsnrapplication ONLINE ONLINE rac122
ora.rac122.onsapplication ONLINE ONLINE rac122
ora.rac122.vipora....t1.type ONLINE ONLINE rac122
ora.scan1.vip ora....ip.type ONLINE ONLINE rac121
[[email protected]121 ~]$
4.3、使用grid使用者建立ASM磁碟組:
[[email protected] ~]$ /opt/12/grid/bin/asmca ---執行命令
從上面的圖我們可以看到,我們需要的ASM磁碟組已經建立好了,接著安裝Oracle軟體即可:
5、使用Oracle使用者開始,首先安裝Oracle軟體:
解壓軟體後開始安裝,如下圖所示:
安裝上圖的提示,執行root.sh指令碼即可,然後會看到下圖安裝成功的提示:
5.2、使用DBCA建立資料庫:
至此安裝步驟已經完整了,就等著安裝完成就可以了,
本文出自 “笨小孩的dba之路” 部落格,請務必保留此出處http://fengfeng688.blog.51cto.com/4896812/1935075