1. 程式人生 > >Oracle12C R2+RAC安裝測試

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.shmmax = 2147483648

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