1. 程式人生 > >Oracle RAC(Linux)搭建

Oracle RAC(Linux)搭建

重新 註意 ip地址 passwd note manager system app eal

1、前言

此文檔詳細描述了Oracle 11gR2 數據庫在AIX上的安裝RAC的需求及安裝步驟。

參考文檔

《Oracle? Real Application Clusters Installation Guide 11g Release 2 (11.2) for Linux and UNIX》

Part Number E10813-06

《Oracle? Database Installation Guide 11g Release 2 (11.2) for IBM AIX on POWER Systems (64-Bit》

Part Number E10854-03

《Oracle? Database Performance Tuning Guide 11g Release 2 (11.2)》

Part Number E10821-05

《Oracle? Database Storage Administrator‘s Guide 11g Release 2 (11.2)》Part Number E10500-04

《Oracle? Grid Infrastructure Installation Guide 11g Release 2 (11.2) for IBM AIX Based Systems》

Part Number E10814-02

2、系統環境

數據庫架構

本例中數據庫架構為2個節點的RAC集群,使用ASM管理數據文件

操作系統版本

數據庫服務器的OS版本是AIX 6.1

3、Oracle安裝需求

3.1、OS 配置需求

OS版本

查看系統版本以及否是64位

qdgs:/home/oracle$uname -a

AIX qdgs 1 7 00F7E1D24C00

qdgs:/home/oracle$/usr/bin/getconf HARDWARE_BITMODE

64

PATCHES & PACKAGES

PACKAGE

AIX 6.1 required packages:

bos.adt.base

bos.adt.lib

bos.adt.libm

bos.perf.libperfstat 6.1.2.1 or later

bos.perf.perfstat

bos.perf.proctools

rsct.basic.rte (For RAC configurations only)

rsct.compat.clients.rte (For RAC configurations only)

xlC.aix61.rte:10.1.0.0 or later

gpfs.base 3.2.1.8 or later (Only for RAC)

#lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat 6.1.2.1 bos.perf.perfstat bos.perf.proctools rsct.basic.rte rsct.compat.clients.rte xlC.aix61.rte:10.1.0.0 gpfs.base 3.2.1.8

APARS

IZ41855

IZ51456

IZ52319

IZ97457

IZ89165

IV04047 reference note 1264074.1 and Note:1379753.1

檢查命令:

#/usr/sbin/instfix -i -k "IZ41855 IZ51456 IZ52319 IZ97457 IZ89165"

系統中若無patch IZ89165, Patch IZ97457,則按照如下根據系統版本對應patch檢查替換patch是否存在。

可替換patch

** Patch IZ89165 **

6100-03 - use AIX APAR IZ89304

6100-04 - use AIX APAR IZ89302

6100-05 - use AIX APAR IZ89300

6100-06 - use AIX APAR IZ89514

** Patch IZ97457 **

6100-04 - use AIX APAR IZ97605

6100-05 - use AIX APAR IZ97457

6100-06 - use AIX APAR IZ96155

JDK&JRE

IBM JDK 1.6.0.00 (64 BIT)

空間需求

RAM minimum 1GB recommended 2GB

TMP at least 1GB

Grid home at least 4.5 GB

Oracle Database home at least 4GB

根據內存設置swap大小:

RAM Swap Space

1G~2G 內存的1.5倍

2G~16G 與內存相等

16G以上 16G

檢查系統內存:

qdgs:/home/oracle$/usr/sbin/lsattr -HE -l sys0 -a realmem

attributevalue description user_settable

realmem 25165824 Amount of usable physical memory in Kbytes False

qdgs:/home/oracle$

檢查交換分區大小

qdgs:/home/oracle$/usr/sbin/lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum

hd6 hdisk0 rootvg 16384MB 2 yes yes lv 0

檢查磁盤空間

#getconf DISK_SIZE /dev/hdisk[]

qdgs:/home/oracle$getconf DISK_SIZE /dev/hdisk3

511996

檢查網卡順序,網卡主備(註意網卡與IP對應是否正確)

#ifconfig -a

#lsattr -E -l 網卡名

IP地址要求

每個節點至少兩個以上網卡,其中一個是內網網卡,也叫心跳網卡;另一個是公網,對外提供服務。內網綁定172或10開頭的ip地址;公網上綁定public ip。另外還需要分配一個vip,與public ip同網段;SCAN IP整個集群只有一個。請參考以下示例:

節點1:

一個公網IP:100.12.98.21

兩個私網IP:172.16.2.1 172.16.2.11

一個虛擬IP:100.12.98.23

SCAN_IP:100.12.98.25

節點2:

一個公網IP:100.12.98.27

兩個私網IP:172.16.2.3 172.16.2.13

一個虛擬IP:100.12.98.29

SCAN_IP:100.12.98.25

AIX操作系統TCP和UDP參數的修改

在root用戶下,執行如下命令:

修改命令:

no -r -o ipqmaxlen=521

no -p -o rfc1323=1

no -p -o sb_max=1500000

no -p -o tcp_recvspace=65536

no -p -o tcp_sendspace=65536

no -p -o udp_recvspace=1351680

no -p -o udp_sendspace=13516

可用/usr/sbin/no -a | fgrep <參數名>來查看參數值

AIX內核參數的修改

查看參數

# /usr/sbin/no -a | fgrep ephemeral

tcp_ephemeral_high = 65500

tcp_ephemeral_low = 9000

udp_ephemeral_high = 65500

udp_ephemeral_low = 9000

修改參數

# /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500

# /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500

AIX操作系統內存參數的修改

vmo -p -o minperm%=3

vmo -p -o maxperm%=90

vmo -p -o maxclient%=90

vmo -p -o lru_file_repage=0

vmo -p -o strict_maxclient=1

vmo -p -o strict_maxperm=0

雙機對等性認證

配置集群內2個節點的SSH對等性認證

在兩個節點分別執行下列兩個腳本,腳本位於安裝軟件解壓路徑下的grid目錄中。

P780-1-VPAR1[/]# find /u01 -name sshUserSetup.sh

/u01/11.2.0/grid/deinstall/sshUserSetup.sh

/u01/11.2.0/grid/oui/prov/resources/scripts/sshUserSetup.sh

#./sshUserSetup.sh -user grid -hosts "bjsczjdb01 bjsczjdb02" -advanced - noPromptPassphrase

#./sshUserSetup.sh -user oracle -hosts " bjsczjdb01 bjsczjdb02" -advanced –noPromptPassphrase

完成互信配置後,分別在各節點使用grid和oracle用戶下執行下面的操作 進行

互信的檢測

su - grid

date;ssh bjsczjdb01 date

date;ssh bjsczjdb02 date

su - oracle

date;ssh bjsczjdb01 date

date;ssh bjsczjdb02 date

AIX操作系統啟用異步IO

AIX 6.1 缺省啟用異步IO,無需修改

Oracle數據庫系統軟件及補丁要求

需要安裝的psu版本為11.2.0.3.3,patch id 為:13923374, 13919095

其他

在所有節點的/etc/hosts文件中配置IP與別名,命名規則一般建議為主機名-IP類型。

例如

public IP :IP地址 hostname

Private IP : IP地址 hostname-priv

VIP : IP 地址 hostname-vip

Scan IP : IP 地址 hostname-scan

#cat /etc/hosts

#hostname

100.12.98.21 bjsczjdb01

100.12.98.27 bjsczjdb02

#oracle_vip

100.12.98.23 bjsczjdb01-vip

100.12.98.29 bjsczjdb02-vip

#oracle_private_ip1

172.16.2.1 bjsczjdb01-prvi1

172.16.2.3 bjsczjdb02-prvi1

#oracle_private_ip2

172.16.2.11 bjsczjdb01-prvi2

172.16.2.13 bjsczjdb02-prvi2

#oracle_scan_ip

100.12.98.25 bjsczjdb01-scan

3.2、存儲配置

數據庫ASM磁盤設備的劃分

使用如下命令對磁盤屬性進行修改。 (所有節點都需要執行)

#chmod 660 /dev/rhdisk[]

#chown grid:asmadmin /dev/rhdisk[]

#lsattr -E -l hdisk[] | grep reserve_

如果是reserve_policy則執行下面的操作

#chdev -l hdisk[] -a reserve_policy=no_reserve

如果是reserve_lock

#chdev -l hdisk[] -a reserve_lock=no

清除PVID

#/usr/sbin/chdev -l hdisk[] -a pv=clear

3.3、Oracle安裝用戶和組設置

創建介質存儲路徑及解壓路徑

由於安裝介質較多,建議分別創建軟件存放及解壓路徑,示例如下:

數據庫安裝軟件包存儲路徑

# mkdir -p /u01/sw/db

Oracle psu安裝包存儲路徑

# mkdir -p /u01/sw/psu

新版本的OPATCH安裝包存儲路徑

# mkdir -p /u01/sw/patch

需要安裝的rpm包存儲路徑

# mkdir -p /u01/sw/rpm

# chmod -R 777 /u01/sw

創建用戶和組

建立Oracle安裝目錄組:

mkgroup -‘A‘ id=‘501‘ adms=‘root‘ oinstall

建立Oracle ASMDBA組:

mkgroup -‘A‘ id=‘502‘ adms=‘root‘ asmadmin

mkgroup -‘A‘ id=‘503‘ adms=‘root‘ asmdba

mkgroup -‘A‘ id=‘504‘ adms=‘root‘ asmoper

mkgroup -‘A‘ id=‘505‘ adms=‘root‘ dba

建立Grid安裝用戶grid:

mkuser id=‘501‘ pgrp=‘oinstall‘ groups=‘asmadmin,asmdba,asmoper‘ home=‘/home/grid‘ fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

passwd grid 密碼為oracle123(註意密碼設置完成後需要重新登錄再次設置才可生效)

建立Oracle安裝用戶oracle:

mkuser id=‘502‘ pgrp=‘oinstall‘ groups=‘dba,asmdba‘ home=‘/home/oracle‘ fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

passwd oracle 密碼為:xxx,例如:oracle123

註意在創建密碼後需要重新登陸再次設置生效

檢查創建的用戶

# id oracle

uid=502(oracle) gid=501(oinstall) groups=503(asmdba),505(dba)

# id grid

uid=501(grid) gid=501(oinstall)groups=502(asmadmin),503(asmdba),504(asmoper)

檢查用戶權限

# lsuser -a capabilities grid

grid capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE

<<< 如果沒有顯示正確則執行

# chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

# lsuser -a capabilities oracle

oracle capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE

創建安裝目錄

目錄創建示例如下:

Oracle inventory 目錄

#mkdir -p /u01/app/oraInventory

#chown -R grid:oinstall /u01/app/oraInventory

#chmod -R 775 /u01/app/oraInventory

Grid Infrastructure BASE 目錄

#mkdir -p /u01/app/grid

#chown grid:oinstall /u01/app/grid

#chmod -R 775 /u01/app/grid

Grid Infrastructure Home 目錄

#mkdir -p /u01/11.2.0/grid

#chown -R grid:oinstall /u01/11.2.0/grid

#chmod -R 775 /u01/11.2.0/grid

Oracle Base 目錄

#mkdir -p /u01/app/oracle

#mkdir /u01/app/oracle/cfgtoollogs

#chown -R oracle:oinstall /u01/app/oracle

#chmod -R 775 /u01/app/oracle

Oracle Rdbms Home 目錄

#mkdir -p /u01/app/oracle/product/11.2.0/db_1

#chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1

#chmod -R 775 /u01/app/oracle/product/11.2.0/db_1

3.4、profile文件

創建數據庫安裝用戶grid.profile

.profile文件內容如下:

Node1

umask 022

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/11.2.0/grid

export ORACLE_SID=+ASM1

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export PS1=`hostname`:‘$PWD‘"$"

Node2

umask 022

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/11.2.0/grid

export ORACLE_SID=+ASM2

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export PS1=`hostname`:‘$PWD‘"$"

創建數據庫安裝用戶oracle.profile

.profile文件內容如下:集中庫136和137節點的.profile信息不一樣?

Node1:

umask 022

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

ORACLE_UNQNAME=bjschxsb

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export PS1=`hostname`:‘$PWD‘"$"

Node2:

umask 022

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

ORACLE_UNQNAME=bjschxsb

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH

export PS1=`hostname`:‘$PWD‘"$"

註意:以上用戶配置信息需要在所有節點進行配置,完成配置後需要重新執行該配置文件使其生效,例如:$ . .profile

4、安裝步驟

4.1、安裝Grid Infrastructure

以root身份執行(所有節點都執行)

#./rootpre.sh (腳本位於解壓後安裝包後在生成的grid目錄下/u01/app/11.2.0/grid/clone/rootpre.sh

/u01/app/oracle/product/11.2.0/db_1/clone/rootpre.sh哪一個呢?)

