VMware下CentOS6.5安装oracle11g RAC

1 前言

介绍本文档的读者对象和修订记录。

anchor.gif读者对象

本文档以Centos6.5操作系统为例,介绍了在VMware下使用虚拟磁盘的Oracle11g R2(RAC)数据库的安装方法。

本文档主要适用于学习

修订记录

修改记录累积了每次文档更新的说明。最新版本的文档包含以前所有文档版本的更新内容。

文档版本 01 (2015-04-09)

第一次正式发布。

文档版本 02 (2015-12-07)

将文档修改成供学习使用的VMware环境。

anchor.gif2 背景信息

公司业务使用的是oracle11g RAC,虽然也是当初自己搭建的,但是业务上线以后,为了降低风险,一些维护操作还是需要测试环境来验证,因此想到用VMware来搭建oracle 11g RAC来做测试环境。

anchor.gif关于本章

本节主要介绍安装Oracle11g R2数据库的基本概念、安装流程及注意事项。

2.1 RAC中的基本概念

2.2 安装流程

2.3 注意事项

anchor.gif2.1 RAC中的基本概念

本手册介绍在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来管理数据文件的数据库实例。

anchor.gifanchor.gif2.2 安装流程

本节主要介绍Oracle11g R2的安装流程。

IBM平台Centos6.5操作系统RAC方式安装Oracle11g R2,流程如图2-1所示。

anchor.gif图2-1 安装流程

anchor.gifanchor.gif2.3 注意事项

本节主要介绍安装Oracle11g R2数据库的注意事项。

在安装时,需要注意事项如下:

l 请确保双机符合以下要求:

? 操作系统一致。

? 数据库版本一致。

l 请在阅读文档时特别关注粗体字和斜体字部分。

l 在执行命令时,请重视命令前的提示符。

? 如果是“#”,则表示此命令是以root用户执行的。

? 如果是“$”,则表示是以oracle用户或者grid用户执行。

3 安装前检查与配置

关于本章

本节介绍安装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。

anchor.gif3.1 检查硬件环境

安装前需检查磁盘阵列、网络设备、主机内存及CPU的配置情况。

安装数据库对硬件要求如表3-1所示。

anchor.gif表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

anchor.gif3.2 检查软件环境

本节介绍安装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所示,如果不符合要求请调整。

anchor.gif表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所示。

anchor.gif表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

3.3 配置RAC环境

安装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做时钟同步。

----结束

anchor.gif3.3.3 规划网络配置

安装Oracle数据库软件前,应先了解网络配置的规划要求,以便能够按照规划进行配置。

两结点RAC网络规划如表3-4所示。

anchor.gif表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模式,如图

anchor.gif3.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

anchor.gif步骤 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 ################

----结束

anchor.gif3.4 配置本地磁盘

安装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

----结束

anchor.gif3.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

-

-

3.5 创建组和用户

本节介绍如何创建组和用户。

前提条件

组id和用户id的规划在各节点必须相同。

操作步骤

步骤 1 以root用户登录。

步骤 2 创建dba组。

步骤 3 创建oinstall组。

步骤 4 创建oracle用户。

l 修改oracle用户密码。

# passwd oracle

步骤 5 创建grid用户。

l 修改grid用户密码。

# passwd grid

----结束

3.6 创建安装目录

本节介绍如何创建安装目录。

背景信息

安装目录规划请参考3.4.2 分配本地磁盘空间。

由于集群软件Oracle Grid必须先于数据库启动,其安装目录的属主必须是grid,而安装数据库的目录的属主为oracle。因此grid与数据库软件不可共用同一个目录。

操作步骤

步骤 1 以root用户登录。

步骤 2 请参考11.4 磁盘命令创建规划的文件系统。

步骤 3 赋予目录正确的权限。

----结束

3.7 设置用户环境变量

安装Oracle数据库软件前需设置用户变量,包括oracle和grid用户。

3.7.1 设置oracle用户环境变量

本节介绍如何设置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

----结束

anchor.gif3.8 配置异步I/O

本节介绍如何配置异步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 配置共享磁阵

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 挂接块设备并赋予正确权限

本节介绍如何挂接块设备并赋权。

anchor.gif4.1 DG与ASM磁盘的分配原则

本节介绍DG与ASM磁盘的分配原则。

由于磁盘阵列的容量各局点并不相同,因此本节针对中等容量阵列和大容量阵列分别进行空间规划举例。

请现场、产品依据实际情况进行调整,以下为基本原则。

l “DG_OCR”不小于2G。

l “DG_FRA”与“DG_DATA”的空间比例约为1:3。

l “vg_admin”与“DG_DATA”之间的比例为1:3。

