目录
3、验证 Oracle Grid Infrastructure 安装是否成功. 17
1、在节点一上 grid 用户登录,运行 ASM Configuration Assistant20
2、运行 DBCA(database Configuration Assistant). 24
(具体安装过程中有差异,也与具体安装环境有关)
一、整体规划
RAC架构规划 | ||
服务器机器名 | rac1 | rac2 |
public IP (网卡1) | 172.16.88.3 | 172.16.88.4 |
VIP (网卡1) | 172.16.88.31 | 172.16.88.41 |
private IP (网卡 2) | 10.100.1.2 | 10.100.1.3 |
SCAN IP(DNS服务器) | 172.16.88.10 | |
ORACLE SID | PROD | |
存储 | DELL MD3200 | |
操作系统 | Oracle Linux Server release 6.3 | |
ORACLE版本 | 11.2.0.4 | |
安装模式 | 高级安装 | |
安装语言 | 简体中文、English |
注:public IP,VIP,SCAN IP应该为同一网段,而private IP 必须为其他网段(11.2.0.2以上版本的要求)
| 存储规划 (根据不同存储,规划略有不同) |
|
磁盘 | 大小 | 对应RAW |
|
二、安装资源
操作系统
版本:OracleLinux Server release 6.3
ORACLE 11G 软件包
版本:ORACLE 11.2.0.4
软件:
p10404530_112040_Linux-x86-64_1of7.zip(oracle) p10404530_112040_Linux-x86-64_2of7.zip(rdbms) p10404530_112040_Linux-x86-64_3of7.zip(grid)
其他所需软件包文件名:
libcap1-1.10-55.6.x86_64.rpm(网络数据包捕获函数包)
pdksh-5.2.14-30.x86_64.rpm(一种Korn shell)
三、安装前配置
注:本章节以下所有操作无特殊说明,则每个节点上都要进行。
1、添加网卡
注:保证至少有两个网卡(实际环境需要更多的网卡)
2、修改机器名
编辑文件/etc/sysconfig/network,修改 hostname,修
改为规划中所示。
3、修改内核参数
Ø 打开文件 /etc/sysctl.conf添加以下内容
kernel.shmmax= 536870912 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.sem = 250 32000 100 128 fs.file-max = 6815744
net.ipv4.ip_local_port_range = 900065500 net.core.rmem_default =4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 4194304 net.core.wmem_max = 4194304 kernel.panic = 60
Ø 使用 sysctl -p 使修改生效
4、修改/etc/hosts 内容
Ø 根据规划情况进行更改,最终结果如下
127.0.0.1 localhost localhost.localdomain localhost4localhost4.localdomain4
::1 localhost localhost.localdomainlocalhost6 localhost6.localdomain6
172.17.88.3 rac2
10.100.1.2 racp2
172.17.88.31 rac2-vip
172.17.88.4 rac1
10.100.1.3 racp1
172.17.88.41 rac1-vip
172.17.88.10 rac-scan
5、安装系统缺少的 rpm 包
Ø 进入系统安装盘(Linux系统安装盘)里的Packages文件夹,安装以下包:
rpm -ivhlibaio-0.3*686* rpm -ivh libaio-devel* rpm -ivh libgcc*
rpm -ivh compat-libstdc++-33*x86_64*rpm -ivh glibc-2*x86_64* rpm -ivh libstdc++-4*x86_64* rpm -ivh unixODBC*x86_64*
也可以通过yum安装
6、禁用防火墙和 SELINUX
Ø 禁用防火墙:
service iptables status service iptablesstop chkconfig iptables off
Ø 禁用SELINUX 编辑/etc/selinux/config文件,将SELINUX 设置为
disabled。(SELINUX=disabled)
7、添加组和用户
Ø 添加组
groupadd -g 1000 oinstall groupadd -g1200 asmadmin groupadd -g 1201 asmdba groupadd -g 1202 asmoper groupadd -g 1300dba groupadd -g 1301 oper
Ø 添加用户
useradd -m -u1100 -g oinstall -G asmadmin,oper,asmdba,asmoper -d
/home/grid -s /bin/bash griduseradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bashoracle
Ø 确认用户信息
l 执行:
id oracle
l 结果:
uid=1101(oracle) gid=1000(oinstall) 组 =1000(oinstall),1201(asmdba),1300(dba),1301(oper)
l 执行:
id grid
l 结果:
uid=1100(grid) gid=1000(oinstall) 组
=1000(oinstall),1200(asmadmin),1201(asmdba),1202(asmoper),1300(dba),1301 (oper)
Ø 修改密码:
passwd oracle
passwd grid
8、创建目录结构
mkdir -p /g01
chown -R grid:oinstall /g01
mkdir -p /u01
chown -R oracle:oinstall /u01chmod -R 775 /u01 /g01
9、为安装用户设置资源限制
Ø 在/etc/security/limits.conf添加以下内容:
grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
这里也可以通过执行命令直接添加:
cat >>/etc/security/limits.conf << EOF grid soft nproc 2047 grid hard nproc 16384
grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 EOF
Ø 在/etc/pam.d/login文件中添加
session required pam_limits.so 这里也可以通过执行命令直接添加:
cat >> /etc/pam.d/login<<EOF session required pam_limits.so EOF
Ø 在/etc/profile文件中添加
if [ /$USER = "oracle" ]|| [ /$USER = "grid" ]; then if [ /$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
这里也可以通过执行命令直接添加:
cat >> /etc/profile<<EOF
if [ /$USER = "oracle" ]|| [ /$USER = "grid" ]; then if [ /$SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi EOF
10、配置环境变量
Ø 修改 grid 用户的.bash_profile,添加内容,注意每个节点的不同内容:
exportORACLE_SID=+ASM1 #exportORACLE_SID=+ASM2 export ORACLE_BASE=/g01/base export ORACLE_HOME=/g01/grid/11.2.0 export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin/:.
export TEMP=/tmp export TMP=/tmp export TMPDIR=/tmp umask 022
Ø 修改 oracle 用户的.bash_profile,添加内容,注意每个节点的不同内容:
ORACLE_SID=prod1; export ORACLE_SID
#ORACLE_SID=prod2; export ORACLE_SID
ORACLE_UNQNAME=prod; exportORACLE_UNQNAME
JAVA_HOME=/usr/local/java; exportJAVA_HOME
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/11.2.0/db;export ORACLE_HOME
ORACLE_TERM=xterm; exportORACLE_TERM
NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"; export
NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK;export NLS_LANG
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:
$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/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; exportTHREADS_FLAG export TEMP=/tmp export TMPDIR=/tmp
#---------------------------------------------------
# UMASK
#---------------------------------------------------
# Set the default file modecreation mask
# (umask) to 022 to ensure thatthe user performing
# the Oracle software installationcreates files # with 644permissions.
#--------------------------------------------------- umask 022
11、删除 NTP 服务
注:这里可以选择配置NTP服务,或者使用CTSS同步时间,为了简化安装步骤,现在直接禁用NTP服务,让Grid自己完成时间同步。
Ø 执行以下命令(这里执行两次是为了校准准确):
ntpdate 192.168.1.140 (这个是校准系统时间) ntpdate 192.168.1.140
hwclock–w (这个是校准硬件时间)
hwclock -w service ntpd stopservice ntpd status
mv /etc/ntp.conf/etc/ntp.conf.original (删除ntp配置文件) chkconfig ntpd off (禁用ntp服务) chkconfig ntpd --list
12、配置 DNS (不需要)
Ø 因为这里不使用DNS服务器,所以配置一个DNS映射,使安装能够进行
mv /usr/bin/nslookup/usr/bin/nslookup.org
Ø 编辑/usr/bin/nslookup 添加以下内容:
#!/bin/bash
HOSTNAME=${1}
if [[ $HOSTNAME = "rac-scan" ]];then echo "Server:192.168.1.140" echo"Address: 192.168.1.140#53" echo "Non-authoritative answer:" echo "Name:rac-scan" echo "Address: 192.168.1.152"else
/usr/bin/nslookup.org $HOSTNAME fi
13、配置共享磁盘
Ø 开机授权:(两个节点均要进行)
编辑/etc/rc.local ,添加
chown -R grid.asmadmin/dev/raw/raw* chmod 660/dev/raw/raw*
编辑/etc/udev/rules.d 99-asm.rules
KERNEL=="dm-2",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-3",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-4",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-5",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-6",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-7",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-8",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-9",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-10",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-11",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-12",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-13",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-14",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-15",OWNER="grid",GROUP="asmadmin",MODE="0660"
注:另外最好要执行一遍上面的命令
14、建立 ssh 等效性
注:这一步可以跳过,跳过则不能进行安装预检查,以下均使用 grid用户操作
Ø 建立相关目录生成密钥和公钥(两个节点都要执行)
mkdir -p ~/.ssh
chmod 755 ~/.ssh /usr/bin/ssh-keygen -t rsa
/usr/bin/ssh-keygen -t dsa
Ø 建立等效密钥节点一:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cp ~/.ssh/authorized_keys ~/.ssh/rac1.authorized_keys 节点二:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cp ~/.ssh/authorized_keys~/.ssh/rac2.authorized_keys
Ø 相互交换公钥:
scp .ssh/rac1.authorized_keysrac2:/home/grid/.ssh/ scp .ssh/rac2.authorized_keys rac1:/home/grid/.ssh/
节点一:
cat .ssh/rac2.authorized_keys>> ~/.ssh/authorized_keys
节点二:
cat .ssh/rac1.authorized_keys>> ~/.ssh/authorized_keys
Ø 建立等效性(每个节点都执行)
ssh rac1 date
ssh rac2 date
ssh racp1 date
ssh racp2 date exec/usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
15、准备工作总结
注:最好重启一下,检查重要的配置。
Ø 登录grid用户图形界面,拷贝安装包并解压:
p10404530_112030_Linux-x86-64_3of7.zip
Ø 安装前预检查,大约需要 2 分钟,执行下列命令(若未建立 ssh 等效性,则这一步跳过):
./grid/runcluvfy.shstage -pre crsinst -n rac1,rac2 -verbose > /home/grid/ora.log
Ø 执行完毕,打开/home/grid/ora.log,看检查结果,问题不大则开始安装(必须保证,除了缺少i386或者i686的包以及
NTP检查不通过外,其他全部通过)。
四、安装Clusterware集群软件(Grid)
1、使用 grid 用户登录
开始安装
./grid/runInstaller
2、安装每一步需要注意的问题
l 第1步:选择不更新(第三个)
l 第2步:默认即可
l 第3步:选择高级安装
l 第4步:选择simpledchinese
l 第5步:去掉configureGNS,注意将SCAN-name改为 rac-sacn(与hosts文件中一致)
l 第6步:选择add,添加节点,最终结果如下
rac1 racv1
rac2 racv2
² 如果前面未设置ssh等效性:选择sshconnectivity,输入ospassword:oracle(grid用户密码),点击setup,
等待即可,成功则下一步
² 如果前面已经设置了ssh等效性:直接下一步
l 第7步:选择网卡2为private,若正确则下一步
l 第8步:默认即可
l 第9步:若未发现磁盘,则点击changediscovery path ,输入磁盘所在地址
l 第10步:use samepassword :orcl
l 第11步:默认即可
l 第12步:默认即可
l 第13步:默认即可
l 第14步:默认即可
l 第15步:提示的假如只是有些包未安装,则忽略,下一步,
如果最后一列中有yes,则选择Fix &Check Again,运行其中的脚本
l 第16步:默认即可
l 第17步:执行脚本:一定要用putty,登录root账户执行,并且不能同时执行,先执行完rac1再执行rac2
l 第18步:finish。
3、验证 Oracle GridInfrastructure 安装是否成功
注:使用grid用户,两节点均进行
l 检查 CRS 状态 :
crsctl check crs
结果:
CRS-4638: Oracle High AvailabilityServices is online
CRS-4537: Cluster Ready Servicesis online
CRS-4529: Cluster SynchronizationServices is online CRS-4533: EventManager is online
l 检查Clusterware 资源:
crs_stat -t –v
结果:
Name Type R/RA F/FT Target State
Host
-----------------------------------------------------------
-----------ora.CRS.dg ora....up.type 0/5 0/ ONLINE ONLINE
rac1ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE
rac1ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE
rac1ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE
rac1ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE
rac1 ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE ora....network ora....rk.type0/5 0/ ONLINE ONLINE
rac1ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE
rac1ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE
rac1ora....SM1.asm application 0/5 0/0 ONLINE ONLINE
rac1ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE
rac1 ora.rac1.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac1.ons application 0/3 0/0 ONLINE ONLINE
rac1ora.rac1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE
rac1ora....SM2.asm application 0/5 0/0 ONLINE ONLINE
rac2ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE
rac2 ora.rac2.gsd application 0/5 0/0 OFFLINE OFFLINE ora.rac2.ons application 0/3 0/0 ONLINE ONLINE
rac2ora.rac2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE
rac2 ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE rac1
l 检查集群节点:
olsnodes –n 结果:
rac1 1 rac2 2
l 检查两个节点上的 Oracle TNS监听器进程:
ps -ef | grep lsnr | grep -v'grep' | grep -v 'ocfs' | awk '{print
$9}'
节点1结果:
LISTENER_SCAN1 LISTENER
节点2结果:
LISTENER
l 确认针对 OracleClusterware 文件的Oracle ASM 功
能:
srvctl status asm –a 结果:
ASM is running onracnode1,racnode2 ASM is enabled.
l 检查 Oracle 集群注册表 (OCR) :
ocrcheck
结果:
Status of Oracle Cluster Registryis as follows :
Version : 3
Total space (kbytes) : 262120
Used space (kbytes) : 2516
Available space (kbytes) : 259604
ID : 1743549549
Device/File Name : +CRS
Device/Fileintegrity check succeeded
Device/Filenot configured Device/File not configured
Device/Filenot configured
Device/File not configured
Cluster registry integrity checksucceeded
Logical corruption check bypassed dueto non-privileged user
l 检查表决磁盘:
crsctl query css votedisk
结果:
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 28afe9ddb1474fe5bf3dfe10d2bf47a9(/dev/raw/raw1) [CRS]
2. ONLINE 8cccc79280ed4ff9bf28c331e9b45c46(/dev/raw/raw2)
[CRS]
3. ONLINE a7393b43eddb4f0cbffa25cd539d8d6c(/dev/raw/raw3)
[CRS]
4. ONLINE 27f4cf00fe6c4f3ebf159469af58cf04(/dev/raw/raw4)
[CRS]
5. ONLINE 061dec554e4d4fa2bfbadce1d2218dc0(/dev/raw/raw5)
[CRS]
Located 5 voting disk(s).
五、创建 ASM 磁盘组
在安装Clusterware的时候,会创建 ASM 实例,但是它只创建了一个 CRS 组来安装 OCR 和 Voting Disk。在我们继续安装 Oracle数据库之前,我们需要创建一个DATA和FRA的ASM磁盘组来存放这些文件。
1、在节点一上 grid用户登录,运行 ASM Configuration Assistant
asmca
l 选择Disk Groups选项卡
l Create
l 输入Disk GroupName:DATA
l 选择External
l 选择要添加的磁盘
l 点击Ok
l 使用的同样的方法创建FRA磁盘组
2、创建完成使用命令查看磁盘情况:
asmcmd -p lsdg exit
六、安装ORACLE数据库软件
注:这里只安装软件。
在节点一上 oracle 用户登录复制安装包:
p10404530_112030_Linux-x86-64_1of7.zipp10404530_112030_Linux-x86-64_2of7.zip
解压到同一目录
开始安装数据库软件
l Installdatabae software only
l Select all RAC nodes
l 设置 SSH
这里输入的是oracle用户的密码
l 选择语言
l 选择 EnterpriseEdition
l 选择 Oracle 安装目录
l 选择用户组
l 开始安装
l 执行root脚本,执行完安装结束。
七、使用DBCA配置数据库
1、在节点一上 oracle 用户登录
2、运行 DBCA(database Configuration Assistant)
dbca
l 选择 RAC 集群
l Createa database
l 选择类型
l 选择Configuration Type:Admin-Managed
设置实例名:prod这里一定要选择全部节点(Selectall)
l 不配置 EnterpriseManager 和AutomaticMainte- nance Tasks
l 设置密码
l 设置数据文件存放位置: DATA
l 不设置 FRA 和归档定义快速恢复区(FRA),如设置一般用整个卷的大小的90%
l 设置SamplesSchemas和CustomScripts
l 设置内存,字符集等
l 开始安装
八、RAC启停等基本操作、Linux常用命令
1、RAC 启停
l 启动rac
crs_start -all
l 关闭rac
crs_stop -all
l 启动em
emctl start dbconsole
l 查看资源
crs_stat –t
l 启动资源:
crsctl start resource –all
l 启动监听:
lsnrctl start
l 查看网络状态
netstat -inw
2、Linux 常用命令
l 查看所有文件系统的可用空间
df -h
l 查看oracle文件夹和其下一级大小
du -h --max-depth=1 /home/oracle
l 防火墙端口开启
iptables -I INPUT -p UDP --dport123 -j ACCEPT iptables -A INPUT -p UDP --dport 123 -j ACCEPT
service iptables save
l 设某服务(ntpd)为开机启动
chkconfig --level 345 ntpd on
l 关机
init 0
l 重启
init 6
l 查看挂起的程序
jobs
l 切换到挂起的程序 fg (切换到最后挂起的程序)fg 2(切换到第2个挂起的程序)
3、终端(bash shell)快捷键注:(C代表Ctrl,M代表Alt)
l 光标移动至行首
C-a
l 光标移动至行尾
C-e
l 清屏
C-l
l 删除光标后一个字符
C-d
l 删除光标后一个单词
M-d
l 删除光标后所有内容
C-k
l 删除光标前一个单词
C-w
l 删除光标前所有内容
C-u
l 上一条命令
C-p
l 下一条命令
C-n
l 光标前两字母交换顺序
C-t
l 光标前两单词交换顺序
M-t
l 撤销一步
C-y
l 撤销多步
M-y