Oracle 11g rac 生产环境部署详录

作者:田逸(sery@163.com

 

基本规划

 

设备选型

1、服务器:Dell R620 两台。cpu 8 core,内存64G600G 15000sas硬盘,双电源,hba卡一块,连接存储线缆一根(连接hba卡和共享存储)。

2、存储:dell MD3200 一台。双控制器,12600G 15000sas硬盘。为追求最高可用性,使用的raid级别是raid10.

3、交换机:华为3com两台,型号为h3c S5048E。注意:网络端口最好是全千兆。

4、网线:2-3米机制6类线数根。--曾遇到网线不够,问IDC机房要了根网管自己做的六类线,质量不行,结果导致rac节点之间心跳检查时好时坏。

5、辅助设备:vpnkvm over ip各一个

1)小型简单的vpnDI-8200 上网行为管理认证路由器。价格1000多,便宜稳定。很适合拿来配vpn,用于登录系统,管理各个服务器。

2kvm overip型号为ATEN cn8000。在系统不能远程登录的时候,打电话给IDC技术人员,让他们把这个设备连接到故障机,然后通过浏览器进行各种处理,如重装系统、查看屏幕信息、ctrl + Alt + Del重启等。这跟直接去机房连显示器和键盘是一样的效果。我敢保证,打车去机房现场处理,一定没电话给IDC机房,让人给接上这个设备快.

 

网络规划

1、网卡绑定:2个网卡绑定在一起,服务器的四个网卡,正好全部用上。即有效利用了带宽,又能增强可用性。

2ip地址分配:应用连接网络地址为172.16.208.0/24,节点间心跳网络地址为 192.168.208.0/24

3、网络连接及管理

1)心跳网络与应用网络物理分离,各接一个交换机。

2)服务器没有公网地址,必须通过vpn拨号,才能进行系统登录管理。

 

系统及所需工具

1、服务器操作系统:centos 5.9 64位,定制安装系统,选件包括xwindowgnome。因安装oracle时需要图形用户界面,一个好的选择就是vncserver。在进行正式部署前,最好确保安装好了vncserver。一个定制好的系统的分区为:

[root@rac70 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda6              29G   16G   12G  60% /

/dev/sda9             362G  215G  129G  63% /u01

/dev/sda8              15G  165M   14G   2% /tmp

/dev/sda7              19G   15G  3.9G  79% /home

/dev/sda5              29G  2.5G   25G  10% /usr

/dev/sda3              29G  321M   27G   2% /var

/dev/sda1              99M   19M   75M  21% /boot

tmpfs                  32G   18G   15G  55% /dev/shm

2oracle软件:

1)集群管理软件linux.x64_11gR2_grid.zip,从oracle官网下载(需要注册为境外的电子邮件)

2)数据库软件 linux.x64_11gR2_database,从oracle官网下载(需要注册为境外的电子邮件)

3)存储管理软件 mdstoragemanager,从供货商获得光盘或者从dell的官网下载

4oracle asm相关软件:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpmoracleasmlib-2.0.4-1.el5.x86_64.rpmoracleasm-support-2.1.7-1.el5.x86_64.rpm。这三个软件,一定要跟操作系统内核版本相一致,否则不能进行后边的操作。

 

◎分区使用及文件系统

1oracle数据库及集群软件安装在本地硬盘/u01分区。

1)集群软件路径 /u01/app/grid

2)数据库软件路径 /u01/app/oracle/product/11.2.0

3)集群软件和数据库软件base路径为都为 /u01/app/oracle。因为软件安装路径(ORACLE_HOME)不能与BASE是同一个目录,因此这里弄得有点混乱,甚至有点别扭。幸运的是,这样令人疑惑的设置也能正常工作。希望将来的项目,可以提前把这样的设置规划得更规范些。打开一个安装好的环境,进入ORACLE_BASE目录,其子目录如下:

[root@db40 oracle]# ll

total 20

drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 admin

drwxr-x--- 6 oracle oinstall 4096 Mar  2 23:52 cfgtoollogs

drwxr-xr-x 2 oracle oinstall 4096 Mar  2 23:20 checkpoints

drwxrwxr-x 5 oracle oinstall 4096 Mar  2 23:52 diag

drwxr-xr-x 3 oracle oinstall 4096 Mar  2 23:12 product

再进入目录diag,有三个子目录存在:

[root@db40 diag]# ll

total 12

drwxr-x--- 3 oracle oinstall 4096 Mar  2 21:50 asm