l ASM磁盘命名规则、ASM磁盘用途、ASM磁盘大小请参考依据本章的规划进行设置。

项目中详细规划请参考《集成设计模板》。

anchor.gif4.2 VDisk(LUN)与ASM磁盘的规划

本节介绍VDisk(LUN)与ASM磁盘的规划要求。

VDisk(LUN)与ASM磁盘的规划如表4-1所示。

anchor.gif表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下的磁盘(lun)要求大小一致。

anchor.gif4.3 规划DG_DATA中数据库系统表空间

本节介绍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所示。

anchor.gif表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 ~]#
……

----结束

anchor.gif5 安装Oracle软件

5.1 关于本章

本节介绍如何安装Oracle软件,包括安装前准备、安装Grid软件、数据库软件和补丁软件。

5.1 安装前准备

本节介绍安装前的准备工作,包括拷贝安装文件、创建Inventory目录、启动远程控制。

5.2 安装Grid软件

本节介绍如何安装Oracle Grid软件。

5.3 安装数据库软件

本节介绍如何安装Oracle11g R2数据库软件。

5.4 安装补丁软件

本节介绍如何安装补丁软件。

anchor.gif5.1 安装前准备

本节介绍安装前的准备工作,包括拷贝安装文件、创建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所示。

anchor.gif图5-1 “vncserver”设置、启动、停止命令

步骤 3 Windows客户端登录软件及方式

图5-2 Windows下客户端登录方式

步骤 4 Linux客户端登录方式

# vncviewer :1

l vnc停止必须以属主用户操作,即什么用户启动,什么用户停止,

anchor.gif5.2 安装Grid软件

本节介绍如何安装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所示。

anchor.gif图5-3 忽略软件更新

步骤 5 选择安装方式。

选择“Install and Configure Oracle Grid infrastructure for a Cluster”,单击“Next”,如图5-3所示。

anchor.gif图5-4 选择安装方式

步骤 6 选择安装类型。

选择“Advanced Installation”,单击“Next”,如图5-4所示。

anchor.gif图5-5 选择安装类型

步骤 7 选择安装语言。

选择English,单击“Next”,如图5-5所示。

anchor.gif图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”。

anchor.gif步骤 10 配置集群节点,如图5-7所示。

l 在“Public Hostname”中填写3.3.4 配置网络信息页面的步骤5中配置的“hostname”。

l 在“Virtual Hostname”中填写3.3.4 配置网络信息页面的步骤5中配置的“hostname-vip”。

l 单击“Add”,可以添加其他的节点。

l 单击“Edit”,可以修改已有的节点。

anchor.gif图5-7 配置集群节点

步骤 11 配置SSH连接,如图5-8所示。

l 单击“SSH Connectivity…”,设置SSH密码,即grid用户的密码。

l 单击“Setup”。

l 出现连接建立完成的提示后,单击“OK”。

l SSH连接建立完毕,单击“Next”。

anchor.gif图5-8 配置SSH连接

步骤 12 指定网卡,如图5-9所示。

l “bond0”指定为“Public”,“bond1”网卡指定为“Private”,其他的指定为“Do Not Use”。

l 单击“Next”。

现场有可能配置bond0为私网网卡,bond1为公网网卡,具体配置请根据3.3.4 配置网络信息的说明进行配置。

anchor.gif图5-9 指定网卡

步骤 13 指定存储,如图5-10所示。

选择“Oracle Automatic Storage Management(Oracle ASM)”,单击“Next”。

anchor.gif图5-10 指定存储

步骤 14 创建ASM Disk Group。

l 选择“Change Discovery Path”,如图5-11所示。

anchor.gif图5-11 选择“Change Discovery Path”

l 如果没有自动识别出ASM磁盘,在“Disk Discovery Path”中填写/dev/oracleasm/disks,如图5-12所示。

anchor.gif图5-12 指定磁盘查找路径

l 在“Disk Group Name”中填写DG_OCR;“Redundancy”选择“External”;选择磁盘路径“/dev/diskgroup/DG_OCR”,如图5-13所示。

anchor.gif图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 口令不能和帐号或者帐号的倒写一样。

anchor.gif图5-14 设置密码

l 单击“Next”,选择“Yes”,如图5-15所示。

anchor.gif图5-15 忽略警告

步骤 16 配置失败隔离选件,如图5-16所示。

选择“Do not use Intelligent Platform Management Interface (IPMI)”,单击“Next”。

anchor.gif图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所示。

anchor.gif图5-17 指定操作系统用户

l 单击“Next”,选择“Yes”,如图5-18所示。

anchor.gif图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”。

anchor.gif图5-19 指定安装路径

步骤 19 指定Inventory目录,如图5-20所示。

