介绍本文档的读者对象和修订记录。
本文档以Centos6.5操作系统为例,介绍了在VMware下使用虚拟磁盘的Oracle11g R2(RAC)数据库的安装方法。
本文档主要适用于学习
修改记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。
第一次正式发布。
将文档修改成供学习使用的VMware环境。
公司业务使用的是oracle11g RAC,虽然也是当初自己搭建的,但是业务上线以后,为了降低风险,一些维护操作还是需要测试环境来验证,因此想到用VMware来搭建oracle 11g RAC来做测试环境。
本节主要介绍安装Oracle11g R2数据库的基本概念、安装流程及注意事项。
2.1 RAC中的基本概念
2.2 安装流程
2.3 注意事项
本手册介绍在IBM+CentOS6.5平台下以RAC方式基于ASM安装Oracle11g R2软件,集群中共两个节点。安装Oracle RAC+ASM前,您可能需要先简要的了解RAC、ASM的概念以及安装流程。
RAC
RAC是Real Application Clusters的缩写,是Oracle数据库的一个组件。通过使用RAC,Oracle数据库可跨一组集群服务器运行任何打包的或自定义的应用程序,不需对这些应用程序做任何改动。
ASM
ASM全称为Automated Storage Management,是ORACLE公司自行开发的存储管理软件,用于替代操作系统所提供的LVM(Logical Volume Manager)来管理存储和数据文件。
在Oracle10g这个版本之前,管理一个大型数据库成百上千个的数据文件对数据库管理员来说是一个既无技术含量又十分枯燥的工作,这要求数据库管理员要熟悉一些系统的LVM的相关知识,做好磁盘规划,LV的条带等相关的系统方面的相关操作。
而使用ASM将大大减轻这方面的工作量,数据库管理员只需要管理少数几个磁盘组即可。一个磁盘组是ASM管理的一个逻辑单元,由一组磁盘设备组成。我们可以定义一个磁盘组作为数据库的默认磁盘组,Oracle会自动管理存储,包括创建、删除数据文件等。Oracle会自动将这些文件与一个合适的数据库对象做关联,这样我们在管理这些对象时只需要提供对象的名称,而无需像以前那样提供详细的文件名。
本文中的“ASM实例”是指用ASM来管理数据文件的数据库实例。
本节主要介绍Oracle11g R2的安装流程。
IBM平台Centos6.5操作系统RAC方式安装Oracle11g R2,流程如图2-1所示。
图2-1 安装流程
本节主要介绍安装Oracle11g R2数据库的注意事项。
在安装时,需要注意事项如下:
l 请确保双机符合以下要求:
? 操作系统一致。
? 数据库版本一致。
l 请在阅读文档时特别关注粗体字和斜体字部分。
l 在执行命令时,请重视命令前的提示符。
? 如果是“#”,则表示此命令是以root用户执行的。
? 如果是“$”,则表示是以oracle用户或者grid用户执行。
本节介绍安装Oracle11g R2前的相关准备和配置工作。
本章节所有操作,如无特别说明,均需要在两个主机上分别进行操作。
3.1 检查硬件环境
安装前需检查磁盘阵列、网络设备、主机内存及CPU的配置情况。
3.2 检查软件环境
本节介绍安装Oracle11g R2数据库软件环境要求。
3.3 配置RAC环境
安装Oracle数据库软件前需先配置RAC环境。
3.4 配置本地磁盘
安装Oracle数据库软件前需配置本地磁盘。
3.5 创建组和用户
本节介绍如何创建组和用户。
3.6 创建安装目录
本节介绍如何创建安装目录。
3.7 设置用户环境变量
安装Oracle数据库软件前需设置用户变量,包括oracle和grid用户。
3.8 配置异步I/O
本节介绍如何配置异步I/O。
安装前需检查磁盘阵列、网络设备、主机内存及CPU的配置情况。
安装数据库对硬件要求如表3-1所示。
表3-1 硬件要求
硬件名称 |
硬件要求 |
检查命令 |
主机 |
l eth0 和 eth2 绑定成 bond0。作为RAC的public-ip, 提供外部通信。 l eth1和eth3 绑定成bond1,作为RAC的private-ip,提供内部心跳通信。 l 虚拟机使用虚拟磁盘 |
- |
磁盘阵列 |
要求磁盘阵列做成RAID1+0模式(此处虚拟机不做要求) |
- |
网络设备 |
虚拟机通信都是通过虚拟网卡 包括以下要求:(此要求网络设备未备份冗余) l 一台交换机提供与应用通信 l 一台光纤交换机用于与后端存储通信 l 一台千兆交换机用于多节点心跳网卡互连 |
- |
主机内存 |
主机物理内存不少于2.5GB |
grep MemTotal /proc/meminfo |
CPU |
CPU为64位 |
uname -m |
本节介绍安装Oracle11g R2数据库软件环境要求。
3.2.1 检查操作系统版本
本节介绍如何检查操作系统版本。
背景信息
本次安装要求操作系统版本为Centos6.5版本。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查操作系统版本。
# cat /etc/redhat-release
CentOS release 6.5 (Final)
如上所示,操作系统的版本为CentOS6.5。
----结束
3.2.2 安装操作系统补丁包
安装Oracle11g R2数据库前,需要先安装操作系统补丁包。本节使用RAC准备脚本,一键完成安装和配置准备。
背景信息
本次安装要求有可用的YUM源
移除系统自带yum源:
添加163yum源:
vim /etc/yum.repos.d/CentOS6-Base-163.repo
[base] name=CentOS-$releasever - Base - 163.com baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates - 163.com baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 163.com baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus - 163.com baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib - 163.com baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/ #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
root用户下执行以下命令:
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
关闭selinux
vim /etc/sysconfig/selinux
修改如下参数,并重启机器
SELINUX=disabled
3.2.4 准备相关软件文件
----结束
3.2.4 安装ASMlib
本节介绍如何安装ASMlib。
背景信息
如果现场还没有安装多路径软件,则要求安装与操作系统版本和内核版本配套的多路径软件。对于型号为S2300E的磁阵,若发货ATAE,应使用ATAE版本里自带的安装源。
操作系统/内核版本号可以通过uname -a查看。
例如,uname -a查询的操作系统版本结果为Linux rac-test1 2.6.32-504.12.2.el6.x86_64 #1 SMP Wed Mar 11 22:03:14 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux,则对应的ASMlib oracle11gR2包名为“oracleasmlib-2.0.4-1.el6.x86_64.rpm和oracleasm-support-2.1.8-1.el6.x86_64.rpm”。此外还需要安装kmod-oracleasm,安装方法是yum -y install kmod-oracleasm。
请注意根据内核版本匹配ASMlib的版本。
操作步骤
步骤 1 判断主机是否已安装了ASMlib。
l 执行如下命令。
rpm -qa|grep oracle
如果显示类似
oracleasm-support-2.1.8-1.el6.x86_64
oracleasmlib-2.0.4-1.el6.x86_64
kmod-oracleasm-2.0.8-4.el6_6.x86_64
的包名,则表示已经安装过。
l 使用rpm -e oracleasm-support-2.1.8-1.el6.x86_64 oracleasmlib-2.0.4-1.el6.x86_64命令可卸载ASMlib软件,其中“2.1.8-1.el6.x86_64”是ASMlib软件的版本号。
l 卸载以后,要重启主机。
卸载ASMlib后,ASM磁盘将不能被识别和使用。
步骤 2 以root用户以二进制方式上传“oracleasmlib-2.0.4-1.el6.x86_64.rpm和oracleasm-support-2.1.8-1.el6.x86_64.rpm”软件包,并赋予可执行权限,然后执行下面的命令进行安装。
# yum �Cy install kmod-oracleasm
# rpm -ivh oracleasmlib-2.0.4-1.el6.x86_64.rpm oracleasm-support-2.1.8-1.el6.x86_64.rpm
步骤 3 重启主机。
步骤 4 使用如下命令查看多路径软件版本信息,确保版本符合要求。
# rpm -qa|grep oracle
oracleasm-support-2.1.8-1.el6.x86_64
oracleasmlib-2.0.4-1.el6.x86_64
kmod-oracleasm-2.0.8-4.el6_6.x86_64
步骤 5 查看多路径软件的驱动是否已经加载。
多路径软件安装成功后,存在upVhba、upUpper两个驱动。执行命令:
# /etc/init.d/oracleasm status
得到结果中存在以上两个驱动,表示驱动加载成功。类似如下的返回信息。
Checking if ASM is loaded: yes
Checking if /dev/oracleasm is mounted: yes
步骤 6 查看启动项是否更改正确。
执行如下命令:
# chkconfig --list oracleasm
执行结果:
oracleasm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [y]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
----结束
3.2.5 检查内核参数
安装Oracle11g R2数据库前,需要先检查内核参数。本节介绍如何配置内核参数。
背景信息
Oracle11g R2在Linux内核参数最小化设置标准要求如表3-2所示,如果不符合要求请调整。
表3-2 内核参数值
参数 |
最小值 |
备注 |
SEMMSL |
250 |
- |
SEMMNS |
32000 |
定义了操作系统用户最大可以访问的信号量数量。 |
SEMOPM |
100 |
- |
SEMMNI |
128 |
定义了操作系统最大信号量集的数量。 |
SHMALL |
max((sga_target/4096+2097152),4194304) |
至少设置为4194304。 “sga_target”表示Oracle分配给SGA的物理内存大小(单位BYTE)。 |
SHMMAX |
4294967296 |
共享内存段最大大小,建议物理内存一半。 |
SHMMNI |
4096 |
定义了操作系统共享内存段的最大数量。 |
FILE-MAX |
6815744 |
- |
AIO-MAX-NR |
1048576 |
异步IO最大进程数。 |
IP_LOCAL_PORT_RANGE |
Minimum:9000 Maximum:65500 |
- |
RMEM_DEFAULT |
262144 |
- |
RMEM_MAX |
4194304 |
- |
WMEM_DEFAULT |
262144 |
- |
WMEM_MAX |
1048576 |
- |
操作步骤
步骤 1 以root用户登录。
3.2.7 配置操作系统的共享内存
本节介绍如何配置操作系统的共享内存。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查操作系统共享内存大小。
# df -k| grep shm
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 1954392 68 1954324 1% /dev/shm
如果执行上面的命令有类似如上返回,则表明共享内存已设置。“/dev/shm”的文件系统大小要求至少是物理内存的80%,否则需要执行以下步骤进行重新设置。
步骤 3 卸载“/dev/shm”文件系统。
# umount /dev/shm
如果提示“device is busy”则需要停止数据库。
步骤 4 挂载“/dev/shm”文件系统。
内存大小请根据实际情况填写。
# mount -t tmpfs shmfs -o size=3g /dev/shm
步骤 5 修改文件“/etc/fstab”,追加以下内容:
shm /dev/shm tmpfs size=3g0 0
----结束
3.2.8 检查其他方面要求
本节介绍其他方面的配置要求。
如果用到如下所示的驱动器,请安装相关软件,如表3-3所示。
表3-3 ITEM要求
驱动器 |
软件要求 |
Oracle JDBC/OCI Drivers |
JDK 6 Update 10 (Java SE Development Kit 1.6.0_21) JDK 1.5.0-24 (JDK 5.0) with the JNDI extension 安装oracle11g R2后默认安装JDK1.5 |
安装Oracle数据库软件前需先配置RAC环境。
3.3.1 配置时区
本节介绍如何配置时区。
背景信息
RAC各节点的时区必须设置正确且相同。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查系统时区,在RAC各节点分别执行如下命令。
# cat /etc/sysconfig/clock
步骤 3 如果时区不正确,修改时区。
在修改时区前应在RAC上分别确认数据库应用、Grid是否运行。如果运行,请手工停掉。停止Grid命令请参见11.2 集群命令。
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
----结束
3.3.2 检查RAC各节点时钟是否同步
本节介绍如何检查RAC各节点时钟是否同步。
背景信息
RAC各节点的时钟必须同步,时间误差应控制在1分钟之内。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查时钟,在RAC各节点分别执行如下命令。
# date
时钟自动同步有相应的解决方案,推荐使用NTP做时钟同步。
----结束
3.3.3 规划网络配置
安装Oracle数据库软件前,应先了解网络配置的规划要求,以便能够按照规划进行配置。
两结点RAC网络规划如表3-4所示。
表3-4 两节点RAC网络规划
主机名 |
业务网卡IP |
心跳网卡IP |
VIP |
SCAN IP |
rac-test1
|
局域网IP 例如:10.0.0.11 (bond0) |
私有IP地址,与业务网卡IP不在同一网段 例如:192.168.10.1 (bond1) |
与业务网卡IP在同一网段 例如:10.0.0.21 |
与业务网卡IP在同一网段 例如:10.0.0.30 |
rac-test2 |
局域网IP 例如:10.0.0.12 (bond0) |
私有IP地址,与业务网卡IP不在同一网段 例如:192.168.10.2 (bond1) |
与业务网卡IP在同一网段 例如:10.0.0.22 |
网卡和IP地址规划:
l 业务网卡:使用双网卡绑定IP。
l 心跳网卡:使用双网卡绑定IP。
l 虚拟IP地址:设置公有IP地址,作为统一对外服务的IP地址。
l SCAN IP地址:设置公有IP地址,SCAN服务使用。
文中出现的节点1命名为rac-test1,节点2命名为rac-test2。业务网卡、VIP、SCAN IP必须属于同一个网段。
虚拟机添加网卡,其中2块业务网卡桥接模式,2块心跳网卡HOST模式,如图
3.3.4 配置网络信息
本节介绍如何配置网络。
操作步骤
步骤 1 以root用户登录。
步骤 2 确认网卡配置信息。
确认主机的网口数量、网口的名称、地址、子网信息等。
l 确定网卡类型:
# ifconfig �Ca|grep eth
系统显示如下类似信息:
_eth0_ Link encap:Ethernet HWaddr 00:0C:29:65:C6:D5
eth1 Link encap:Ethernet HWaddr 00:0C:29:65:C6:F3
eth2 Link encap:Ethernet HWaddr 00:0C:29:65:C6:E9
eth3 Link encap:Ethernet HWaddr 00:0C:29:65:C6:DF
如上所示,网卡类型都是ethernet。
l 查看所有网卡的mac地址:
# ifconfig -a |grep eth
系统显示如下类似信息:
_eth0_ Link encap:Ethernet HWaddr 00:0C:29:65:C6:D5
eth1 Link encap:Ethernet HWaddr 00:0C:29:65:C6:F3
eth2 Link encap:Ethernet HWaddr 00:0C:29:65:C6:E9
eth3 Link encap:Ethernet HWaddr 00:0C:29:65:C6:DF
步骤 3 配置业务双网卡绑定。
对于做网卡绑定的网卡,比如eth0和eth2,还需要检查“/etc/sysconfig/network”目录下,有没有对应这个网卡的MAC地址的配置文件,比如eth0的硬件地址是00:18:82:50:6c:6a,则如果该目录下有名称为“ifcfg-eth-id-00:18:82:50:6c:6a”的网卡配置文件,则需要删除,或者移到备份目录中。
l 以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-bond0”文件,增加以下行:
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=static
IPADDR=
NETMASK=
USERCTL=no
TYPE=UnKnown
GATEWAY=
BONDING_OPTS="miimon=80 mode=6"
以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-eth0”文件,增加以下行:
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
SLAVE=yes
以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-eth2”文件,增加以下行:
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
SLAVE=yes
l IPADDR:网卡IP。请根据实际规划的IP地址填写。
l NETMASK:子网掩码。请根据实际规划的子网掩码填写。
l 启动双网卡绑定:
# chkconfig NetworkManager off
# /etc/init.d/network restart
l 检查当前绑定的网卡:
# cat /proc/net/bonding/bond0
显示如下信息:
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:65:c6:d5
Slave queue ID: 0
Slave Interface: eth2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:65:c6:e9
Slave queue ID: 0
步骤 4 配置心跳网卡的双网卡绑定。
心跳网卡选择eth1、eth3作双网卡绑定,然后与交换机连接。
对于做网卡绑定的网卡,比如eth5和eth6,还需要检查“/etc/sysconfig/network”目录下,有没有对应这个网卡的MAC地址的配置文件,比如eth5的硬件地址是00:18:82:50:76:46,则如果该目录下有名称为“ifcfg-eth-id-00:18:82:50:76:46”的网卡配置文件,则需要删除,或者移到备份目录中。
l 以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-bond1”文件,增加以下行:
DEVICE=bond1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.1
NETMASK=255.255.255.0
USERCTL=no
TYPE=UnKnown
BONDING_OPTS="miimon=80 mode=6"
以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-eth1”文件,增加以下行:
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
USERCTL=no
SLAVE=yes
以root用户编辑RAC各节点的“/etc/sysconfig/network/ifcfg-eth2”文件,增加以下行:
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
USERCTL=no
SLAVE=yes
l IPADDR:网卡IP。请根据实际规划的IP地址填写。
l NETMASK:子网掩码。请根据实际规划的子网掩码填写。
l 启动双网卡绑定:
# /etc/init.d/network restart
l 检查当前绑定的网卡:
# cat /proc/net/bonding/bond1
显示如下信息:
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 80
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:65:c6:df
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:65:c6:f3
Slave queue ID: 0
步骤 5 修改配置文件。
以root用户编辑RAC各节点的“/etc/hosts”文件,各节点请保持统一。
内容示例:
请根据局点实际IP规划和主机名修改下面示例中斜体部分。
rac-test1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ##### 数据库相关 start ############# #hostnameA netconfig #main ip 10.0.0.11 rac-test1 #heart ip 192.168.10.1 rac-test1-heart #vip 10.0.0.21 rac-test1-vip #hostnameB netconfig #main ip 10.0.0.12 rac-test2 #heart ip 192.168.10.2 rac-test2-heart #vip 10.0.0.22 rac-test2-vip #scan ip 10.0.0.30 tsm-db-cluster-scan ###### 数据库相关 end ################ |
----结束
安装Oracle数据库软件前需配置本地磁盘。
3.4.1 检查SWAP空间大小
本节介绍如何检查SWAP空间大小。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查物理内存大小。
# grep MemTotal /proc/meminfo
步骤 3 检查SWAP空间大小。
# grep SwapTotal /proc/meminfo
SWAP空间大小建议值如表3-5所示。
表3-5 SWAP空间大小和物理内存大小关系表
物理内存的大小(RAM) |
SWAP空间大小 |
2GB~8GB |
2倍于RAM |
8GB~32GB |
1.5倍于RAM |
32GB以上 |
32GB |
----结束
3.4.2 分配本地磁盘空间
本节介绍如何分配本地磁盘空间。
本地磁盘空间划分,要求RAC的各节点保持一致。
磁盘规划建议值如表3-6和表3-7所示:
以下仅为Oracle11g R2安装需要的本地磁盘规划,对于系统盘和业务磁盘规划,以各产品设计为准。
因虚拟机,供学习测试使用,这里可跳过对磁盘容量要求。
表3-6 R2+内置磁盘规划
文件系统 |
最小空间(GB) |
文件系统类型 |
用途 |
/tmp |
8 |
ext4
|
- |
/opt/oracle |
16 |
ext4
|
安装Oracle数据库软件 |
/opt/oracle/oracrs |
16 |
ext4
|
安装Oracle Grid软件 |
/opt/oraadm |
16 |
ext4
|
Oracle软件或备份 |
Swap |
24 |
- |
- |
本节介绍如何创建组和用户。
前提条件
组id和用户id的规划在各节点必须相同。
操作步骤
步骤 1 以root用户登录。
步骤 2 创建dba组。
步骤 3 创建oinstall组。
步骤 4 创建oracle用户。
l 修改oracle用户密码。
# passwd oracle
步骤 5 创建grid用户。
l 修改grid用户密码。
# passwd grid
----结束
本节介绍如何创建安装目录。
背景信息
安装目录规划请参考3.4.2 分配本地磁盘空间。
由于集群软件Oracle Grid必须先于数据库启动,其安装目录的属主必须是grid,而安装数据库的目录的属主为oracle。因此grid与数据库软件不可共用同一个目录。
操作步骤
步骤 1 以root用户登录。
步骤 2 请参考11.4 磁盘命令创建规划的文件系统。
步骤 3 赋予目录正确的权限。
----结束
安装Oracle数据库软件前需设置用户变量,包括oracle和grid用户。
本节介绍如何设置oracle用户环境变量。
操作步骤
步骤 1 以oracle用户登录RAC各节点。
步骤 2 编辑环境变量文件。
ORACLE_BASE,ORACLE_HOME,GRID_HOME,ORACLE_SID,NLS_LANG请根据实际情况进行设置。
l ORACLE_SID唯一的标识一个实例,一般以数据库名加上实例号为命名规范,例如:RAC中有两个实例,数据库名称为suseora,实例1命名为suseora1,实例2命名为suseora2,依次类推。
l NLS_LANG格式为区域_语言.字符集,字符集必须和数据库保持一致。
ORACLE_BASE,ORACLE_HOME,ORACLE_SID,NLS_LANG请根据实际情况进行设置。
l ORACLE_SID为ASM SID。一般以Oracle实例名加上ASM实例号为命名规范,例如:实例1命名为suseora1ASM1,实例2命名为suseora2ASM2,依次类推。
l NLS_LANG格式为区域_语言.字符集,字符集必须和数据库保持一致。
步骤 3 执行source .bash_profile命令,使环境变量生效。
步骤 4 执行env命令,确认环境变量。
vim /opt/rac_before.sh
#!/bin/bash #writed by Chinge_Yang 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 200 dba /usr/sbin/groupadd -g 201 oinstall #/usr/sbin/groupadd -g 504 asmadmin #/usr/sbin/groupadd -g 506 asmdba #/usr/sbin/groupadd -g 507 asmoper useradd -u 300 -g oinstall -G dba -d /home/oracle -s /bin/bash -m oracle useradd -u 301 -g oinstall -G dba -d /home/grid -s /bin/bash -m grid mkdir -p /opt/oracle/app chown -R oracle:oinstall /opt/oracle/app chmod -R 775 /opt/oracle/app mkdir -p /opt/oracle/oracrs chown -R grid:oinstall /opt/oracle/oracrs chmod -R 775 /opt/oracle/oracrs mkdir -p /opt/oracle/oraInventory chown -R grid:oinstall /opt/oracle/oraInventory chmod -R 755 /opt/oracle/oraInventory mkdir -p /opt/oracle/oraadm chown -R oracle:dba /opt/oracle/oraadm chmod -R 700 /opt/oracle/oraadm mkdir /usr/local/bin chmod 755 /usr/local/bin ############################################## #modify sysctl.conf # ############################################## cat >> /etc/sysctl.conf <<done fs.file-max = 6815744 fs.aio-max-nr = 1048576 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 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 65536done ################################################ #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_BASE=/opt/oracle/app export ORACLE_HOME=\$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export GRID_HOME=/opt/oracle/oracrs/product/11.2.0/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin:\$GRID_HOME/bin export ORACLE_SID=tsm1 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib:/lib export TNS_ADMIN=\$ORACLE_HOME/network/admin/ done ############################################### #setting user grid env # ############################################### cat >> /home/grid/.bash_profile <<done export ORACLE_BASE=/opt/oracle/app export ORACLE_HOME=\$ORACLE_BASE/oracle/product/11.2.0/dbhome_1 export GRID_HOME=/opt/oracle/oracrs/product/11.2.0/dbhome_1 export PATH=\$PATH:\$ORACLE_HOME/bin:\$GRID_HOME/bin export ORACLE_SID=tsm1 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib:/lib export TNS_ADMIN=\$ORACLE_HOME/network/admin/ done
----结束
本节介绍如何配置异步I/O。
背景信息
为了提高Oracle数据库的性能,需要设置异步I/O。Linux操作系统下默认已经启动了异步I/O。
操作步骤
步骤 1 以root用户登录。
步骤 2 检查异步I/O是否生效。
# cat /proc/slabinfo | grep kio
kioctx 62 90 384 10 1 : tunables 54 27 8 : slabdata 9 9 0
kiocb 15 15 256 15 1 : tunables 120 60 8 : slabdata 1 1 0
kioctx和kiocb是定义在aio.h头文件中异步I/O的数据结构,如果它们是显示非0值则表示异步I/O已经启动。注意,检查时数据库必须有数据读写。
----结束
克隆虚拟机
将虚拟机关闭
使用克隆虚拟机向导,自“虚拟机中的当前状态”--> “创建完整克隆”--> 克隆成虚拟机名称为“rac-test2”
克隆完成后
修改rac-test2的hostname
修改rac-test2网卡mac地址
清空rac-test2的/etc/udev/rules.d/70-persistent-net.rules下的网卡信息,重启rac-test2
修改网卡IP
4.1 关于本章
各型号磁盘阵列创建VDisk(LUN)的方法请参照相应磁盘阵列配置指导,VDisk(LUN)、Disk Group(DG)和ASM File的规划请参照本章后续小节
若在未完全格式化磁盘时遇到停电等突发事情,需要重新格式化硬盘。
4.1 DG与ASM文件的分配原则
本节介绍DG与ASM文件的分配原则。
4.2 VDisk(LUN)与DG的规划
本节介绍VDisk(LUN)与DG的规划要求。
4.3 规划DG_DATA中数据库系统表空间
本节介绍DG_DATA中数据库系统表空间的规划要求。
4.4 创建备份文件系统
本节介绍如何创建备份文件系统。
4.5 挂接块设备并赋予正确权限
本节介绍如何挂接块设备并赋权。
本节介绍DG与ASM磁盘的分配原则。
由于磁盘阵列的容量各局点并不相同,因此本节针对中等容量阵列和大容量阵列分别进行空间规划举例。
请现场、产品依据实际情况进行调整,以下为基本原则。
l “DG_OCR”不小于2G。
l “DG_FRA”与“DG_DATA”的空间比例约为1:3。
l “vg_admin”与“DG_DATA”之间的比例为1:3。
l ASM磁盘命名规则、ASM磁盘用途、ASM磁盘大小请参考依据本章的规划进行设置。
项目中详细规划请参考《集成设计模板》。
本节介绍VDisk(LUN)与ASM磁盘的规划要求。
VDisk(LUN)与ASM磁盘的规划如表4-1所示。
表4-1 VDisk(LUN)与ASM磁盘的规划
虚拟磁盘名称
|
对应的disk名 |
ASM disk label名称 |
设备路径 |
用途 |
注意事项 |
ocr
|
sdb |
DG_OCR |
“/dev/sdb1” |
存放OCR、系统信息共享盘及锁盘信息 |
- |
data1
|
sdc |
DG_DATA1 |
“/dev/sdc1”
|
应用数据表空间数据文件及数据库系统数据文件 |
请参见4.3 规划DG_DATA中数据库系统表空间 |
data2
|
sdd |
DG_DATA2 |
“/dev/sdd1” |
||
data3
|
sde
|
DG_DATA3 |
“/dev/sde1” |
||
fra
|
sdf
|
DG_FRA
|
"/dev/sdf1"
|
本节介绍DG_DATA中数据库系统表空间的规划要求。
如果RAC中包含10个或者10个以下的节点,按照以下公式进行配置:
(instance_num*5*508+instance_num*1.5*8008+45000)*1.1MB
l instance_num表示RAC中的实例总数。
l 每个实例配置5组重做日志组,每个redo file大小为500MB。
l 每个实例默认UNDO表空间配置一个undo file,每个undo file大小为8GB。
l 每个实例要求分配8GB大小的SYSAUX表空间。
l ora_system、ora_temp、ora_ctl等数据文件参见表4-2。
下面以两节点为例,说明100GB的数据库系统表空间划分,如表4-2所示。
表4-2 100GB的数据库系统表空间划分(两节点RAC)
DG名称 | ASM文件名称 | ASM文件大小(MB) | 用途 |
DG_DATA | ora_system | 8000 | 创建system表空间 |
ora_sysaux | 8000 | 创建sysaux表空间 | |
ora_temp | 30000 | 创建temp表空间 | |
ora_undo01 | 20000 | 创建undo表空间 | |
ora_undo02 | 20000 | 创建undo表空间 | |
ora_user | 4000 | 创建user表空间 | |
control01.ctl | 300 | 创建控制文件 | |
control02.ctl | 300 | 创建控制文件 | |
ora_redo01_1 | 500 | 创建联机日志1实例1号日志组 | |
ora_redo02_1 | 500 | 创建联机日志1实例2号日志组 | |
ora_redo03_1 | 500 | 创建联机日志1实例3号日志组 | |
ora_redo04_1 | 500 | 创建联机日志1实例4号日志组 | |
ora_redo05_1 | 500 | 创建联机日志1实例5号日志组 | |
ora_redo01_2 | 500 | 创建联机日志2实例1号日志组 | |
ora_redo02_2 | 500 | 创建联机日志2实例2号日志组 | |
ora_redo03_2 | 500 | 创建联机日志2实例3号日志组 | |
ora_redo04_2 | 500 | 创建联机日志2实例4号日志组 | |
ora_redo05_2 | 500 |
创建联机日志2实例5号日志组
|
新建虚拟磁盘
添加虚拟磁盘
设置虚拟机配置属性
在vmware的配置属性文件(如rac-test1.vmx)中加入属性
disk.locking = "false"
scsi1.virtualDev = "lsilogic"
scsi1.present = "TRUE"
scsi1.sharedBus = "virtual"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\Virtual Machines\ocr.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.redo = ""
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\Virtual Machines\data1.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.redo = ""
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\Virtual Machines\data2.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:3.redo = ""
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\Virtual Machines\data3.vmdk"
scsi1:4.mode = "independent-persistent"
scsi1:4.redo = ""
scsi1:5.deviceType = "disk"
scsi1:5.present = "TRUE"
scsi1:5.fileName = "D:\Virtual Machines\fra.vmdk"
scsi1:5.mode = "independent-persistent"
scsi1:5.redo = ""
scsi1.pciSlotNumber = "32"
4.5 创建ASM磁盘
本节介绍如何创建ASM磁盘。
背景信息
设备在给Oracle数据库使用之前,作相关的管理并赋予正确的用户权限,且确保永久生效。分别在RAC各节点上执行。
操作步骤
步骤 1 以root用户登录。
步骤 2 使用/etc/init.d/oracleasm 命令创建asm磁盘
步骤 3 修改/etc/init.d/oracleasm如下图,使listdisks参数显示更多信息。
步骤 4 验证设备的挂接情况和赋权结果。
l 查看挂接情况。
[root@rac-test1 ~]# /etc/init.d/oracleasm listdisks
total 0
brw-rw---- 1 grid oinstall 8, 33 May 20 10:07 DG_DATA1
brw-rw---- 1 grid oinstall 8, 65 May 20 10:07 DG_DATA2
brw-rw---- 1 grid oinstall 8, 49 May 20 10:07 DG_DATA3
brw-rw---- 1 grid oinstall 8, 17 May 20 10:07 DG_OCR
[root@rac-test1 ~]#
[root@rac-test1 ~]# /etc/init.d/oracleasm querydisk /dev/mapper/mpathbp1
Device "/dev/mapper/mpathbp1" is marked an ASM disk with the label "DG_OCR"
[root@rac-test1 ~]# /etc/init.d/oracleasm querydisk /dev/mapper/mpathcp1
Device "/dev/mapper/mpathcp1" is marked an ASM disk with the label "DG_DATA1"
[root@rac-test1 ~]# /etc/init.d/oracleasm querydisk /dev/mapper/mpathdp1
Device "/dev/mapper/mpathdp1" is marked an ASM disk with the label "DG_DATA2"
[root@rac-test1 ~]# /etc/init.d/oracleasm querydisk /dev/mapper/mpathep1
Device "/dev/mapper/mpathep1" is marked an ASM disk with the label "DG_DATA3"
l 查看赋权结果。
[root@rac-test1 ~]# ll /dev/oracleasm/disks/
total 0
brw-rw---- 1 grid oinstall 8, 33 May 20 10:07 DG_DATA1
brw-rw---- 1 grid oinstall 8, 65 May 20 10:07 DG_DATA2
brw-rw---- 1 grid oinstall 8, 49 May 20 10:07 DG_DATA3
brw-rw---- 1 grid oinstall 8, 17 May 20 10:07 DG_OCR
[root@rac-test1 ~]#
……
----结束
5.1 关于本章
本节介绍如何安装Oracle软件,包括安装前准备、安装Grid软件、数据库软件和补丁软件。
5.1 安装前准备
本节介绍安装前的准备工作,包括拷贝安装文件、创建Inventory目录、启动远程控制。
5.2 安装Grid软件
本节介绍如何安装Oracle Grid软件。
5.3 安装数据库软件
本节介绍如何安装Oracle11g R2数据库软件。
5.4 安装补丁软件
本节介绍如何安装补丁软件。
本节介绍安装前的准备工作,包括拷贝安装文件、创建Inventory目录、启动远程控制。
5.1.1 解压安装文件
安装数据库软件前,需要先拷贝安装所需的文件。
背景信息
请准备Linux下的Oracle安装介质。Oracle11g R2有多张安装光盘,如表5-1所示。
表5-1 Oracle安装介质
文件名称 |
说明 |
linux.x64_11gR2_database_1of2.zip |
database安装介质 |
linux.x64_11gR2_database_2of2.zip |
database安装介质 |
linux.x64_11gR2_grid.zip |
grid安装介质 |
操作步骤
步骤 1 以root用户登录。
步骤 2 将Oracle安装文件以二进制的方式拷贝至节点1的“/home”中,如下所示。
步骤 3 -rw-r--r--. 1 root root 1239269270 Sep 24 2013 /home/linux.x64_11gR2_database_1of2.zip
-rw-r--r--. 1 root root 1111416131 Sep 24 2013 /home/linux.x64_11gR2_database_2of2.zip
-rw-r--r--. 1 root root 1052897657 Apr 9 17:05 /home/linux.x64_11gR2_grid.zip
步骤 4 解压缩安装文件,并赋予权限。
# cd /home
# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip
# unzip linux.x64_11gR2_grid.zip
# ll
drwxr-xr-x. 8 root root 4096 Aug 21 2009 database
drwx------. 35 grid oinstall 4096 May 20 10:21 grid
-rw-r--r--. 1 root root 1239269270 Sep 24 2013 linux.x64_11gR2_database_1of2.zip
-rw-r--r--. 1 root root 1111416131 Sep 24 2013 linux.x64_11gR2_database_2of2.zip
-rw-r--r--. 1 root root 1052897657 Apr 9 17:05 linux.x64_11gR2_grid.zip
----结束
5.1.2 创建oraInventory目录
在RAC各节点上创建目录“/opt/oracle/oraInventory”,并使grid:oinstall为其所有者。
操作步骤
步骤 1 以root用户登录RAC各节点,创建目录“/opt/oracle/oraInventory”。
# mkdir /opt/oracle/oraInventory
步骤 2 使grid:oinstall为该目录所有者并赋予权限。
# chown grid:oinstall /opt/oracle/oraInventory
# chmod 770 /opt/oracle/oraInventory
----结束
5.1.3 启动远程控制
本节主要介绍如何启动远程控制。
操作步骤
步骤 1 以root用户登录,输入:
# yum install tigervnc-server tigervnc
# vncpasswd
# vncserver :1
步骤 2 弹出“输入密码”界面,完成设置后使用,如图5-1所示。
图5-1 “vncserver”设置、启动、停止命令
步骤 3 Windows客户端登录软件及方式
图5-2 Windows下客户端登录方式
步骤 4 Linux客户端登录方式
# vncviewer :1
l vnc停止必须以属主用户操作,即什么用户启动,什么用户停止,
本节介绍如何安装Oracle Grid软件。
背景信息
安装只需要在RAC中的一台机器上进行。安装Oracle Grid软件必须使用grid用户,并确保grid用户的保环境变量生效。
操作步骤
步骤 1 以grid用户登录。
步骤 2 设置vnc服务端
执行:
$ vncserver :1
步骤 3 检查grid的所有环境变量是否已经生效。
在启动安装前需要确保“.profile”中设置的环境变量都已生效。
$ env
步骤 4 启动OUI进行安装。
$ /opt/oraadm/grid/runInstaller
选择“Skip software updates”,单击“Next”,如图5-3所示。
图5-3 忽略软件更新
步骤 5 选择安装方式。
选择“Install and Configure Oracle Grid infrastructure for a Cluster”,单击“Next”,如图5-3所示。
图5-4 选择安装方式
步骤 6 选择安装类型。
选择“Advanced Installation”,单击“Next”,如图5-4所示。
图5-5 选择安装类型
步骤 7 选择安装语言。
选择English,单击“Next”,如图5-5所示。
图5-6 选择安装语言
步骤 8 配置集群信息,如图5-6所示。
l 在“Cluster Name”中填写集群名,比如:tsm-test。
l 在“SCAN Name”中填写SCAN名,该名称需与“/etc/hosts”文件中的配置一致。(若不一致出现错误,修改/etc/hosts后需要重启系统)比如:tsm-test-scan。详细信息请参见3.3.4 配置网络信息的步骤3。
l 在“SCAN Port”中填写的端口从范围[1500,1600]中选择,例如:1521。
l 不勾选“Configure GNS”。
l 单击“Next”。
步骤 10 配置集群节点,如图5-7所示。
l 在“Public Hostname”中填写3.3.4 配置网络信息页面的步骤5中配置的“hostname”。
l 在“Virtual Hostname”中填写3.3.4 配置网络信息页面的步骤5中配置的“hostname-vip”。
l 单击“Add”,可以添加其他的节点。
l 单击“Edit”,可以修改已有的节点。
图5-7 配置集群节点
步骤 11 配置SSH连接,如图5-8所示。
l 单击“SSH Connectivity…”,设置SSH密码,即grid用户的密码。
l 单击“Setup”。
l 出现连接建立完成的提示后,单击“OK”。
l SSH连接建立完毕,单击“Next”。
图5-8 配置SSH连接
步骤 12 指定网卡,如图5-9所示。
l “bond0”指定为“Public”,“bond1”网卡指定为“Private”,其他的指定为“Do Not Use”。
l 单击“Next”。
现场有可能配置bond0为私网网卡,bond1为公网网卡,具体配置请根据3.3.4 配置网络信息的说明进行配置。
图5-9 指定网卡
步骤 13 指定存储,如图5-10所示。
选择“Oracle Automatic Storage Management(Oracle ASM)”,单击“Next”。
图5-10 指定存储
步骤 14 创建ASM Disk Group。
l 选择“Change Discovery Path”,如图5-11所示。
图5-11 选择“Change Discovery Path”
l 如果没有自动识别出ASM磁盘,在“Disk Discovery Path”中填写/dev/oracleasm/disks,如图5-12所示。
图5-12 指定磁盘查找路径
l 在“Disk Group Name”中填写DG_OCR;“Redundancy”选择“External”;选择磁盘路径“/dev/diskgroup/DG_OCR”,如图5-13所示。
图5-13 创建DG_OCR磁盘组
l 单击“Next”。
步骤 15 设置ASM密码。
l 选择“Use different passwords for these accounts”,并设置用户SYS密码和ASMSNMP密码,如图5-14所示。
从安全角度考虑,所设置的密码必须符合以下要求的密码复杂度:
l 口令长度至少8个字符。
l 口令必须包含如下至少两种字符的组合:
l 至少一个小写字母
l 至少一个大写字母
l 至少一个数字
l 至少一个特殊字符:#$-_或空格
l 口令不能和帐号或者帐号的倒写一样。
图5-14 设置密码
l 单击“Next”,选择“Yes”,如图5-15所示。
图5-15 忽略警告
步骤 16 配置失败隔离选件,如图5-16所示。
选择“Do not use Intelligent Platform Management Interface (IPMI)”,单击“Next”。
图5-16 配置失败隔离选件
步骤 17 设置操作系统用户组。
l “Oracle ASM DBA(OSDBA for ASM)Group” 选择“oinstall”,“Oracle ASM Operator(OSOPER for ASM) Group(Optional)” 选择“dba”,“Oracle ASM Administrator(OSASM) Group” 选择“oinstall”,如图5-17所示。
图5-17 指定操作系统用户
l 单击“Next”,选择“Yes”,如图5-18所示。
图5-18 忽略警告
步骤 18 指定安装路径,如图5-19所示。
l 在“Oracle Base”中填写/opt/oracle/app,即grid用户的环境变量“$ORACLE_BASE”。
l 在“Software Location”中填写/opt/oracle/oracrs/product/11.2.0/dbhome_1/,即grid用户的环境变量“$GRID_HOME”。
l 单击“Next”。
图5-19 指定安装路径
步骤 19 指定Inventory目录,如图5-20所示。
在“Inventory Directory”中填写/opt/oracle/oraInventory,单击“Next”。
图5-20 指定Inventory目录
步骤 20 预安装检查,如图5-21所示。
如果检查失败,单击“Fix & Check Again”进行修复。
图5-21 预安装检查结果
l 弹出窗口会提示在各节点执行脚本“/opt/oracle/oracrs/CVU_11.2.0.3.0_grid/runfixup.sh”,此时请不要单击窗口的“OK”,否则会造成安装失败,如图5-22所示。
图5-22 Fix脚本
l 单击“Next”。
l 如图5-23所示,忽略告警,选择“Yes”。
图5-23 忽略警告
步骤 21 检查概要。
检查没有问题,单击“Install”开始安装,如图5-24所示。
图5-24 检查概要
步骤 22 执行orainstRoot.sh和root.sh配置脚本,如图5-25所示。
安装进度到76%时,会提示用root用户执行orainstRoot.sh和root.sh脚本。
图5-25 执行脚本
步骤 23 在节点,新开一个SHELL窗口,以root用户执行脚本。
[root@rac-test2 ~]# sh /opt/oracle/oraInventory/orainstRoot.sh
Creating the Oracle inventory pointer file (/etc/oraInst.loc)
Changing permissions of /opt/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /opt/oracle/oraInventory to oinstall.
The execution of the script is complete.
[root@rac-test2 ~]#
步骤 24 执行过程中出错解决方法,如图5-26
图5-26 执行脚本出错
解决方法:
[root@rac-test1 ~]# cd /lib64
[root@rac-test1 lib64]# ls libcap*
libcap-ng.so.0 libcap-ng.so.0.0.0 libcap.so.2 libcap.so.2.16
[root@rac-test1 lib64]# ln -s libcap.so.2.16 libcap.so.1
[root@rac-test2 lib64]# ln -s libcap.so.2.16 libcap.so.1
就可以执行h /opt/oracle/oracrs/root.sh了
执行过程中不能添加ohasd开机启动解决方法
在节点1、2,新开一个SHELL窗口,以root用户执行脚本root.sh(依次执行)。在出现“Adding daemon to inittab”时,再新开一个shell窗口执行/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
[root@rac-test1 ~]# sh /opt/oracle/oracrs/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /opt/oracle/oracrs/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2015-04-16 10:15:23: Parsing the host name
2015-04-16 10:15:23: Checking for super user privileges
2015-04-16 10:15:23: User has super user privileges
Using configuration parameter file: /opt/oracle/oracrs/product/11.2.0/dbhome_1/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
root wallet
root wallet cert
root cert export
peer wallet
profile reader wallet
pa wallet
peer wallet keys
pa wallet keys
peer cert request
pa cert request
peer cert
pa cert
peer root cert TP
profile reader root cert TP
pa root cert TP
peer pa cert TP
pa peer cert TP
profile reader pa cert TP
profile reader peer cert TP
peer user cert
pa user cert
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on centos-release-6-5.el6.centos.11.1.x86_64
CRS-2672: Attempting to start 'ora.gipcd' on 'rac-test1'
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac-test1'
CRS-2676: Start of 'ora.gipcd' on 'rac-test1' succeeded
CRS-2676: Start of 'ora.mdnsd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac-test1'
CRS-2676: Start of 'ora.gpnpd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac-test1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac-test1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac-test1'
CRS-2676: Start of 'ora.diskmon' on 'rac-test1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'rac-test1'
CRS-2676: Start of 'ora.ctssd' on 'rac-test1' succeeded
ASM created and started successfully.
DiskGroup DG_OCR created successfully.
clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-2672: Attempting to start 'ora.crsd' on 'rac-test1'
CRS-2676: Start of 'ora.crsd' on 'rac-test1' succeeded
CRS-4256: Updating the profile
Successful addition of voting disk 051df80703a44f54bfa0f3199fb0c027.
Successfully replaced voting disk group with +DG_OCR.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
## STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 051df80703a44f54bfa0f3199fb0c027 (ORCL:DG_OCR) [DG_OCR]
Located 1 voting disk(s).
CRS-2673: Attempting to stop 'ora.crsd' on 'rac-test1'
CRS-2677: Stop of 'ora.crsd' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'rac-test1'
CRS-2677: Stop of 'ora.asm' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.ctssd' on 'rac-test1'
CRS-2677: Stop of 'ora.ctssd' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.cssdmonitor' on 'rac-test1'
CRS-2677: Stop of 'ora.cssdmonitor' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'rac-test1'
CRS-2677: Stop of 'ora.cssd' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'rac-test1'
CRS-2677: Stop of 'ora.gpnpd' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'rac-test1'
CRS-2677: Stop of 'ora.gipcd' on 'rac-test1' succeeded
CRS-2673: Attempting to stop 'ora.mdnsd' on 'rac-test1'
CRS-2677: Stop of 'ora.mdnsd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac-test1'
CRS-2676: Start of 'ora.mdnsd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'rac-test1'
CRS-2676: Start of 'ora.gipcd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac-test1'
CRS-2676: Start of 'ora.gpnpd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac-test1'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac-test1'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac-test1'
CRS-2676: Start of 'ora.diskmon' on 'rac-test1' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'rac-test1'
CRS-2676: Start of 'ora.ctssd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac-test1'
CRS-2676: Start of 'ora.asm' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'rac-test1'
CRS-2676: Start of 'ora.crsd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'rac-test1'
CRS-2676: Start of 'ora.evmd' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac-test1'
CRS-2676: Start of 'ora.asm' on 'rac-test1' succeeded
CRS-2672: Attempting to start 'ora.DG_OCR.dg' on 'rac-test1'
CRS-2676: Start of 'ora.DG_OCR.dg' on 'rac-test1' succeeded
PRCR-1079 : Failed to start resource ora.LISTENER_SCAN1.lsnr
CRS-5014: Agent "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/oraagent.bin
?1?[1]" timed out starting process "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/lsnrctl" for action "check": details at "(:CLSN00009:)" in "/opt/oracle/oracrs/product/11.2.0/dbhome_1/log/rac-test1/agent/crsd/oraagent_grid/oraagent_grid.log"
(:CLSN00009:)Utils:execCmd aborted
CRS-2674: Start of 'ora.LISTENER_SCAN1.lsnr' on 'rac-test1' failed
CRS-5016: Process "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/lsnrctl" spawned by agent "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/oraagent.bin
?1?[1]" for action "stop" failed: details at "(:CLSN00010:)" in "/opt/oracle/oracrs/product/11.2.0/dbhome_1/log/rac-test1/agent/crsd/oraagent_grid/oraagent_grid.log"
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 16-APR-2015 10:20:56
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=60.191.124.236)(PORT=1521)))
TNS-12535: TNS:operation timed out
TNS-12560: TNS:protocol adapter error
TNS-00505: Operation timed out
Connecting to (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=::)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
Linux Error: 111: Connection refused
CRS-5014: Agent "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/oraagent.bin
?1?[1]" timed out starting process "/opt/oracle/oracrs/product/11.2.0/dbhome_1/bin/lsnrctl" for action "check": details at "(:CLSN00009:)" in "/opt/oracle/oracrs/product/11.2.0/dbhome_1/log/rac-test1/agent/crsd/oraagent_grid/oraagent_grid.log"
(:CLSN00009:)Utils:execCmd aborted
CRS-2678: 'ora.LISTENER_SCAN1.lsnr' on 'rac-test1' has experienced an unrecoverable failure
CRS-0267: Human intervention required to resume its availability.
start scan listener ... failed
Configure Oracle Grid Infrastructure for a Cluster ... failed
Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 32767 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /opt/oracle/oraInventory
'UpdateNodeList' was successful.
[root@rac-test1 ~]#
[root@rac-test2 ~]# sh /opt/oracle/oracrs/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /opt/oracle/oracrs/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin. Overwrite it? (y/n)
[n]: y
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2015-04-16 11:56:18: Parsing the host name
2015-04-16 11:56:18: Checking for super user privileges
2015-04-16 11:56:18: User has super user privileges
Using configuration parameter file: /opt/oracle/oracrs/product/11.2.0/dbhome_1/crs/install/crsconfig_params
LOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on centos-release-6-5.el6.centos.11.1.x86_64
CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac-test1, number 1, and is terminating
An active cluster was found during exclusive startup, restarting to join the cluster
CRS-2672: Attempting to start 'ora.mdnsd' on 'rac-test2'
CRS-2676: Start of 'ora.mdnsd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.gipcd' on 'rac-test2'
CRS-2676: Start of 'ora.gipcd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'rac-test2'
CRS-2676: Start of 'ora.gpnpd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac-test2'
CRS-2676: Start of 'ora.cssdmonitor' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'rac-test2'
CRS-2672: Attempting to start 'ora.diskmon' on 'rac-test2'
CRS-2676: Start of 'ora.diskmon' on 'rac-test2' succeeded
CRS-2676: Start of 'ora.cssd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.ctssd' on 'rac-test2'
CRS-2676: Start of 'ora.ctssd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.asm' on 'rac-test2'
CRS-2676: Start of 'ora.asm' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.crsd' on 'rac-test2'
CRS-2676: Start of 'ora.crsd' on 'rac-test2' succeeded
CRS-2672: Attempting to start 'ora.evmd' on 'rac-test2'
CRS-2676: Start of 'ora.evmd' on 'rac-test2' succeeded
rac-test2 2015/04/16 12:01:52 /opt/oracle/oracrs/product/11.2.0/dbhome_1/cdata/rac-test2/backup_20150416_120152.olr
Preparing packages for installation...
cvuqdisk-1.0.7-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded
Updating inventory properties for clusterware
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 30870 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /opt/oracle/oraInventory
[root@rac-test2 ~]#
该脚本执行过程中需要回答一些问题,在不同的平台上具体问的内容会有所不同,但只要在出现“……[yes]?”时输入“no”,出现“[y,n]”时输入“y”,出现其他问题时直接按回车即可。
步骤 25 继续安装进程,如图5-27所示。
图5-27 安装过程
步骤 26 如果检查安装日志“/opt/oracle/oraInventory/logs/installActions{$TIMESTAMP}.log”或者以grid用户执行命令:$GRID_HOME/bin/cluvfy comp scan,报以下的错误可以忽略:
ERROR:
PRVG-1101 : SCAN name "linux-cluster-scan" failed to resolve
ERROR:
PRVF-4657 : Name resolution setup check for "linux-cluster-scan" (IP address: 10.71.179.24) failed
ERROR:
PRVF-4664 : Found inconsistent name resolution entries for SCAN name "linux-cluster-scan"
因为预安装检查时忽略了一些选项,所以执行Oracle Cluster Verification Utility failed,进而Configure Oracle Grid Infrastructure for a Cluster也是failed显示。
由于使用“/etc/hosts”文件作为SCAN name的名字解析,所以CVU检测时也会报PRVF-4657和PRVF-4664错误使CVU failed。如果使用ping命令ping SCAN name能正确返回SCAN VIP,则以上报错可忽略。
步骤 27 单击“Close”,结束安装,如图5-28所示。
图5-28 Grid软件安装完毕
----结束
后续处理
步骤 1 检查Grid软件是否安装成功。
以grid用户登录,执行以下命令:
$ crsctl stat res -t
返回结果应为如下内容:
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DG_DATA.dg
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
ora.DG_OCR.dg
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
ora.LISTENER_ORA.lsnr
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
ora.asm
ONLINE ONLINE rac-test1 Started
ONLINE ONLINE rac-test2 Started
ora.eons
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
ora.gsd
OFFLINE OFFLINE rac-test1
OFFLINE OFFLINE rac-test2
ora.net1.network
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
ora.ons
ONLINE ONLINE rac-test1
ONLINE ONLINE rac-test2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac-test1
ora.oc4j
1 OFFLINE OFFLINE
ora.scan1.vip
1 ONLINE ONLINE rac-test1
ora.rac-test1.vip
1 ONLINE ONLINE rac-test1
ora.rac-test2.vip
1 ONLINE ONLINE rac-test2
ora.tsm.db
1 ONLINE ONLINE rac-test1 Open
2 ONLINE ONLINE rac-test2 Open
ora.tsm.tsm.svc
1 ONLINE ONLINE rac-test1
如果显示两台主机的VIP都在同一主机上,请检查相关主机的默认网关设置是否正确。
l 启动集群软件服务。
如果已经启动,则忽略这一步;如果需要启动集群软件服务,以root用户登录,执行以下命令:
# cd $GRID_HOME/bin
# ./crsctl start crs
本节介绍如何安装Oracle11g R2数据库软件。
操作步骤
步骤 1 以oracle用户登录。
步骤 2 设置DISPLAY环境变量。
如果是直接连接到主机的终端上进行安装,执行:
$ export DISPLAY=localhost:0.0
如果是在远程终端上进行安装,执行:
$ export DISPLAY=REMOTE_IP:0.0
例如:export DISPLAY=10.0.0.11:0.0
检查环境变量是否生效。
$ echo $DISPLAY
步骤 3 检查oracle的所有环境变量是否已经生效。
在启动安装前需要确保“.profile”中设置的环境变量都已生效。
$ env
步骤 4 启动集群软件服务。
以root用户登录,执行以下命令;如果已经启动,则忽略这一步。
# cd $GRID_HOME/bin
# ./crsctl start crs
步骤 5 启动OUI进行安装。
用oracle用户登录主机启动OUI进行安装。
$ /opt/oraadm/database/runInstaller
l 不勾选单选框“I wish to receive security updates via My Oracle Support”,单击“Next”,如图5-29所示。
图5-29 取消配置安全更新
l 单击“Yes”,取消安全更新,如图5-30所示。
图5-30 取消安全更新
步骤 6 选择安装方式。
选择“Install database software only”,单击“Next”,如图5-32所示。
图5-31 选择安装方式
步骤 7 指定安装类型。
选择“Oracle Real Applicateion Clusters database installation”,单击“Select All”勾选集群中所有的节点,如图5-32所示。
图5-32 指定安装类型
步骤 8 配置SSH连接,如图5-33所示。
l 单击“SSH Connectivity…”,设置SSH密码,即oracle用户的密码。
l 单击“Setup”。
l 出现连接建立完成的提示后,单击“OK”。
l SSH连接建立完毕,单击“Next”。
图5-33 配置SSH连接
步骤 9 选择安装语言。
选择“English”,单击“Next”,如图5-34所示。
图5-34 选择安装语言
步骤 10 选择软件版本。
选择“Enterprise Edition”,单击“Next”,如图5-35所示。
图5-35 选择软件版本
步骤 11 指定安装目录,如图5-36所示。
l 在“Oracle Base”中填写/opt/oracle/app,即oracle用户的环境变量“$ORACLE_BASE”。
l 在“Software Location”中填写/opt/oracle/app/oracle/product/11.2.0/dbhome_1,即oracle用户的环境变量“$ORACLE_HOME”。
图5-36 指定安装目录
步骤 12 设置操作系统用户组。
“Database Administrator(OSDBA) Group” 选择“dba”,“Database Operator(OSOPER) Group(Optional)”选择“dba”,单击“Next”,如图5-37所示。
图5-37 设置用户组
步骤 13 安装检测,如图5-38所示。
l 选中“Ignore All”前的复选框,忽略以下2个检查项:
l Clock synchronization
l Task resolv.conf Intergrity
图5-38 安装检测
l 单击“Yes”,如图5-39所示。
图5-39 忽略检测
步骤 14 安装概要检查。
检查没有问题,单击“Install”进行安装,如图5-40所示。
图5-40 安装概要
步骤 15 执行root.sh脚本。
安装即将结束时,会提示用root用户执行root.sh脚本。如图5-41所示。
步骤 16 按提示的节点,新开一个SHELL窗口,以root用户执行以下命令:
# /opt/oracle/oraInventory/orainstRoot.sh
# /opt/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
该脚本执行过程中需要回答一些问题,出现问题时直接按回车即可。
步骤 17 脚本运行完后,单击“OK”,然后单击“Close”完成安装,如图5-41所示。
图5-41 完成安装
步骤 18 检查安装错误。
安装完毕查看“$ORACLE_HOME/install/make.log”是否有错误信息。
----结束
6.1 关于本章
本节介绍如何创建数据库,包括创建ASM磁盘组、Oracle数据库、Oracle监听器以及修改初始化文件。
6.1 创建ASM磁盘组
本节介绍如何创建ASM磁盘组。
6.2 创建Oracle数据库
本节介绍如何创建Oracle数据库。
6.3 配置Oracle监听器
本节介绍如何配置Oracle监听器。
6.4 修改初始化文件
本节介绍如何修改初始化文件。
本节介绍如何创建ASM磁盘组。
前提条件
在建立ASM磁盘组之前请确保已配置好共享磁盘阵列。
背景信息
Oracle11g R2数据库使用ASM存储,在建立数据库之前必须先建立ASM磁盘组。必须使用操作系统grid用户调用ASMCA进行安装配置。
操作步骤
步骤 1 以grid用户登录节点1。
步骤 2 设置vnc服务端(如果未设置)。
执行:
$ vncserver :1
步骤 3 使用vnc客户端登录,并检查grid的所有环境变量是否已经生效。
在启动安装前需要确保“.profile”中设置的环境变量都已生效。
$ env
步骤 4 启动ASMCA。
$ asmca
选择“Disk Groups”页签,如图6-1所示。
图6-1 选择“Disk Groups”页签
步骤 5 创建Disk Group。
单击“Create”,如图6-2所示。
图6-2 创建Disk Group
步骤 6 创建DG_FRA。
l 在“Disk Group Name”中输入DG_FRA。
l “Redundancy”选择“External(None)”。
l “Disk Path”选择“/dev/diskgroup/DG_FRA”,如图6-3所示。
图6-3 创建DG_FRA
l 单击“OK”开始创建DG_FRA。
l 创建完毕,DG_FRA磁盘组显示,选择“Create”创建其他磁盘组,如图6-4所示。
图6-4 创建其他磁盘组
步骤 7 创建DG_DATA。
l 在“Disk Group Name”中输入DG_DATA。
l “Redundancy”选择“External”。
l “Disk Path”选择“/dev/diskgroup/DG_DATA1”、“/dev/diskgroup/DG_DATA2”和“/dev/diskgroup/DG_DATA3”,如图6-5所示。
图6-5 创建DG_DATA
l 单击“OK”,开始创建DG_DATA。
l 创建完毕,DG_DATA磁盘组显示,单击“Exit”,如图6-6所示。
图6-6 DG_DATA创建完毕
如果DG在某个节点没有加载,可以单击“Mount All”完成加载操作。
----结束
本节介绍如何创建Oracle数据库。
背景信息
必须使用操作系统oracle用户调用DBCA进行安装。
操作步骤
步骤 1 以oracle用户登录节点1。
步骤 2 设置vnc服务端(如果未设置)。
执行:
$ vncserver :2
步骤 3 使用vnc客户端登录,并检查oracle的所有环境变量是否已经生效。
在启动安装前需要确保“.profile”中设置的环境变量都已生效。
$ env
步骤 4 启动DBCA安装界面。
$ dbca
选择“Oracle Real Application Clusters (RAC) database”,单击“Next”,如图6-7所示。
图6-7 启动DBCA
步骤 5 选择操作类型。
选择“Create a Database”,单击“Next”,如图6-8所示。
图6-8 选择操作类型
步骤 6 选择数据库模板。
选择“Custom Database”,单击“Next”,如图6-9所示。
图6-9 选择模板
步骤 7 选择节点并指定数据库名。
配置类型选择“Admin-Managed”,填写数据库名称,单击“Select All”选择所有节点,单击“Next”,如图6-10所示。
图6-10 指定数据库名
步骤 8 配置企业管理和自动维护任务。
l 不勾选“Enterprise Manager”页签中“Configure Enterprise Manager”前面的复选框,如图6-11所示。
图6-11 配置企业管理
l 不勾选“Automatic Maintenance Tasks”页签中“Enable automatic maintenance tasks”前面的复选框,单击“Next”,如图6-12所示。
图6-12 配置自动维护任务
步骤 9 设置用户密码,如图6-13所示。
从安全角度考虑,所设置的密码必须符合以下要求的密码复杂度:
l 口令长度至少8个字符;
l 口令必须包含如下至少两种字符的组合:
l 至少一个小写字母;
l 至少一个大写字母;
l 至少一个数字;
l 至少一个特殊字符:#$-_或空格。
l 口令不能和帐号或者帐号的倒写一样。
图6-13 设置用户密码
步骤 10 使用ASM管理,如图6-14所示。
参数配置如下:
l “Storage Type”选择“Automatic Storage Management”。
l “Storage Locations”选择“Use Common Location for All Database Files”。
l “Database Files Location”选择“+DG_DATA”。
单击“Next”进入下一界面。
图6-14 使用ASM管理
步骤 11 配置恢复区,如图6-15所示。
不勾选此界面中“Specify Flash Recovery Area”和“Enable Archiving”前面的复选框。
图6-15 不指定恢复区
步骤 12 配置特性,如图6-16所示。
选中“Enterprise Manager Repository”特性,这个是Oracle11g自带的WEB化的管理工具,其他的特性不选中。单击“Standard Database Components…”:
l 若是安装CRM产品的数据库,则务必选中此窗口中“Oracle JVM”前面的复选框。
? 如果需要安装CMS模块,则还需要选中“Oracle XML DB”前面的复选框。
? 如果需要安装eShop模块,则还需要选中“Database Component”页签、“Oracle Text”、“Oracle OLAP”、“Oracle Spatial”、“Oracle Multimedia”和“Oracle Application Express”前面的复选框。
l 若是安装CSP/DT/DWH产品的数据库,则务必去掉此窗口中所有特性(“Oracle JVM”、“Oracle XML DB”)。
图6-16 勾选特性
如果“Standard database Components…”按钮不显示,需要将此窗口最大化。
步骤 13 设置内存参数。
l 选择“Memory”页签,然后选择“Typical”。图6-17所示的参数值仅为示例,必须依据《CRM&BI数据库参数配置指导书》为标准进行设置。
图6-17 设置内存参数
l 选择“Sizing”页签
l 在“Character Sets”页签,“Database Character Set”选择“AL32UTF8”(中文版本选择“ZHS16GBK”),“National Character Set”选择“AL16UTF16”,如图6-18所示。
图6-18 选择字符集
步骤 14 修改控制文件记录。
l 在左侧导航树上选中“Controlfile”,选择“Options”页签,如图6-19所示。
相关参数取值如下:
l “Maximum Datafiles”为“1024”。
l “Maximum Redo log files”为“200”。
l “Maximum Log members”为“3”。
图6-19 修改控制文件配置
l 选择“General”页签,如图6-20所示。
相关参数取值如下:
l “Template”根据文件类型而选择,“Controlfile”选择模版“CONTROLFILE”。
l “Alias”依据4.3 规划DG_DATA中数据库系统表空间中数据库系统表空间规划的ASM文件名称填写,填写规则为“{DB_UNIQUE_NAME}/ASM File Name”,例如:{DB_UNIQUE_NAME}/ora_ctl01。
图6-20 指定控制文件名
步骤 15 指定ASM数据文件的名称和路径。如图6-21所示。
配置要求:
l 此处需指定SYSTEM表空间、SYSAUX表空间、TEMP表空间、UNDOTBS表空间、USERS表空间的数据文件名称和路径,以及Redo Log Files的文件名称和路径。
l SYSAUX、SYSTEM、USERS的表空间Type为Permanent,TEMP表空间的Type为Temporary,UNDOTBS表空间的Type为Undo。
l Diskgroup选择“+DG_DATA”。
l Template根据文件类型而选择:
? SYSTEM表空间、SYSAUX表空间、UNDOTBS表空间和USERS表空间选择模版“DATAFILE”。
? TEMP表空间选择模版“TEMPFILE”。
? Redo Log Files选择模版“ONLINELOG”
l Alias依据4.3 规划DG_DATA中数据库系统表空间中数据库系统表空间规划的ASM文件名称填写,填写规则为“{DB_UNIQUE_NAME}/ASM File Name”,例如:{DB_UNIQUE_NAME}/ora_sysaux01。
l File Size依据4.3 规划DG_DATA中数据库系统表空间中的ASM文件大小填写。
图6-21 指定ASM数据文件的名称和路径
步骤 16 取消数据文件的自动扩展功能。
不勾选“Automatically extend datafile when full (AUTOEXTEND)”前面的复选框,如图6-22所示。
图6-22 取消数据文件的自动扩展功能
步骤 17 生成一个数据库创建脚本。首先创建目录。
# mkdir -p /opt/oracle/app/admin/tsm/scripts
# chown -R oracle.oinstall /opt/oracle/app/admin/
# mkdir -p /opt/oracle/app/cfgtoollogs/dbca/tsm
# chown -R oracle.oinstall /opt/oracle/app/cfgtoollogs/dbca/tsm
勾选“Generate Database Creation Scripts”前面的复选框,单击“Finish”,如图6-23所示。
图6-23 生成一个数据库创建脚本
步骤 18 确认配置后,单击“OK”开始创建数据库,如图6-24所示。
图6-24 确认配置
步骤 19 创建数据库,如图6-25所示。
图6-25 创建数据库
DBCA运行完毕,数据库建立,完成数据库创建操作。
步骤 20 登录数据库进行验证。
此处要修改$ORACLE_SID,例如节点1的$ORACLE_SID=tsm1
节点2的$ORACLE_SID=tsm2
数据库实例启动后,登录数据库确认数据库状态:
# su - oracle
$ sqlplus /nolog
SQL> conn /as sysdba;
SQL> select status from v$instance;
STATUS
------------------------
OPEN
如上所示,表示状态正常。
----结束
本节介绍如何配置Oracle监听器。
操作步骤
步骤 1 用o用户登录节点1启动NETCA。
$ netca
选择“Cluster configuration”,单击“Next”,如图6-26所示。
图6-26 启动NETCA
步骤 2 选择配置监听器,如图6-27所示。
图6-27 选择配置监听器
步骤 3 增加监听器。
选择“Add”,单击“Next”,如图6-28所示。
图6-28 选择配置监听器
步骤 4 填写监听器名称。
在“Listener name”中填写LISTENER_ORA,单击“Next”,如图6-29所示。
图6-29 填写监听器名称
步骤 5 配置监听器协议。
选择“TCP”,单击“Next”,如图6-30所示。
图6-30 配置监听器协议
步骤 6 指定使用端口号。
选中“User another port number”,端口从范围[1500,1600]中选择,例如:1522,如图6-31所示。
此处配置的监听端口号,不能与安装Grid软件时配置的“SCAN Port”冲突。
图6-31 指定使用端口号
步骤 7 不再配置其他的监听器,如图6-32所示。
图6-32 不再配置其他的监听器
步骤 8 完成监听器增加操作。
单击“Finish”,如图6-33所示。
图6-33 完成监听器增加操作
步骤 9 修改本地监听器配置。
以oracle用户登录节点1,执行以下命令设置本地监听器指向多个监听器配置,HOST指向各节点的虚拟IP地址。
# su - oracle
$ sqlplus /nolog
sql> conn /as sysdba;
sql> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac-test1-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=rac-test1-vip)(PORT=1522))))' scope=both sid='tsm1';
以oracle用户登录节点2,执行以下命令设置本地监听器指向多个监听器配置,HOST指向各节点的虚拟IP地址。
# su - oracle
$ sqlplus /nolog
sql> conn /as sysdba;
sql> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=rac-test2-vip)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=rac-test2-vip)(PORT=1522))))' scope=both sid='tsm2';
10.0.0.21和10.0.0.22分别为1号节点和2号节点的VIP,请参考3.3.3 规划网络配置。
1521端口号为grid用户下默认监听器listener对应的端口。
1522端口号为oracle用户下新建监听器LISTENER_ORA对应的端口。
----结束
本节介绍如何修改初始化文件。
背景信息
请以产品的配置标准,进行Oracle参数的调整,未调整参数的数据库服务器不允许上线使用。
建议禁用变量窥视、位图转换。初始化文件路径为:“$ORACLE_HOME/dbs/init$ORACLE_SID.ora”
操作步骤
步骤 1 分别在RAC各节点,以oracle用户登录。
步骤 2 修改初始化配置文件。
$ vi $ORACLE_HOME/dbs/init$tsm1.ora
建议禁用变量窥视、位图转换,修复完后内容如下:
SPFILE='+DG_DATA/ora11g/spfileora11g.ora'
_optim_peek_user_binds=false
_b_tree_bitmap_plans=false
----结束