drwxr-x--- 3 oracle oinstall 4096 Mar  2 23:52 rdbms

drwxr-xr-x 3 oracle oinstall 4096 Mar  2 21:53 tnslsnr

瞧,asm文件系统、数据库以及监听器的告警日志都能在这里找到。如asm告警日志/u01/app/oracle/diag/asm/+asm/+ASM2/alert/log.xml

2、数据存储使用oracle自家ASM(自动存储管理),划分三个asm磁盘组:OCRFLASHDATAOCR占据空间最小大约分配500MFLASH次之,分配大概300G;剩余的全部分配给DATA)。其中:

OCR存储集群注册信息

ASMCMD> pwd     

+OCR/db1-scan

ASMCMD> ls

ASMPARAMETERFILE/

OCRFILE/

FLASH存储归档日志及rman默认备份集

ASMCMD> cd FLASH

ASMCMD> ls

ZYZF/

ASMCMD> cd ZYZF

ASMCMD> ls

ARCHIVELOG/

BACKUPSET

DATA存储oracle数据库元数据及用户数据

ASMCMD> cd DATA

ASMCMD> ls

ZYZF/

ASMCMD> cd ZYZF

ASMCMD> ls

CONTROLFILE/

DATAFILE/

ONLINELOG/

PARAMETERFILE/

TEMPFILE/

control01.ctl

control02.ctl

………此处输出省略若干…………….

redo07.log

redo08.log

spfilezyzf.ora

3Dell MD3200存储管理软件使用默认安装路径 /opt/dell/mdstoragesoftware

4asm管理软件使用rpm包安装,安装文件自然满山放羊,到处都有:比如配置文件在/etc/sysconfig/oracleasm,设备名在目录/dev/oracleasm/disks,可执行文件在这里/etc/init.d/oracleasm

 

拓扑图clip_image002

 

执行步骤

1、  准备运行环境;

2、  准备及配置共享存储;

3、  准备数据库存储空间;

4、  安装集群工具grid;

5、  安装和创建oracle数据库

特别说明:因为文档为后期撰写,为了描述更详尽,截图可能来自不同的运行环境,因此如果出现图片中ip地址与描述不一致的情况,请勿过多质疑。

 

(一)、准备运行环境

这里的运行环境环境主要包括远程桌面环境(我使用的是vnc服务)、安装软件所需的依赖工具、创建相关的帐号及目录、设置网络连接等。

 

设置网络(每个节点都需要设置)

修改文件 /etc/modprobe.conf,使其内容为:

alias scsi_hostadapter mpt2sas

alias eth0 tg3

alias eth1 tg3

alias eth2 tg3

alias eth3 tg3

alias scsi_hostadapter1 megaraid_sas

alias scsi_hostadapter2 ahci

alias scsi_hostadapter3 usb-storage

# Begin Dell MD Modification

options scsi_dh_rdac blacklist="DELL:MD3000,DELL:MD3000i"

# End Dell MD Modification

alias bond0 bonding

options bond0 miimon=100 mode=0

alias bond1 bonding

options bond1 miimon=100 mode=0

修改网络接口文件,使其内容如下(为了描述方便,数个文件一起贴出)

[root@rac70 network-scripts]# more ifcfg-eth0

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=eth0

#HWADDR=E0:DB:55:20:E7:10

ONBOOT=yes

TYPE=Ethernet

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

 

[root@rac70 network-scripts]# more ifcfg-eth1

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=eth1

BOOTPROTO=none

#HWADDR=e0:db:55:20:e7:11

ONBOOT=yes

TYPE=Ethernet

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

 

[root@rac70 network-scripts]# more ifcfg-eth2

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=eth2

BOOTPROTO=none

#HWADDR=e0:db:55:20:e7:12

ONBOOT=yes

TYPE=Ethernet

USERCTL=no

MASTER=bond1

SLAVE=yes

TYPE=Ethernet

 

[root@rac70 network-scripts]# more ifcfg-eth3

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=eth3

#HWADDR=E0:DB:55:20:E7:13

ONBOOT=yes

HOTPLUG=no

BOOTPROTO=none

TYPE=Ethernet

MASTER=bond1

SLAVE=yes

TYPE=Ethernet

创建新的网络配置文件,其完整内容如下:

[root@rac70 network-scripts]# more ifcfg-bond0

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=bond0

BOOTPROTO=none

BROADCAST=172.16.208.255

IPADDR=172.16.208.70

NETMASK=255.255.255.0

NETWORK=172.16.208.0

ONBOOT=yes