在“Inventory Directory”中填写/opt/oracle/oraInventory,单击“Next”。

anchor.gif图5-20 指定Inventory目录

步骤 20 预安装检查,如图5-21所示。

如果检查失败,单击“Fix & Check Again”进行修复。

anchor.gif图5-21 预安装检查结果

l 弹出窗口会提示在各节点执行脚本“/opt/oracle/oracrs/CVU_11.2.0.3.0_grid/runfixup.sh”,此时请不要单击窗口的“OK”,否则会造成安装失败,如图5-22所示。

anchor.gif图5-22 Fix脚本

l 单击“Next”。

l 如图5-23所示,忽略告警,选择“Yes”。

anchor.gif图5-23 忽略警告

步骤 21 检查概要。

检查没有问题,单击“Install”开始安装,如图5-24所示。

anchor.gif图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所示。

anchor.gif图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

anchor.gif5.3 安装数据库软件

本节介绍如何安装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所示。

anchor.gif图5-29 取消配置安全更新

l 单击“Yes”,取消安全更新,如图5-30所示。

anchor.gif图5-30 取消安全更新

步骤 6 选择安装方式。

选择“Install database software only”,单击“Next”,如图5-32所示。

anchor.gif图5-31 选择安装方式

步骤 7 指定安装类型。

选择“Oracle Real Applicateion Clusters database installation”,单击“Select All”勾选集群中所有的节点,如图5-32所示。

anchor.gif图5-32 指定安装类型

步骤 8 配置SSH连接,如图5-33所示。

l 单击“SSH Connectivity…”,设置SSH密码,即oracle用户的密码。

l 单击“Setup”。

l 出现连接建立完成的提示后,单击“OK”。

l SSH连接建立完毕,单击“Next”。

anchor.gif图5-33 配置SSH连接

步骤 9 选择安装语言。

选择“English”,单击“Next”,如图5-34所示。

anchor.gif图5-34 选择安装语言

步骤 10 选择软件版本。

选择“Enterprise Edition”,单击“Next”,如图5-35所示。

anchor.gif图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”。

anchor.gif图5-36 指定安装目录

步骤 12 设置操作系统用户组。

“Database Administrator(OSDBA) Group” 选择“dba”,“Database Operator(OSOPER) Group(Optional)”选择“dba”,单击“Next”,如图5-37所示。

anchor.gif图5-37 设置用户组

步骤 13 安装检测,如图5-38所示。

l 选中“Ignore All”前的复选框,忽略以下2个检查项:

l Clock synchronization

l Task resolv.conf Intergrity

anchor.gif图5-38 安装检测

l 单击“Yes”,如图5-39所示。

anchor.gif图5-39 忽略检测

步骤 14 安装概要检查。

检查没有问题,单击“Install”进行安装,如图5-40所示。

anchor.gif图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所示。

anchor.gif图5-41 完成安装

步骤 18 检查安装错误。

安装完毕查看“$ORACLE_HOME/install/make.log”是否有错误信息。

----结束

6 创建数据库

6.1 关于本章

本节介绍如何创建数据库,包括创建ASM磁盘组、Oracle数据库、Oracle监听器以及修改初始化文件。

6.1 创建ASM磁盘组

本节介绍如何创建ASM磁盘组。

6.2 创建Oracle数据库

本节介绍如何创建Oracle数据库。

6.3 配置Oracle监听器

本节介绍如何配置Oracle监听器。

6.4 修改初始化文件

本节介绍如何修改初始化文件。

anchor.gif6.1 创建ASM磁盘组

本节介绍如何创建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所示。

anchor.gif图6-1 选择“Disk Groups”页签

步骤 5 创建Disk Group。

单击“Create”,如图6-2所示。

anchor.gif图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所示。

anchor.gif图6-3 创建DG_FRA

l 单击“OK”开始创建DG_FRA。

l 创建完毕,DG_FRA磁盘组显示,选择“Create”创建其他磁盘组,如图6-4所示。

anchor.gif图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所示。

anchor.gif图6-5 创建DG_DATA

l 单击“OK”,开始创建DG_DATA。

l 创建完毕,DG_DATA磁盘组显示,单击“Exit”,如图6-6所示。

anchor.gif图6-6 DG_DATA创建完毕

如果DG在某个节点没有加载,可以单击“Mount All”完成加载操作。

----结束

anchor.gif6.2 创建Oracle数据库

本节介绍如何创建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所示。

anchor.gif图6-7 启动DBCA

步骤 5 选择操作类型。

选择“Create a Database”,单击“Next”,如图6-8所示。

anchor.gif图6-8 选择操作类型

步骤 6 选择数据库模板。

