欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle11gR2 On Asianux3集群部署指南(64bit)

程序员文章站 2022-04-09 14:29:00
...

目录 Oracle11gR2 On Asianux3 集群部署指南 ... 5 1 前言 ... 5 1.1 说明 ... 5 1.2 安装软件清单 ... 5 2 准备工作 ... 5 2.1 部署环境描述 ... 5 2.1.1 部署服务器环境描述 ... 5 2.1.2 RAC 体系结构 ... 5 2.1.3 RAC 网络分配 ... 6 2.2 检查网卡 ... 7



目录

Oracle11gR2 On Asianux3集群部署指南... 5

1前言... 5

1.1 说明... 5

1.2 安装软件清单... 5

2准备工作... 5

2.1 部署环境描述... 5

2.1.1部署服务器环境描述... 5

2.1.2 RAC体系结构... 5

2.1.3 RAC网络分配... 6

2.2 检查网卡... 7

2.3 修改IP.. 7

2.4 修改主机名... 8

2.5 修改/etc/hosts文件... 9

2.6 跳过DNS配置... 9

2.7 添加oraclegrid用户和用户组... 10

2.8 修改oraclegrid环境变量... 11

2.8.1 Grid用户环境变量... 11

2.8.2 Oracle用户环境变量... 11

2.9 创建路径和授权... 11

2.10 修改登录oraclegird用户的资源数... 12

2.10.1修改登录限制文件... 12

2.10.2修改验证登录配置文件... 12

2.11 停止NTP服务... 12

2.12 配置OracleGrid用户ssh对等性... 13

2.12.1验证ssh对等性... 13

2.13 磁盘规划... 13

2.13.1创建共享磁盘... 13

2.13.2共享磁盘授权... 13

2.14 解压安装介质... 14

3安装grid(网格)软件... 14

4安装数据库软件... 26

5创建数据库实例... 32

6安装问题集... 39

Oracle11gR2 On Asianux3集群部署指南

1 前言

1.1 说明

  • 本文档内容讲述Oracle 11.2.0.5 on Asianux 3.0 4.1.2-50 (64bit)集群基本安装步骤和方法。文档内容已在实际环境中部署、验证。

  • 使用本文档,需具备ORACLELINUX基础知识。

1.2 安装软件清单

本指南用到的软件清单:

  • Asianux 3.0 4.1.2-50

  • linux.x64_11gR2_database_1of2

  • linux.x64_11gR2_database_2of2

  • linux.x64_11gR2_grid

2 准备工作

若无特别说明,“$”提示符均表示在oracle用户下执行,“#”提示符均表示在root用户下执行。

2.1 部署环境描述

2.1.1 部署服务器环境描述

服务器名

项目名称

服务器1

服务器2

主机名

rac1

rac2

物理内存

4GB

4GB

磁盘

30GB

30GB

共享磁盘

20GB

2.1.2 RAC体系结构

两台服务器,划了一块共享磁盘,每台服务器需要三个IP,两台服务器通过心跳线通讯,共同访问共享磁盘的信息,对外提供虚拟IP给外部客户端访问者。

2.1.3 RAC网络分配

公共IP是网卡的IP可以提供给远程连接,虚拟IP提供远程连接,还有可以实现漂移功能,当一个节点故障时虚拟IP会自动漂移到健康的节点,私有IP是内部通讯使用的心跳线,Scan IP11g开始出现的,相当于在客户端和数据库之间增加一层虚拟的网络服务层,需要安装配置DNS服务器,在后面安装grid软件会用到Scan IP所以必须规划好,但这个Scan IP不是必须要用到,主要作用是为了方便维护数据库客户端连接文件tnsnames.ora

主机名

类型

IP

网络接口

说明

rac1

Public IP

192.168.13.120

eth0

公共

rac2

Public IP

192.168.13.122

eth0

公共

rac1-vip

Virtual IP

192.168.13.121

eth0:1

虚拟

rac2-vip

Virtual IP

192.168.13.123

eth0:1

虚拟

rac1-priv

Private IP

10.10.10.11

eth1

私有

rac2-priv

Private IP

10.10.10.12

eth1

私有

scan-rac

Scan IP

192.168.13.124

eh0

配置DNS

2.2 检查网卡