$su – grid

$export DISPLAY=172.16.2.100:0.0(安裝xmanager映射到本地,進行圖形化安裝這個IP是本地機器的IP吧??)

$xclock (檢測xmanager配置是否成功)

$./runInstaller

選擇skip software updates, 點next

技術分享

選擇Install and Configure Oracle Grid Infrasturecture for a Cluster

技術分享

選擇Advanced Installation

技術分享

Next

技術分享

Cluster Name:CLUSTER3

Scan信息必需與/etc/hosts文件中配置一致

SCAN Name: bjsczjdb01-scan

SCAN Port: 1521

技術分享

點Add將節點二加入集群,輸入public hostname:bjsczjdb02

Virtual hostname:bjsczjdb02-vip

技術分享

公私網選擇

技術分享

選擇Oracle ASM管理

技術分享

選擇OCR文件存儲位置,如需做冗余,則可安裝下例建立OCR_VOTE磁盤組,使用三個盤:/dev/rhdisk6 /dev/rhdisk7 /dev/rhdisk8

技術分享

選擇use Same password for these accounts, 密碼為:oracle123

技術分享

Grid組選擇

技術分享

grid base: /u01/app/grid

Grid Infrastruct Home(ure HomeSoftware location): /u01/11.2.0/grid

技術分享