GATEWAY=172.16.208.201

TYPE=Ethernet

 

[root@rac70 network-scripts]# more ifcfg-bond1

# Broadcom Corporation NetXtreme BCM5720 Gigabit Ethernet PCIe

DEVICE=bond1

BOOTPROTO=none

ONBOOT=yes

DHCP_HOSTNAME=oracle70

TYPE=Ethernet

USERCTL=no

IPADDR=192.168.208.70

NETMASK=255.255.255.0

追加下面的行到/etc/rc.local文件

modprobe bonding miimon=100 mode=0

配置完毕后,重启一下系统,检查配置的正确性及联通性。正确配置的输出如下图所示:

clip_image004

 

配置vnc服务(每个rac节点都需要配置)

1确保安装了vncserver软件。测试方法:任意路径执行命令 vncserver,如果命令不存在,则运行命令yum install vncserver安装一下。

2、执行 vncserver启动服务,如果是第一次启动,需要设置vnc服务的密码,这里建议设置跟系统root相同的密码(要用复杂密码哟!)。

3、修改文件/root/.vnc/xstart,使其内容为:

#!/bin/sh

 

# Uncomment the following two lines for normal desktop:

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

 

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

#twm &

gnome start&

4、重启系统,再启动vncserver,然后在windows机器启用vnc客户端,远程连接,看是否能出现远程服务器的图形桌面。

clip_image006

 

创建安装软件所需的帐号、目录、依赖软件等。为了节省时间和避免出错,我把这些步骤写成一个粗糙的脚本,执行一次就可以了。脚本的内容如下:

[root@db40 oracle_rac]# more oracle_rac_rep.sh

#!/bin/bash

#writed by sery 2012-05-16

 

#########################################

#install depending packages             #

#########################################

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc \ glibc-common glibc-devel gcc gcc-c++ libaio-devel \

libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel \

pdksh numactl-devel glibc-headers

 

########################################

#add groups,user and create dir        #

########################################

/usr/sbin/groupadd -g 501 oinstall

/usr/sbin/groupadd -g 502 dba

/usr/sbin/groupadd -g 504 asmadmin

/usr/sbin/groupadd -g 506 asmdba

/usr/sbin/groupadd -g 507 asmoper

 

useradd -u 1000 -g oinstall -G dba,asmdba oracle

useradd -u 1006 -g oinstall -G asmadmin,asmdba,asmoper grid

 

mkdir /u01/app/

chown -R grid:oinstall /u01/app/

chmod -R 775 /u01/app/

 

mkdir -p /u01/app/oraInventory

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

chmod -R 775 /u01/app/oraInventory

 

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle

 

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

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

 

chmod -R 775 /u01/app/oracle

chmod -R 775 /u01/app/grid

 

##############################################

#modify  sysctl.conf                         #

##############################################

cat >> /etc/sysctl.conf <<done

fs.file-max = 6815744

kernel.shmall = 2097152

#kernel.shmmax = 536870912

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

fs.aio-max-nr = 1048576

done

 

sysctl -p

 

###############################################

#modify  /etc/security/limits.conf            #

###############################################

cat >> /etc/security/limits.conf << done

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

done

 

################################################

#modify /etc/pam.d/login                       #

################################################

echo "session    required     pam_limits.so">>/etc/pam.d/login

 

################################################

# setting user oracle env                            #

################################################

cat >> /home/oracle/.bash_profile <<done

export ORACLE_SID=zyzf1

export ORACLE_UNQNAME=zyzf1

export ORACLE_base=/u01/app/oracle

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

export PATH=$ORACLE_HOME/bin:$PATH

done

 

###############################################

#setting user grid env                             #

###############################################

cat >> /home/grid/.bash_profile <<done

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/grid

export PATH=$ORACLE_HOME/bin:$PATH

done

 

设置相关主机名及ip映射(每个节点都要进行)

修改文件/etc/hosts,使其内容为:

[root@db40 oracle_rac]# more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1       db40    localhost.localdomain localhost

::1             localhost6.localdomain6 localhost6

 

# Pubic

172.16.5.40         db40

172.16.5.50         db50

# Private

10.16.5.40        db40-priv

10.16.5.50        db50-priv

# Virtual

172.16.5.41         db40-vip

172.16.5.51         db50-vip

# SCAN

172.16.5.55         db1-scan

 

#dghost

172.16.5.60        datadg

 

(二)、准备及配置共享存储

 