两个节点root用户下,执行ifconfig查看是否有两个网卡,如果可以看到eth0eth1,则说明有两个网卡,如果只看到eth0则需要添加一个虚拟网卡,添加网卡在虚拟机上可以直接添加一个新的网卡或者可以在网上邻居上添加但前提是需要创建一个网卡文件在root用户下执行:

#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1

  • 在虚拟机上添加选择以太网适配器,然后下一步即可添加虚拟网卡:

  • 创建了eth1文件后,在网上邻居添加网卡:

2.3 修改IP

两个节点root用户下,执行vi /etc/sysconfig/network-scripts/ifcfg-eth0修改网卡1IP,执行vi /etc/sysconfig/network-scripts/ifcfg-eth1修改网卡2IP或者直接进入两个节点服务器中通过网上邻居去修改IP和网关,子网掩码,修改完成需要重启网络服务,在两个节点root用户下执行命令:service network restart

节点1的网卡1

节点1的网卡2

2.4 修改主机名

两个节点root用户下,执行vi /etc/sysconfig/network,修改主机名

节点1主机名修改成rac1,节点2主机名修改成rac2。修改完成,需要重启服务,在两个节点root用户下执行命令:service network restart,重启服务后,重新打开窗口即可看到修改的新的主机名。

节点1的主机名:

重启服务:

2.5 修改/etc/hosts文件

hosts文件是DNS解析用的,后面的网格,数据库软件安装,实例安装过程中都会通过hosts文件获取IP和主机名,是必须要修改,在两个节点root用户下,执行vi /etc/hosts

2.6 跳过DNS配置

2.1.3中有提到SCAN IP,要用到SCAN IP需要安装DNS服务器,这个功能并不是必须的,可以修改一些参数来跳过网格软件安装时候的DNS校验,如果不做这一步,装网格软件完成时候会提示一个错误信息“[INS-20802] oracle cluster verification实用程序失败”的错误信息,这个错误忽略,但为了不出现报错信息需要跳过DNS校验。需要先重命名nslookup(它是二进制文件打开会乱码,必须先重命名),然后再新建一个nslookup,在两个节点root用户下:

  • 重命名:mv /usr/bin/nslookup /usr/bin/nslookup.original

  • 新建:vi /usr/bin/nslookup,加入代码:

#!/bin/bash

HOSTNAME=${1}

if [[ $HOSTNAME = "scan-rac" ]]; then

echo "Server: 192.168.13.125"

echo "Address: 192.168.13.125#53"

echo "Non-authoritative answer:"

echo "Name: scan-rac"

echo "Address: 192.168.13.124"

else

/usr/bin/nslookup.original $HOSTNAME

fi

网格安装在设置阶段提示的错误信息:

2.7 添加oraclegrid用户和用户组

两个节点root用户下,添加oraclegrid用户和用户组

groupadd -g 1000 oinstall

groupadd -g 1300 dba

groupadd -g 1301 oper

groupadd -g 1200 asmadmin

groupadd -g 1201 asmdba

groupadd -g 1202 asmoper

useradd -u 1101 -g oinstall -G asmadmin,asmdba,asmoper,dba grid

useradd -u 1100 -g oinstall -G dba,oper,asmdba oracle

passwd grid

passwd oracle

检查oraclegrid用户的组创建情况在root用户下输入id oracle即可查看oracle用户的建组情况,id grid查看grid用户的建组情况。

2.8 修改oraclegrid环境变量

2.8.1 Grid用户环境变量

两个节点grid用户下,执行vi .bash_profile,修改grid的环境变量,执行source .bash_profile,可载入刚刚设置的环境变量

添加代码(节点2SID修改成+ASM2)

export ORACLE_SID=+ASM1

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME=/u01/grid

export PATH=$ORACLE_HOME/bin:$PATH

2.8.2 Oracle用户环境变量

两个节点oracle用户下,执行vi .bash_profile,修改oracle的环境变量,执行source .bash_profile,可载入刚刚设置的环境变量

添加代码(节点2SID修改成dw2):

export ORACLE_SID=dw1

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/11.2.0

export PATH=$ORACLE_HOME/bin:$PATH

2.9 创建路径和授权

两个节点root用户下,执行如下操作:

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle

mkdir -p /u01/grid

chown grid:oinstall /u01/app/grid

chown oracle:oinstall /u01/app/oracle

chown grid:oinstall /u01/app

chown grid:oinstall /u01/grid

chmod -R 755 /u01

chmod -R 775 /u01/app

2.10 修改登录oraclegird用户的资源数

