基本规划
◎设备选型
1、服务器:Dell R620 两台。cpu 8 core,内存64G,600G 15000转sas硬盘,双电源,hba卡一块,连接存储线缆一根(连接hba卡和共享存储)。
2、存储:dell MD3200 一台。双控制器,12块600G 15000转sas硬盘。为追求最高可用性,使用的raid级别是raid10.
3、交换机:华为3com两台,型号为h3c S5048E。注意:网络端口最好是全千兆。
4、网线:2-3米机制6类线数根。–曾遇到网线不够,问IDC机房要了根网管自己做的六类线,质量不行,结果导致rac节点之间心跳检查时好时坏。
5、辅助设备:vpn及kvm over ip各一个
(1)小型简单的vpn,DI-8200 上网行为管理认证路由器。价格1000多,便宜稳定。很适合拿来配vpn,用于登录系统,管理各个服务器。
(2)kvm overip型号为ATEN cn8000。在系统不能远程登录的时候,打电话给IDC技术人员,让他们把这个设备连接到故障机,然后通过浏览器进行各种处理,如重装系统、查看屏幕信息、ctrl + Alt + Del重启等。这跟直接去机房连显示器和键盘是一样的效果。我敢保证,打车去机房现场处理,一定没电话给IDC机房,让人给接上这个设备快.
◎网络规划
1、网卡绑定:2个网卡绑定在一起,服务器的四个网卡,正好全部用上。即有效利用了带宽,又能增强可用性。
2、ip地址分配:应用连接网络地址为172.16.208.0/24,节点间心跳网络地址为 192.168.208.0/24。
3、网络连接及管理
(1)心跳网络与应用网络物理分离,各接一个交换机。
(2)服务器没有公网地址,必须通过vpn拨号,才能进行系统登录管理。
◎系统及所需工具
1、服务器操作系统:centos 5.9 64位,定制安装系统,选件包括xwindow及gnome。因安装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
2、oracle软件:
(1)集群管理软件linux.x64_11gR2_grid.zip,从oracle官网下载(需要注册为境外的电子邮件)
(2)数据库软件 linux.x64_11gR2_database,从oracle官网下载(需要注册为境外的电子邮件)
(3)存储管理软件 mdstoragemanager,从供货商获得光盘或者从dell的官网下载
(4)oracle asm相关软件:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm、oracleasmlib-2.0.4-1.el5.x86_64.rpm、oracleasm-support-2.1.7-1.el5.x86_64.rpm。这三个软件,一定要跟操作系统内核版本相一致,否则不能进行后边的操作。
◎分区使用及文件系统
1、oracle数据库及集群软件安装在本地硬盘/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磁盘组:OCR、FLASH、DATA(OCR占据空间最小大约分配500M;FLASH次之,分配大概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
3、Dell MD3200存储管理软件使用默认安装路径 /opt/dell/mdstoragesoftware。
4、asm管理软件使用rpm包安装,安装文件自然满山放羊,到处都有:比如配置文件在/etc/sysconfig/oracleasm,设备名在目录/dev/oracleasm/disks,可执行文件在这里/etc/init.d/oracleasm。
◎拓扑图
执行步骤
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
配置完毕后,重启一下系统,检查配置的正确性及联通性。正确配置的输出如下图所示:
◎配置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客户端,远程连接,看是否能出现远程服务器的图形桌面。
◎创建安装软件所需的帐号、目录、依赖软件等。为了节省时间和避免出错,我把这些步骤写成一个粗糙的脚本,执行一次就可以了。脚本的内容如下:
[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
弹出安装窗口;
鼠标点击Install MD Storage Software;
选默认的情况就行;
选择sas(我用的是MD3200,正好匹配),后边的安装就很容易了,这里不在赘述。安装完系统后,将在桌面生成图标,点击图表,就可以进行存储管理。
如果不幸出现如下错误,请修改/etc/hosts文件解决
◎配置共享存储(在一个节点上执行即可)
1、双击图标,启动存储管理工具
2、选择手动Manual,然后选择带内管理
3、此处输入连接磁盘阵列的主机ip地址
4、创建磁盘组,选择raid级别为RAID10,把12个盘都选择上,这个过程很费时间
5、虚拟磁盘映射到主机,目的是要连接到阵列的主机都能访问到虚拟磁盘组
6、填入一个容易标识的名称
7、鼠标右键点击刚创建的主机组名称,调出主机定义
8、输入主机名(以/etc/hosts为准)
9、选择连接端口,这里需要注意,弄错了,主机识别不到磁盘组的
10、鼠标点击按钮”Add”
定义好第一个主机后的界面为
用同样的方法,把余下的主机也定义好。
11、定义附件映射,亦即是给主机分配可访问的磁盘空间
12、点击附加映像
13、选定虚拟磁盘(前边做raid创建出来的),然后鼠标点击Add
◎检查rac节点服务器是否识别上述步骤创建的虚拟磁盘(每个节点都要检查,确保其正确性)。在主机上执行fdisk –l
如果没有识别,重启一下系统就好了。
◎主机磁盘分区(仅需在一个主机进行,完成后在其它主机查看分区情况)
因为容量大于2TB,因此需要使用parted进行分区。根据规划,我们需要分6个分区,分别用来存储OCR、FLASH AREA及数据文件。
◆分区前,使用multipath –ll查看磁盘设备文件的名称,确保分区在正确的设备上进行
◆进入目录 /dev/mapper,查看是否存在mpath*这样的文件
本例显示的磁盘阵列映射的设备名是mpath2,那么用dparted分区,就要在/dev/mapper/mpath2上进行了。分区后的结果如下
◆检查分区是否成功?进入目录/dev/mapper,可以看到分区后新生成的文件
(三)安装和配置自动存储管理ASM
oracle 11g rac推荐的存储方式为ASM(Automatic Storage Management),具体功能和概念,就没必要在这里重复。我们需要根据系统的内核版本,在官网下载与内核相一致的rpm安装包。
一共三个,如图所示:
如果下载来的包跟内核不匹配,将会导致asm初始化失败,不能进行进一步的操作。这是初学者很容易犯的错误,切记了!
◎安装asm相关的软件包
执行 rpm –ivh oracleadm进行安装。这几个包之间有依赖关系,如果一个个单独安装,需要按某种顺序进行,如果使用通配符,就省事多了,它能自动进行依赖处理。
安装完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 ]
我一共创建6个oracle asm磁盘,这样做的好处是把数据尽可能的分散到不同的磁盘区域,后边再把2个asm磁盘合并成一个磁盘组,提高可用性和扩充空间。
如果执行过程出现故障,可通过日志文件/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个文件
(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,如果正常,将弹出如下图的安装界面:
选择典型安装
SCAN的名称,要与/etc/hosts完全一致,特别注意,在同一个网段内,要保证这个命名的唯一性。如果在同一网段内部署多个oracle rac集群,scan的命名如果重复了,安装将不能继续进行!!!
加入余下的主机(默认情况下,只有一个主机显示)
一定要对着/etc/hosts定义好的填写
添加好后,主机名应该显示在列表中
Ssh连接验证,点按钮”SSH Connectivity …”,这里一定要做好ssh无密码验证,否则下一步不能进行(我在这里费了好长的时间啊)。
说明:ssh连接,也可以不用手工设置,直接点那个setup进行处理,省事不少。
选择安装目录及存储位置(注意base要有location不一样哟)
创建asm磁盘组,因为磁盘阵列做了raid10,因此下边的冗余等级就选择外部的(External)
这些名字看着眼熟吧?就是前边oracleasm createdisk创建出来的。这里勾选2个项目,目的在于把他们合并成一个asm磁盘组。如果此处没有找到候选磁盘,则需点击按钮“Change Discovery Path”就,进行手工查找。
最好输入全路径,幸运的是,这里支持通配符.这里创建的磁盘组,是用来存储asm磁盘仲裁等信息。
再往下进行校验,突然弹出一个报错信息,是关于ntp的。先关闭ntpd服务,然后删掉配置文件/etc/ntp.conf,这样就排除了故障。
到这里以后,一般不会出什么状况,只管点按钮“完成”进行文件的提取和安装,执行到一定程度后,需要以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查看目录或者文件,有内容者则是我们锁需要的。
(3) 查看安装目录,看是否生成相关的目录很文件
(五)Oracle安装和数据库创建
◎安装数据库软件(在一个节点进行操作,安装过程中,有脚本需要同时在每个节点都运行,请注意看安装提示就可以了)
与安装grid一样,还是需要用vnc连接到某个节点的系统,执行 xhost + ,然后再打开一个终端,执行 su – oracle 切换到oracle用户。再进入安装源文件的目录,执行脚本./runInstaller,如果正常,将弹出如下图的安装界面:
先安装软件,后边单独创建数据库。
跟grid一样,需要先进行ssh验证
验证成功以后,后边的步骤不容易出错,也跟单实例安装基本相同。
◎创建数据库(在一个节点上操作)
以oracle帐号执行dbca
若干下一步后,咱们还是选择定制方式吧(Custom Database)
记得把所有的主机都选上
创建所需asm磁盘组(前边安装grid时,已经创建过一组了):grid用户执行asmca
手工输入和选定一些项目
转呀转,要一点点耐心,嘿!刚敲到这里,就出来了
创建好后,目前还可以改哟。将来数据库上线运行了,不能再做这个尝试了。现有环境创建完后汇总输出如下
选择数据库文件存放的位置。当然要选ASM。如果不执行这个磁盘组创建过程,后面的数据库文件存放位置,如果选asm,将不能往下进行。
选容量最大的这个(OCR已经被前边的操作占用了,FLASH留到后边用)
往下一步的时候,需要输入asm的一个密码。密码在前天的grid安装设定的哟,要记牢。
归档区也用asm,这就用上前边剩下的asm磁盘组FLASH,一个也没多余。
自己动手,选大的
归档要打勾哟(当然实例运行起来后,也是可以打开的)
后边几步,就不用截图了。到这里,就慢慢等着吧
部署过程,很漫长,也很考验人的耐性。
后续及注意事项
◆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 指定interfere为grid,组groups为oinstall。因为oracle帐号也属于oinstall组
写这些文字,花了不少时间,希望能对需要的人有所帮助。网上有一些文档,但大部分都是虚拟环境,领会不了asm真实场景的特性。