選擇oraInventory路經:/u01/app/oraInventory

技術分享

技術分享

技術分享

summary

技術分享

技術分享

技術分享

4.2 、安裝集群軟件的psu

提示以root身份執行腳本orainstRoot.sh 和root.sh時,首先打psu ,後執行腳本。

下載最新的OPatch p6880880_112000_AIX64-5L.zip

#su – grid (所有節點操作)

$unzip p6880880_112000_AIX64-5L.zip –d $ORACLE_HOME

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/psu/13696251 (所有節點操作,可並行)

$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/psu/13696216 (所有節點操作,可並行)

$opatch lsinv 檢查補丁是否安裝成功

確認安裝psu成功後,以root身份在所有節點執行orainstRoot.sh和root.sh腳本。(不可並行)

4.3、安裝數據庫軟件

使用oracle用戶安裝數據庫軟件

#su – oracle

$export DISPLAY=172.16.2.100:0.0

$xclock

$./runInstaller

技術分享

技術分享

技術分享

Install_database software only

註意檢查加入節點信息是否正確

技術分享

技術分享

選擇enterprise edition(7.51GB)

技術分享

確認ORACLE_HOME,ORACLE_BASE路徑是否正確

技術分享

ORACLE_BASE: /u01/app/oracle

ORACLE_HOME: /u01/app/oracle/product/11.2.0/db_1