确保服务器与存储设备做好了物理连接:通过查看设备指示灯获得信息。正常情况下,hba卡的指示灯、存储设备连线处的指示灯,都应该显示绿色。

 

主机安装存储管理软件powervault。注意:每个rac节点都需要安装,否则未安装的节点将不能发现共享磁盘。具体的过程如下:

远程vnc连接服务器

进入软件目录,执行命令./md_launcher_rhel_x86_64.bin

clip_image008

弹出安装窗口;

clip_image010

鼠标点击Install MD Storage Software

clip_image012

选默认的情况就行;

clip_image014

选择sas(我用的是MD3200,正好匹配),后边的安装就很容易了,这里不在赘述。安装完系统后,将在桌面生成图标,点击图表,就可以进行存储管理。

 

clip_image016

如果不幸出现如下错误,请修改/etc/hosts文件解决

clip_image017

配置共享存储(在一个节点上执行即可)

1、双击图标,启动存储管理工具

clip_image019

2、选择手动Manual,然后选择带内管理

clip_image021

3此处输入连接磁盘阵列的主机ip地址

4创建磁盘组,选择raid级别为RAID10,把12个盘都选择上,这个过程很费时间

clip_image023

5虚拟磁盘映射到主机,目的是要连接到阵列的主机都能访问到虚拟磁盘组

clip_image025

6填入一个容易标识的名称

clip_image027

7鼠标右键点击刚创建的主机组名称,调出主机定义

clip_image029

8输入主机名(以/etc/hosts为准)

clip_image031

9选择连接端口,这里需要注意,弄错了,主机识别不到磁盘组的

clip_image033

10鼠标点击按钮”Add”

clip_image035

定义好第一个主机后的界面为

clip_image037

用同样的方法,把余下的主机也定义好。

clip_image038

11定义附件映射,亦即是给主机分配可访问的磁盘空间

clip_image040

12、点击附加映像

clip_image042

13、选定虚拟磁盘(前边做raid创建出来的),然后鼠标点击Add

clip_image044

检查rac节点服务器是否识别上述步骤创建的虚拟磁盘(每个节点都要检查,确保其正确性)。在主机上执行fdisk –l

clip_image045

如果没有识别,重启一下系统就好了。

主机磁盘分区(仅需在一个主机进行,完成后在其它主机查看分区情况)

因为容量大于2TB,因此需要使用parted进行分区。根据规划,我们需要分6个分区,分别用来存储OCRFLASH AREA及数据文件。

分区前,使用multipath –ll查看磁盘设备文件的名称,确保分区在正确的设备上进行

clip_image046

进入目录 /dev/mapper,查看是否存在mpath*这样的文件

clip_image047

本例显示的磁盘阵列映射的设备名是mpath2,那么用dparted分区,就要在/dev/mapper/mpath2上进行了。分区后的结果如下

clip_image048

◆检查分区是否成功?进入目录/dev/mapper,可以看到分区后新生成的文件

clip_image049

 

 

(三)安装和配置自动存储管理ASM

 

oracle 11g rac推荐的存储方式为ASMAutomatic Storage Management),具体功能和概念,就没必要在这里重复。我们需要根据系统的内核版本,在官网下载与内核相一致的rpm安装包。

clip_image051

一共三个,如图所示:

clip_image053

如果下载来的包跟内核不匹配,将会导致asm初始化失败,不能进行进一步的操作。这是初学者很容易犯的错误,切记了!

 

安装asm相关的软件包

执行 rpm –ivh oracleadm*进行安装。这几个包之间有依赖关系,如果一个个单独安装,需要按某种顺序进行,如果使用通配符*,就省事多了,它能自动进行依赖处理。

clip_image055

安装完oracleasm以后,至少会生成目录 /dev/oracleasm/disks,这时我们可以查看一下这个目录,发现它里面是空的,接下来的操作,就可以在目录里生成如果文件了。

执行/etc/init.d/oracleasm configure ,进行初始化,根据输出指定asm的属主及组。

接下来,就可以创建asm磁盘组了,所执行的命令如下:

[root@db40 ~]# service oracleasm start

Initializing the Oracle ASMLib driver: [  OK  ]

Scanning the system for Oracle ASMLib disks: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL1 /dev/mapper/mpath2p1

Marking disk "OCR_VOL1" as an ASM disk: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  OCR_VOL2 /dev/mapper/mpath2p2

Marking disk "OCR_VOL2" as an ASM disk: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL1 /dev/mapper/mpath2p3

Marking disk "FLASH_VOL1" as an ASM disk: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  FLASH_VOL2 /dev/mapper/mpath2p4