2.10.1 修改登录限制文件

两个节点root用户下,执行vi /etc/security/limits.conf,添加如下代码:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

2.10.2 修改验证登录配置文件

两个节点root用户下,执行vi /etc/pam.d/login,添加如下代码:

session required pam_limits.so multiple open

2.11 停止NTP服务

停止NTP服务是在Oracle11R2中新增的检查项,在11gR2版本中,oracle新推出了自己的时间同步服务(CTSS),这只在一个集群所有节点中有效,与其他系统的时间并不同步,要使用CTSS同步时间,必须停止并清除NTP服务。

两个节点root用户下,执行如下命令:

[root@rac1 ~]# service ntpd status

ntpd is stopped

[root@rac1 ~]# chkconfig ntpd off

[root@rac1 ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

[root@rac1 ~]# rm -rf /etc/ntp.conf

2.12 配置OracleGrid用户ssh对等性

在使用linux时候,有时候需要远程到一台主机的命令行窗口,通常我们都是用ssh的方式,但出于安全性考虑每次登陆都会被要求输入用户名和密码,为了避免麻烦,我们必须在两台主机建立ssh等效性,在后面的安装grid软件、数据库软件、数据库实例的时候,也会用到scp远程复制的功能,这个功能就需要做ssh对等性。从 11g开始,ssh对等性连接已经可以在grid网格安装的时候实现,具体操作看网格软件安装过程。

2.13 磁盘规划

2.13.1 创建共享磁盘

exsit5.5上添加共享磁盘,在rac1中添加20g的磁盘,磁盘置备选择“厚置备为零”,scsi控制器选择1:1scsi总线共享选择虚拟

2.13.2 共享磁盘授权

创建完后,在两个节点root用户下,执行fdisk –l,查看添加的共享磁盘,根据oracle规定,这个共享磁盘必须要有660以上的权限。

对新增的共享磁盘/dev/sdb授权:chmod -R 765 /dev/sdb,但每次机器重启都会被系统回收权限,所以必须把授权加入到随机自启动文件中,在两个节点的root用户下执行vi /etc/rc.local,添加授权命令。

2.14 解压安装介质

在节点1Oracle Grid Infrastructure软件上传到/home/grid/software 目录。将 Oracle Database软件上传到/home/oracle/software目录。

grid 用户身份解压缩 Oracle Grid Infrastructure软件:

[grid@rac1 ~]$ mkdir -p /home/grid/software

[grid@rac1 ~]$ cd /home/grid/software

[grid@rac1 software]$ unzip linux.x64_11gR2_grid.zip

oracle 用户身份解压缩 Oracle Database软件:

[oracle@rac1 ~]$ mkdir -p /home/oracle/software

[oracle@rac1 software]$ unzip linux.x64_11gR2_database_1of2.zip

[oracle@rac1 software]$ unzip linux.x64_11gR2_database_2of2.zip

3 安装grid(网格)软件

rac1grid用户下,进入grid软件解压的根目录下,执行./runInstaller,进入OUI界面。

安装选项

选择安装和配置集群的网格基础结构。

安装类型

选择高级安装。

产品语言

默认会选择简体中文和英语。

网格即插即用

集群名称和sacn名称填写scan-rac,在2.1.3RAC网络分配中有规划。

配置GNS不需要勾选。

集群节点信息

这步需要做两个事情,一个是配置节点2的主机名和虚拟主机名,另一个是做ssh连接。

  • 点击添加,加入rac2rac2-vip

  • 点击ssh连接,需要输入grid的密码(创建grid用户时候的密码),点击设置后grid软件自动会建立ssh连接,连接完成会提示成功建立无口令ssh连接,但需要在各个节点的两个用户下做ssh对等性测试才算完成。

rac1rac2两个节点上分别执行下述命令。

rac1grid用户下:

[grid@rac1~]$ ssh rac1 date

[grid@rac1~]$ ssh rac2 date

[grid@rac1~]$ ssh rac1-priv date

[grid@rac1~]$ ssh rac2-priv date

节点1

节点2

执行完成后,点击连接,如果成功,则可以继续下一步。

网络接口使用情况

eth0默认是公共的,无需选择,eth1选择专用。需要注意:两个节点的两个网卡的四个子网掩码都需要一致,不然会提示错误。

存储选项

选择自动存储管理(ASM)。

创建ASM磁盘组

磁盘组名:OCRDG,冗余选择“外部”,如果看不到刚刚前面添加的共享磁盘,需要在右下角的更改搜索路径中,输入/dev/sdb(在root用户下,执行fdisk -l查看共享磁盘的磁盘路径)。

ASM口令

选择对这些账户使用同一口令。

?故障隔离

选择IPMI

?操作系统组

默认即可。

?安装位置

这里的路径是在2.8修改oraclegrid环境变量中设定的。

?创建产品清单

该目录需要有有775以上的权限,如果前面设置了环境变量,这里的路径默认是oracle基目录的上一级目录,/ORACLE_BASE/../,如果没有设置环境变量,这里默认的是home目录下面。

?先决条件检查

这里看到内核参数检查失败,这里和单机版本的oracle安装一样,点击“修补并再次检查(F)”按照提示执行脚本,再点击重新检查即可通过。

?概要

点击完成。

?设置

根据提示在两个节点上的root用户下分别执行两个脚本。

执行orainstRoot.sh

执行root.sh,这个过程会提示输入路径,直接enter键默认路径即可。

?完成

安装完成后,检查集群的状态:

[root@rac1~]# su - grid

[grid@rac1~]$ crs_stat –t

4 安装数据库软件

在节点1oracle用户下进入oracle解压根目录下,执行./runInstaller

配置安全更新

不勾选“我希望通过MY ORACLE SUPPORT接收安全更新”。

不填电子邮件。

安装选项

选择“仅安装数据库软件”。

网格选项

选择集群安装,全选两个集群;点击ssh连接,输入oracle的密码,点击设置,即可执行ssh等效性连接。

产品语言

默认选择简体中文和英语。

数据库版本

选择“企业版”。

安装位置

这里会读取oracle环境变量设定的基目录和软件目录。

概要

安装产品

根据提示在两个节点root用户下执行root.sh脚本。

完成

5 创建数据库实例

在节点1oracle用户下执行dbca创建数据库实例。

选择数据库类型

选择RAC数据库。

创建数据库

选择一般用途或事务处理

填写全局数据库名和选择节点

配置企业管理器

这里不勾选,不需要安装EM

设置syssystem密码

自动存储管理

数据库恢复选项

不勾选,后续维护需要再开启。

实例方案

不勾选,不需要用到。

内存和字符集管理

内存默认物理内存的40%

数据库字符集:AL32UTF8,国家字符集:AL16UTF16,默认语言:简体中文(Simplified Chinese),默认地区:中国(China)

?数据库存储

有控制文件表空间数据文件重做日志的操作。这些后续可以再根据需要调整。

?创建完成

此安装过程需要30分钟到1小时。

最后如果出现了数据库创建完成的界面,实例创建完成,点击退出即可。

6 安装问题集

问题:网络接口使用情况出现ins-41107错误;

解决:检查了rac1rac2IP设置和网关、子网掩码,发现rac1的子网掩码错误,修改后重启了网络服务重新即可进入。

问题:在安装位置的时候提示“无法创建目录”;

解决:对节点1和节点2的基目录和软件安装目录授权,保持权限一致,都有755的权限。

问题:多次安装集群和卸载会产生大量的日志;

解决:找到路径/oracle/app/oraInventory/logs,删除日志文件。

问题:集群安装执行root.sh文件的时候提示,磁盘组ocrdg无法创建;

解决:给/dev/sdb授权,但每次重启机器权限都会回收,所以在linux的自动启动脚本/etc/rc.local写了一个开机自动授权的语句,给磁盘组授予660以上的权限。

常出现的问题的情况:

a.执行用户出错,rootoraclegrid经常混淆;

b.编辑文件时候,空格、文件名出错;

c.执行只在单节点执行,没有同步在两个节点执行。

6、创建ASM磁盘标记出错或安装时能认到硬盘但是点击后磁盘的权限消失问题

[root@ora11g ~]# oracleasm createdisk -v VOL1 /dev/sdc1

Disk "VOL1" does not exist or is not instantiated

Writing disk header: done

Instantiating disk: oracleasm-instantiate-disk: Unable to create ASM disk "VOL1": Permission failed

Clearing disk header: done

原因:For pre-11.2.0.2 installations, SELinux must be disabled. For 11.2.0.2, SELinux is supported but the recommendation (if possible) is to run with SELinux disabled. See Bug 9746474.

上述告诉我们要关闭SeLinux设置。