选择“Custom Database”,单击“Next”,如图6-9所示。

anchor.gif图6-9 选择模板

步骤 7 选择节点并指定数据库名。

配置类型选择“Admin-Managed”,填写数据库名称,单击“Select All”选择所有节点,单击“Next”,如图6-10所示。

anchor.gif图6-10 指定数据库名

步骤 8 配置企业管理和自动维护任务。

l 不勾选“Enterprise Manager”页签中“Configure Enterprise Manager”前面的复选框,如图6-11所示。

anchor.gif图6-11 配置企业管理

l 不勾选“Automatic Maintenance Tasks”页签中“Enable automatic maintenance tasks”前面的复选框,单击“Next”,如图6-12所示。

anchor.gif图6-12 配置自动维护任务

步骤 9 设置用户密码,如图6-13所示。

从安全角度考虑,所设置的密码必须符合以下要求的密码复杂度:

l 口令长度至少8个字符;

l 口令必须包含如下至少两种字符的组合:

l 至少一个小写字母;

l 至少一个大写字母;

l 至少一个数字;

l 至少一个特殊字符:#$-_或空格。

l 口令不能和帐号或者帐号的倒写一样。

anchor.gif图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”进入下一界面。

anchor.gif图6-14 使用ASM管理

步骤 11 配置恢复区,如图6-15所示。

不勾选此界面中“Specify Flash Recovery Area”和“Enable Archiving”前面的复选框。

anchor.gif图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”)。

anchor.gif图6-16 勾选特性

如果“Standard database Components…”按钮不显示,需要将此窗口最大化。

步骤 13 设置内存参数。

l 选择“Memory”页签,然后选择“Typical”。图6-17所示的参数值仅为示例,必须依据《CRM&BI数据库参数配置指导书》为标准进行设置。

anchor.gif图6-17 设置内存参数

l 选择“Sizing”页签

l 在“Character Sets”页签,“Database Character Set”选择“AL32UTF8”(中文版本选择“ZHS16GBK”),“National Character Set”选择“AL16UTF16”,如图6-18所示。

anchor.gif图6-18 选择字符集

步骤 14 修改控制文件记录。

l 在左侧导航树上选中“Controlfile”,选择“Options”页签,如图6-19所示。

相关参数取值如下:

l “Maximum Datafiles”为“1024”。

l “Maximum Redo log files”为“200”。

l “Maximum Log members”为“3”。

anchor.gif图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。

anchor.gif图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文件大小填写。

anchor.gif图6-21 指定ASM数据文件的名称和路径

步骤 16 取消数据文件的自动扩展功能。

不勾选“Automatically extend datafile when full (AUTOEXTEND)”前面的复选框,如图6-22所示。

anchor.gif图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所示。

anchor.gif图6-23 生成一个数据库创建脚本

步骤 18 确认配置后,单击“OK”开始创建数据库,如图6-24所示。

anchor.gif图6-24 确认配置

步骤 19 创建数据库,如图6-25所示。

anchor.gif图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

如上所示,表示状态正常。

----结束

anchor.gifanchor.gifanchor.gif6.3 配置Oracle监听器

本节介绍如何配置Oracle监听器。

操作步骤

步骤 1 用o用户登录节点1启动NETCA。

$ netca

选择“Cluster configuration”,单击“Next”,如图6-26所示。

anchor.gif图6-26 启动NETCA

步骤 2 选择配置监听器,如图6-27所示。

anchor.gif图6-27 选择配置监听器

步骤 3 增加监听器。

选择“Add”,单击“Next”,如图6-28所示。

anchor.gif图6-28 选择配置监听器

步骤 4 填写监听器名称。

在“Listener name”中填写LISTENER_ORA,单击“Next”,如图6-29所示。

anchor.gif图6-29 填写监听器名称

步骤 5 配置监听器协议。

选择“TCP”,单击“Next”,如图6-30所示。

anchor.gif图6-30 配置监听器协议

步骤 6 指定使用端口号。

选中“User another port number”,端口从范围[1500,1600]中选择,例如:1522,如图6-31所示。

此处配置的监听端口号,不能与安装Grid软件时配置的“SCAN Port”冲突。

anchor.gif图6-31 指定使用端口号

步骤 7 不再配置其他的监听器,如图6-32所示。

anchor.gif图6-32 不再配置其他的监听器

步骤 8 完成监听器增加操作。

单击“Finish”,如图6-33所示。

anchor.gif图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对应的端口。

----结束

anchor.gif6.4 修改初始化文件

本节介绍如何修改初始化文件。

背景信息

请以产品的配置标准,进行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

----结束

你可能感兴趣的:(数据库,操作系统,记录,读者)