Marking disk "FLASH_VOL2" as an ASM disk: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL1 /dev/mapper/mpath2p5

Marking disk "DATA_VOL1" as an ASM disk: [  OK  ]

[root@db40 ~]# /etc/init.d/oracleasm createdisk  DATA_VOL2 /dev/mapper/mpath2p6

Marking disk "DATA_VOL2" as an ASM disk: [  OK  ]

我一共创建6oracle asm磁盘,这样做的好处是把数据尽可能的分散到不同的磁盘区域,后边再把2asm磁盘合并成一个磁盘组,提高可用性和扩充空间。

 

如果执行过程出现故障,可通过日志文件/var/log/oracleam看出端倪。执行完以后,用一下方法检查是否如愿(一次安装过程中,发现一个节点没有目录/dev/oracleasm,日志/var/log/oracleasm有“oracleasm-read-label: Unable to open device "/dev/sdb1": No such file or directory”,折腾半天,原来是没执行/etc/init.d/oracleasm enable):

 

检查oracleasm创建的磁盘是否成功

(1)       查看系统目录,看是不是至少存在6个文件

clip_image056

2)从逻辑上查看asm磁盘组,记得要在每一个rac主机查询

[root@db50 ~]# /etc/init.d/oracleasm scandisks

Scanning the system for Oracle ASMLib disks: [  OK  ]

[root@db50 ~]# /etc/init.d/oracleasm listdisks

DATA_VOL1

DATA_VOL2

FLASH_VOL1

FLASH_VOL2

OCR_VOL1

OCR_VOL2

 

 

(四)安装集群软件grid

 

grid软件安装(安装过程只需在一个节点执行,有脚本需要同时在每个节点都运行,请注意看安装提示就可以了)。

 

Vnc连接服务器,打开终端,执行xhost + ,接着进入源安装文件目录,执行命令 ./runInstaller,如果正常,将弹出如下图的安装界面:

clip_image058

选择典型安装

SCAN的名称,要与/etc/hosts完全一致,特别注意,在同一个网段内,要保证这个命名的唯一性如果在同一网段内部署多个oracle rac集群,scan的命名如果重复了,安装将不能继续进行!!!

clip_image060

加入余下的主机(默认情况下,只有一个主机显示)

clip_image062

一定要对着/etc/hosts定义好的填写

clip_image063

添加好后,主机名应该显示在列表中

clip_image065

Ssh连接验证,点按钮”SSH Connectivity …”,这里一定要做好ssh无密码验证,否则下一步不能进行(我在这里费了好长的时间啊)。

clip_image067

说明:ssh连接,也可以不用手工设置,直接点那个setup进行处理,省事不少。

选择安装目录及存储位置(注意base要有location不一样哟)

clip_image069