技術分享

選擇管理組

技術分享

技術分享

4.4、安裝數據庫psu

註意在安裝過程中根據提示運行腳本root.sh,先打psu後執行root.sh

#su – oracle(所有節點操作)

$unzip p6880880_112000_AIX64-5L.zip –d $ORACLE_HOME

$unzip p13696251_112030_AIX64-5L.zip –d /u01/psu

註意在psu目錄中不能包含除PSU解壓文件以外的文件。

$ /u01/psu/13696251/custom/server/13696251/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME

$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/psu/13696251/custom/server/13696251

$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/psu/13696216

$/u01/psu/13696251/custom/server/13696251/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME

# /u01/11.2.0/grid/rdbms/install/rootadd_rdbms.sh(以root身份執行)

打完補丁後註意檢查:

$opatch lsinv

Psu完成後,以root身份在所有節點按照提示執行root.sh(不可並行)

4.5、配置ASM

使用grid用戶創建asm磁盤組

#su – grid

$export DISPLAY=172.16.2.100:0.0

$asmca

點create

DATA 兩塊磁盤 external AU:4 1T

FLS 一塊磁盤 external AU:4 512GB

4.6、創建數據庫

使用oracle用戶安裝數據庫

#su – oracle

$export DISPLAY=172.16.2.100:0.0

$xclock

$dbca

選擇create a Database

技術分享

選擇custom Database

技術分享

註意實例名填寫正確,選中兩個節點(select all)(實例名不超過8位)

技術分享

技術分享

根據需求如需安裝EM,選擇configure Enterprise Manager

技術分享

選擇enable automatic maintenance tasks

建議為所有用戶配置相同密碼,例如:oracle123

技術分享

指定數據文件存放位置

技術分享

根據需求如需開啟歸檔,選擇enable archiving,註意此處如不指出歸檔路徑,默認為fast recovery area,大小受限於fast recovery area的大小。如需指明歸檔路徑,選擇edit archive mode parameters進行指定。

技術分享

技術分享

根據具體需求選擇相應組件

技術分享

關鍵參數設置

根據具體需求對數據庫內存進行設置

技術分享

連接數Processes:1000

技術分享

選擇字符集:AL32UTF8

技術分享

默認為Dedicated Server Mode

技術分享

Summary 查看配置信息

技術分享

技術分享

創建實例二:步驟同上

創建完成後檢查集群狀態

$crsctl status res –t

Oracle RAC(Linux)搭建