创建asm磁盘组,因为磁盘阵列做了raid10,因此下边的冗余等级就选择外部的(External

clip_image071

这些名字看着眼熟吧?就是前边oracleasm createdisk创建出来的。这里勾选2个项目,目的在于把他们合并成一个asm磁盘组。如果此处没有找到候选磁盘,则需点击按钮“Change Discovery Path”就,进行手工查找。

clip_image072

最好输入全路径,幸运的是,这里支持通配符.这里创建的磁盘组,是用来存储asm磁盘仲裁等信息。

再往下进行校验,突然弹出一个报错信息,是关于ntp的。先关闭ntpd服务,然后删掉配置文件/etc/ntp.conf,这样就排除了故障。

clip_image074

到这里以后,一般不会出什么状况,只管点按钮“完成”进行文件的提取和安装,执行到一定程度后,需要以root帐号执行两个脚本/u01/app/oraInventory/orainstRoot.sh/u01/app/grid/root.sh,后一个脚本很费时间,也容易出错。

 

第一个服务器,执行一次通过,但第二个服务器执行时,出现错误信息:

ASM failed to start. Check /u01/app/oracle/cfgtoollogs/asmca/asmca-14030210PM2304.log for details.

 

Configuration of ASM failed, see logs for details

Did not succssfully configure and start ASM

CRS-2500: Cannot stop resource 'ora.crsd' as it is not running

CRS-4000: Command Stop failed, or completed with errors.

Command return code of 1 (256) from command: /u01/app/grid/bin/crsctl stop resource ora.crsd -init

Stop of resource "ora.crsd -init" failed

通过对比检查,发现两个服务器的目录属主有不一致的地方。正确运行脚本成功的那个/dev/oracleasm/下的目录属主是grid:oinstall,而有问题的那个主机的属主是root:root,执行/ete/init.d/oracleasm指定属主和组,保证文件的属组和主是正确的,然后执行./roothas.pl -delete -force -verbose  ,删除不成功的配置,最后执行/u01/app/grid/root.sh完成安装。注意:安装界面有2个失败,是因为私有地址做的public,可以无视。

 

◎检查安装的正确性

 

(1)       查看asm进程

(2)       grid帐号,执行 asmcmd ,提示符下ls查看目录或者文件,有内容者则是我们锁需要的。

clip_image075

(3)       查看安装目录,看是否生成相关的目录很文件

clip_image076

 

(五)Oracle安装和数据库创建

 

安装数据库软件(在一个节点进行操作,安装过程中,有脚本需要同时在每个节点都运行,请注意看安装提示就可以了)

 

与安装grid一样,还是需要用vnc连接到某个节点的系统,执行 xhost + ,然后再打开一个终端,执行 su – oracle 切换到oracle用户。再进入安装源文件的目录,执行脚本./runInstaller,如果正常,将弹出如下图的安装界面:

clip_image078

先安装软件,后边单独创建数据库。

grid一样,需要先进行ssh验证

clip_image080

验证成功以后,后边的步骤不容易出错,也跟单实例安装基本相同。

 

创建数据库(在一个节点上操作)

 

oracle帐号执行dbca

clip_image082

若干下一步后,咱们还是选择定制方式吧(Custom Database

clip_image084

记得把所有的主机都选上

clip_image086

创建所需asm磁盘组(前边安装grid时,已经创建过一组了):grid用户执行asmca

clip_image088

手工输入和选定一些项目

clip_image090

转呀转,要一点点耐心,嘿!刚敲到这里,就出来了

clip_image091

创建好后,目前还可以改哟。将来数据库上线运行了,不能再做这个尝试了。现有环境创建完后汇总输出如下

clip_image093

选择数据库文件存放的位置。当然要选ASM。如果不执行这个磁盘组创建过程,后面的数据库文件存放位置,如果选asm,将不能往下进行。

clip_image095

选容量最大的这个(OCR已经被前边的操作占用了,FLASH留到后边用)

clip_image097

往下一步的时候,需要输入asm的一个密码。密码在前天的grid安装设定的哟,要记牢。

归档区也用asm,这就用上前边剩下的asm磁盘组FLASH,一个也没多余。

clip_image099

自己动手,选大的

clip_image101

归档要打勾哟(当然实例运行起来后,也是可以打开的)

clip_image103

后边几步,就不用截图了。到这里,就慢慢等着吧

clip_image105

 

部署过程,很漫长,也很考验人的耐性。

 

后续及注意事项

 

oracle rac数据库创建后,默认的一些系统表空间太小,运行不了多久,就会达到90%以上,最好在创建完毕后把它改大一些。

oracle rac监听器监听的ip地址是虚拟地址,如果尝试连接实际物理地址,将永远不会得逞。

oracle rac心跳检查导致大量的数据通讯,因此对网络的质量和速度要求较高。一个运行中的oracle rac集群,曾因为少买了一根网线而使用机房提供的劣质六类线,导致心跳检测时好时坏,引起实例关闭。

用户表空间,固定大小,扩充容量以创建多个数据文件为佳。

默认的重做日志文件也很小,需要多创建几个日志组,并增大其容量。

oracle rac运行起来后,一定要做好备份,熟练的用好rman,将会有很多好处。

如果条件运行,跨机房的dataguard给弄上哟。

多路径没配好,可能会导致数据路径交替切换,一会走这条数据线,一会又走另一条数据线。直接的表现就是数据访问缓慢。通过查询报警日志可以得到有用的信息。

报警日志文件非常有用,要经常关注它!

修改/etc/sysconfig/ntp,增加行OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid" 重启ntpd服务

Ssh等效要双向,即从任何一个服务器可以无密码登录另一个服务器系统

/etc/hosts的第一行,要把主机名去掉;同时/etc/sysconf/network里面的名称,要与/etc/hosts一致

Oracleasm配置时,一定要注意属主和组名。否则会有权限问题。Oracleasm configure –i 指定interferegrid,groupsoinstall。因为oracle帐号也属于oinstall

 

写这些文字,花了不少时间,希望能对需要的人有所帮助。网上有一些文档,但大部分都是虚拟环境,领会不了asm真实场景的特性。

 

                                                      2014-8-28 大兴黄村出租房