CentOS6.6+Openfiler+Oracle 11.2.0.4+RAC+ASM安装文档 - 图文

更新时间:2023-10-10 08:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CentOS6.6+Openfiler+Oracle 11.2.0.4+RAC+ASM安装文档

目录

一,系统准备工作 ............................................................................................................... 4 1.1,RAC架构规划 .......................................................................................................... 4 1.2,修改/etc/hosts文件 ................................................................................................ 4 1.3,安装所需要的软件包 .............................................................................................. 5 1.4,添加用户,组和目录 .............................................................................................. 5 1.5,配置用户环境变量 .................................................................................................. 7 1.6,配置内核参数 ........................................................................................................ 10 1.7,设置系统资源限制 ................................................................................................ 10 1.8,配置时间同步 ........................................................................................................ 12 1.9,关闭系统防火墙和selinux .................................................................................... 13 二,配置Openfiler存储系统 ............................................................................................ 14 2.1,存储规划 ................................................................................................................ 14 2.2,配置Openfiler ........................................................................................................ 14 2.3,在Oracle RAC节点上配置iSCSI卷 ...................................................................... 21 2.4,在Oracle RAC节点上配置multipath ................................................................... 22 2.5,在Oracle RAC节点上配置ASM ........................................................................... 29 三,安装集群软件部分 ..................................................................................................... 30 3.1,准备安装软件 ........................................................................................................ 30 3.2,安装前的环境检查 ................................................................................................ 31 3.3,安装过程 ................................................................................................................ 31 3.4,卸载grid ................................................................................................................. 41 四,数据库安装配置部分 ................................................................................................. 41 4.1,安装oracle11.2.0.4数据库软件 ........................................................................... 41 4.2,创建ASM磁盘组 .................................................................................................. 47 4.3,创建RAC数据库 ................................................................................................... 49 4.4,建立监听服务 ........................................................................................................ 59 4.5,安装后的验证与检查 ............................................................................................ 62 五,安装中遇到的问题及解决 ......................................................................................... 65 5.1,注意事项 ................................................................................................................ 65

5.2,节点一执行root.sh 成功、节点二执行root.sh失败 ......................................... 66

一,系统准备工作 1.1,RAC架构规划

服务器主机名 公共IP地址 虚拟IP地址 私有IP地址 Oracle rac sid 集群实例名称 SCAN IP 操作系统 存储 Oracle版本 racnode1 192.168.2.236 192.168.2.246 172.16.1.1 racdb1 racdb 192.168.2.238 CentOS6.6-x86_64 Openfiler Oracle 11.2.0.4 racnode2 192.168.2.237 192.168.2.247 172.16.1.2 racdb2 1.2,修改/etc/hosts文件

所有节点都要配置 [root@racnode1 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #Public Network - (eth0) 192.168.2.236 racnode1 192.168.2.237 racnode2 #Private Interconnect - (eth1) 172.16.1.1 racnode1-priv 172.16.1.2 racnode2-priv #Public Virtual IP(VIP) - (eth0:1) 192.168.2.246 racnode1-vip 192.168.2.247 racnode2-vip #Single Client Access Name (SCAN) 192.168.2.238 rac-scan #Storage Network for Openfiler - (eth0) 192.168.2.233 openfiler

1.3,安装所需要的软件包

所有节点都要执行

Oracle Linux 6, Red Hat Enterprise Linux 6 The following packages (or later versions) must be installed: binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64) 配置好yum,使用yum安装

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-develcompat-libstdc++-33.i686libaio.i686 libaio-devel.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686glibc-devel.i686glibc.i686 libgcc.i686 libstdc++-devel.i686 -y

1.4,添加用户,组和目录

1.4.1,RAC使用的用户与组的关系

描述 OS 组名 分配给该组Oracle 权限 Oracle 组名

的 OS 用户 Oracle清单和软件所有者 oinstall grid、oracle Oracle自动存储管理组 ASM 数据库管理员组 ASM 操作员组 数据库管理员 数据库操作员

asmadmin grid asmdba grid、oracle SYSASM OSASM ASM的SYSDBA OSDBA for ASM ASM的SYSOPER OSOPER for ASM SYSDBA SYSOPER OSDBA OSOPER asmoper grid dba oper oracle oracle 1.4.2,在所有节点都要执行创建用户

GRID 用户:

#groupadd -g 1000 oinstall #groupadd -g 1200 asmadmin #groupadd -g 1201 asmdba #groupadd -g 1202 asmoper

#useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash -c \# id grid

Oracle 用户:

# groupadd -g 1300 dba # groupadd -g 1301 oper

# useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c \# id oracle 修改密码: passwd oracle passwd grid

在所有节点上验证用户 nobody 存在

安装软件之前,执行以下过程,以验证在两个Oracle RAC 节点上存在用户nobody,要确定该用户是否存在,输入以下命令: # id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody) 如果该命令显示了nobody 用户的信息,则无需创建该用户。如果用户 nobody 不存在,则输入以下命令进行创建: # /usr/sbin/useradd nobody

1.4.3,在所有节点上创建安装目录

mkdir -p /u01/app/grid

mkdir -p /u01/app/11.2.0/grid chown -R grid:oinstall /u01

mkdir -p /u01/app/oracle

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

chown -R oracle:oinstall /u01 chmod -R 775 /u01/

1.5,配置用户环境变量

1.5.1,Grid用户环境变量:

以grid用户帐户分别登录到两个Oracle RAC节点并创建以下登录脚本 (.bash_profile)。在为每个Oracle RAC节点设置Oracle环境变量时,确保为每个RAC节点指定唯一的 Oracle SID。如:

racnode1:ORACLE_SID=+ASM1 racnode2:ORACLE_SID=+ASM2 # su - grid #vi ~/.bash_profile # --------------------------------------------------- # .bash_profile # --------------------------------------------------- # OS User: grid # Application: Oracle Grid Infrastructure # Version: Oracle 11g release 2 # --------------------------------------------------- # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi ORACLE_SID=+ASM1; export ORACLE_SID JAVA_HOME=/usr/local/java; export JAVA_HOME ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH # SQLPATH=/u01/app/common/oracle/sql; export SQLPATH ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT=\TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin PATH=${PATH}:/u01/app/common/oracle/bin export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export CLASSPATH THREADS_FLAG=native; export THREADS_FLAG export TEMP=/tmp export TMPDIR=/tmp # --------------------------------------------------- # Set the default file mode creation mask # (umask) to 022 to ensure that the user performing # the Oracle software installation creates files # with 644 permissions. # --------------------------------------------------- umask 022 1.5.2,Oracle用户的环境变量:

以oracle用户帐户分别登录到两个Oracle RAC节点并创建以下登录脚本(.bash_profile),在为每个Oracle RAC节点设置Oracle环境变量时,确保为每个RAC节点指定唯一的Oracle SID。如:

racnode1:ORACLE_SID=racdb1 racnode2:ORACLE_SID=racdb2 # su - oracle #vi ~/.bash_profile # --------------------------------------------------- # .bash_profile # --------------------------------------------------- # OS User: oracle # Application: Oracle Database Software Owner # Version: Oracle 11g release 2 # --------------------------------------------------- # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi ORACLE_SID=racdb1; export ORACLE_SID ORACLE_UNQNAME=racdb; export ORACLE_UNQNAME JAVA_HOME=/usr/local/java; export JAVA_HOME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT=\TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin PATH=${PATH}:/u01/app/common/oracle/bin export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export CLASSPATH THREADS_FLAG=native; export THREADS_FLAG export TEMP=/tmp export TMPDIR=/tmp # --------------------------------------------------- # UMASK # --------------------------------------------------- # Set the default file mode creation mask # (umask) to 022 to ensure that the user performing # the Oracle software installation creates files # with 644 permissions. # --------------------------------------------------- umask 022 1.6,配置内核参数

官网手册给出的值都是最小值,因此如果您的系统使用更大的值,则不要更改。 #vi /etc/sysctl.conf kernel.shmmax = 4294967295 kernel.shmall = 2097152 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default=262144 net.core.rmem_max=4194304 net.core.wmem_default=262144 net.core.wmem_max=1048576 fs.aio-max-nr=1048576 注意:CentOS6已经配置了为以下内核参数定义的默认值: kernel.shmall kernel.shmmax

如果这些默认值等于或大于必需值,则使用这些默认值。 使修改的参数生效:

[root@racnode1 ~]# sysctl -p

1.7,设置系统资源限制

1.7.1,修改limits.conf文件

要改善Linux系统上的软件性能,必须对Oracle软件所有者用户(grid、oracle)增加以下资源限制: Shell 限制 打开文件描述符的最大数 limits.conf中的条目 硬限制 nofile 65536 16384 10240 可用于单个用户的最大进程数 nproc 进程堆栈段的最大大小 stack 以root用户身份,在每个Oracle RAC节点上,在/etc/security/limits.conf 文件中添加以下几行代码:

[root@rac1 ~]# cat >> /etc/security/limits.conf <

grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 EOF

说明,绿色部分一起执行

1.7.2,修改login文件

在每个Oracle RAC节点上都要执行,在/etc/pam.d/login文件中添加或编辑下面一行内容: [root@rac1 ~]# cat >> /etc/pam.d/login <

session required /lib64/security/pam_limits.so EOF

-- 说明,绿色部分一起执行

1.7.3,shell的限制

对默认的shell启动文件进行以下更改,以便更改所有Oracle安装所有者的ulimit设置: (1)对于Bourne、Bash或Korn shell,通过运行以下命令将以下行添加到/etc/profile文件:

[root@racnode1 ~]# cat >> /etc/profile <

if [ \\$USER = \ if [ \\$SHELL = \ ulimit -p 16384 ulimit -n 65536 else

ulimit -u 16384 -n 65536 fi

umask 022 fi EOF

-- 说明,绿色部分一起执行 对于C shell(csh或tcsh),通过运行以下命令将以下行添加到/etc/csh.login文件: [root@racnode1 ~]# cat >> /etc/csh.login <

limit descriptors 65536 endif EOF

-- 说明,绿色部分一起执行

1.8,配置时间同步

在集群中的两个Oracle RAC节点上执行以下集群时间同步服务配置。Oracle Clusterware 11g第2版及更高版本要求在部署了Oracle RAC的集群的所有节点上实现时间同步。 Oracle 提供了两种方法来实现时间同步:

一种方法是配置了网络时间协议(NTP)的操作系统, 另一种方法是新的Oracle集群时间同步服务(CTSS)。Oracle集群时间同步服务(ctssd)旨在为那些Oracle RAC数据库无法访问NTP服务的组织提供服务。

1.8.1.配置集群时间同步服务 — (CTSS)

使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议(NTP)及其配置。 要停用NTP服务,必须停止当前的ntpd服务,从初始化序列中禁用该服务,并删除ntp.conf文件。要在Oracle Enterprise Linux上完成这些步骤,以root用户身份在两个Oracle RAC节点上运行以下命令:

[root@racnode1 ~]# /sbin/service ntpd stop [root@racnode1 ~]# chkconfig ntpd off

[root@racnode1 ~]# mv /etc/ntp.conf /etc/ntp.conf.original 还要删除以下文件:

[root@racnode1 ~]# rm /var/run/ntpd.pid 此文件保存了NTP后台程序的pid。

当安装程序发现NTP协议处于非活动状态时,安装集群时间同步服务将以活动模式自动进行安装并通过所有节点的时间。如果发现配置了NTP,则以观察者模式启动集群时间同步服务,Oracle Clusterware不会在集群中进行活动的时间同步。

在安装后,要确认ctssd处于活动状态,请作为网格安装所有者(grid)输入以下命令: [grid@racnode1 ~]$ crsctl check ctss

CRS-4701: The Cluster Time Synchronization Service is in Active mode. CRS-4702: Offset (in msec): 0

1.8.2.配置网络时间协议 —(仅当不按如上所述使用CTSS时)

如果正在使用NTP,并且愿意继续使用它而不是集群时间同步服务,那么您需要修改NTP初始化文件,在其中设置-x标志,这样可避免向后调整时间。完成此任务后,重启网络时间协议后台程序。

为了在Oracle Enterprise Linux、Red Hat Linux和Asianux系统上完成此任务,编辑/etc/sysconfig/ntpd 文件,添加 -x 标志,如下例所示:

[root@rac1 mapper]# cat /etc/sysconfig/ntpd # Drop root to id 'ntp:ntp' by default.

OPTIONS=\-x -u ntp:ntp -p /var/run/ntpd.pid\

# Set to 'yes' to sync hw clock after successful ntpdate SYNC_HWCLOCK=no

# Additional options for ntpdate NTPDATE_OPTIONS=\

然后,重启 NTP 服务。 # /sbin/service ntp restart

1.9,关闭系统防火墙和selinux

所有节点都要执行

关闭防火墙

service iptables stop chkconfig iptables off

设置/etc/selinux/config文件,将SELINUX设置为disabled [root@racnode1 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. 以上配置都完成后,需要重启系统生效。 #reboot

二,配置Openfiler存储系统 2.1,存储规划

具体规划信息如下图:

iSCSI / 逻辑卷 卷名 卷描述 所需空间 (MB) 文件系统类型 2,208 33,888 33,888 iSCSI iSCSI iSCSI racdb-crs1 racdb - ASM CRS Volume 1 racdb-data1 racdb - ASM Data Volume 1 racdb-fra1 racdb - ASM FRA Volume 1

2.2,配置Openfiler

Openfiler是在rPath Linux基础上开发的,它能够作为一个独立的Linux操作系统发行。Openfiler是一款非常好的存储管理操作系统,开源免费,通过web界面对存储磁盘的管理,支持现在流行的网络存储技术IP-SAN和NAS,支持iSCSI(Internet Small Computer System Interface, 学名ISCSI HBA)、NFS、SMB/CIFS及FTP等协议。 openfiler提供web登录,Https://192.168.2.233:446/. 默认账户是openfiler密码为password. 我们登陆之后可以修改用户的密码。

2.2.1,启动iscsi服务

在Service里面启动iscsi target。启动之后,下次重启会自动启该服务。

2.2.2,配置iscsi访问IP

只有配置了IP才有权限访问openfiler存储。在system 选项的最下面有配置选项,把IP 写上即可。注意这里的子网掩码,写的是255.255.255.255

2.2.3,创建集群节点用共享磁盘设备

我们将创建三个 iSCSI 卷,以供集群中的两个Oracle RAC节点用作共享存储。这将在连接到 Openfiler 服务器的内置 73GB 15K SCSI 硬盘驱动器上执行多个步骤。 存储设备(如内置 IDE/SATA/SCSI/SAS 磁盘、存储阵列、外置 USB 驱动器、外置 FireWire 驱动器或者任何其他存储设备)可以连接到 Openfiler 服务器,并供客户端使用。如果在操作系统级发现了这些设备,就可以使用 Openfiler Storage Control Center 设置和管理所有这些存储设备。 在本例中,我们有一个73GB 的内置SCSI硬盘驱动器用于满足共享存储之需。在 Openfiler服务器上,该驱动器显示为 /dev/sdb (MAXTOR ATLAS15K2_73SCA)。要看到该驱动器并启动 iSCSI 卷的创建过程,请从 Openfiler Storage Control Center 转到 [Volumes] / [Block Devices]:

对物理磁盘进行分区 我们要执行的第一步是在 /dev/sdb 内置硬盘上创建一个主分区。单击 /dev/sdb 链接,我们会看到“Edit”或“Create”选项,分别用于编辑和创建分区。由于我们将创建一个跨整个磁盘的主分区,因此可以将大多数选项保留为默认设置,唯一的修改是将“Partition Type”由“Extended partition”更改为“Physical volume”。下面是我为了在 /dev/sdb 上创建主分区而指定的值: 模式:Primary

分区类型:Physical volume 开始柱面:1 结束柱面:8924 现在,大小将显示 68.36 GB。要接受该设置,单击“Create”按钮。这将在我们的内置硬盘上生成一个新的分区 (/dev/sdb1):

卷组管理 下一步是创建卷组。我们将创建一个名为 racdbvg 的卷组,其中包含新创建的主分区。 从 Openfiler Storage Control Center 中转到 [Volumes] / [Volume Groups]。我们将看到所有现有的卷组,或者什么也看不到(我们的情况就是这样)。在 Volume Group Management 屏幕中,输入新卷组的名称 (racdbvg),单击 /dev/sdb1 前面的复选框以选中该分区,最后单击“Add volume group”按钮。之后,我们会看到一个列表,其中显示出我们新创建的这个名为“racdbvg”的卷组:

创建逻辑卷 现在,我们可以在新创建的卷组 (racdbvg) 中创建三个逻辑卷。

从 Openfiler Storage Control Center 中转到 [Volumes] / [Add Volume]。我们将看到新创建的卷组 (racdbvg) 及其块存储统计信息。该屏幕底部还提供了一个选项,用于在选定的卷组中创建一个新卷—(在“racdbvg”中创建一个卷)。使用该屏幕创建以下三个逻辑 (iSCSI) 卷。 在创建每个逻辑卷之后,应用程序将转至“Manage Volumes”屏幕。然后,您需要单击后退到“Add Volume”选项卡以创建下一个逻辑卷,直至三个 iSCSI 卷全部创建完毕:

iSCSI / 逻辑卷 卷名 卷描述 所需空间 (MB) 文件系统类型 2,208 33,888 33,888 iSCSI iSCSI iSCSI racdb-crs1 racdb - ASM CRS Volume 1 racdb-data1 racdb - ASM Data Volume 1 racdb-fra1 racdb - ASM FRA Volume 1 实际上,我们已经创建了三个 iSCSI 磁盘,现在可以将它们呈现给网络上的 iSCSI 客户端(racnode1 和 racnode2)。“Manage Volumes”屏幕应如下所示:

iSCSI 目标 现在,我们有了三个iSCSI逻辑卷。但是,为了使iSCSI客户端可以访问这些逻辑卷,首先需要为这三个卷中的每个卷创建一iSCSI目标。每个iSCSI逻辑卷将映射到一个特定的iSCSI目标,并将为两个Oracle RAC节点授予对该目标的相应网络访问权限。对于本文,在iSCSI逻辑卷和iSCSI目标之间将会有一一映射的关系。 创建和配置 iSCSI 目标的过程包括三步:创建一个唯一的目标 IQN(实质上是新的 iSCSI 目标的通用名称),将上一节中创建的一个iSCSI逻辑卷映射到新创建的iSCSI目标,最后,授予两个Oracle RAC节点访问该新iSCSI目标的权限。请注意,需要对上一节中创建的三个iSCSI逻辑卷中的每个卷都执行一次此过程。 对于本文,下表列出了新的 iSCSI 目标名称(目标 IQN)及其将映射到的 iSCSI 逻辑卷:

iSCSI 目标/逻辑卷映射 目标 IQN iSCSI 卷名 卷描述 iqn.2006-01.com.openfiler:racdb.crs1 racdb-crs1 ASM CRS Volume 1 iqn.2006-01.com.openfiler:racdb.data1 racdb-data1 ASMDataVolume 1 iqn.2006-01.com.openfiler:racdb.fra1 racdb-fra1 ASM FRA Volume 1 现在我们来创建三个新的iSCSI目标—为每个iSCSI逻辑卷创建一个。下面举例说明通过创建 Oracle Clusterware/racdb-crs1 目标( iqn.2006-01.com.openfiler:racdb.crs1)来创建新的iSCSI目标时所需执行的三个步骤。这个三步过程需要对上表中列出的三个新 iSCSI 目标中

的每一个都重复执行一遍。

创建新目标 IQN 从 Openfiler Storage Control Center 中转到 [Volumes] / [iSCSI Targets]。确保选择了灰色子选项卡“Target Configuration”。您可在此选项卡页中创建一个新的 iSCSI 目标。系统会自动生成一个默认值,作为新 iSCSI 目标的名称(常称为“目标 IQN”)。目标 IQN 的一个示例是“iqn.2006-01.com.openfiler:tsn.ae4683b67fd3”:

我喜欢用更具含义的字串来替换这个默认目标 IQN 最后一段。对于第一个 iSCSI 目标(Oracle Clusterware/racdb-crs1),我将这样来修改默认的目标 IQN:将字符串“tsn.ae4683b67fd3”替换为“racdb.crs1”,如下面的图所示:

对新的目标 IQN 满意之后,单击“Add”按钮。这将会创建一个新的 iSCSI 目标,然后会出现一个页面,您可以在该页面中修改新 iSCSI 目标的一系列设置。对于本文,无需更改新 iSCSI 目标的任何设置。

LUN 映射

创建新的 iSCSI 目标之后,下一步是将相应的 iSCSI 逻辑卷映射到该目标。在“Target Configuration”子选项卡下,验证在“Select iSCSI Target”部分中选择了正确的 iSCSI 目标。如果不是这样,使用下拉菜单选择正确的 iSCSI 目标,然后单击“Change”按钮。 接下来,单击名为“LUN Mapping”的灰色子选项卡(在“Target Configuration”子选项卡旁)。找到相应的 iSCSI 逻辑卷(本例中为 /dev/racdbvg/racdb-crs1),然后单击“Map”按钮。无需更改此页面中的任何设置。对卷 /dev/racdbvg/racdb-crs1 单击“Map”按钮后,您的屏幕应如图所示:

网络 ACL 需要先授予 iSCSI 客户端相应的权限,它才能访问新创建的 iSCSI 目标。在前面,我们已通过Openfiler对两个主机(Oracle RAC 节点)进行网络访问配置。这两个节点需要通过存储(专用)网络访问新的 iSCSI 目标。现在,我们需要授予这两个 Oracle RAC 节点访问新 iSCSI 目标的权限。 单击名为“Network ACL”的灰色子选项卡(在“LUN Mapping”子选项卡旁)。对当前的 iSCSI 目标,将两个主机的“Access”值由“Deny”更改为“Allow”,然后单击“Update”按钮。

返回到创建新的目标 IQN 一节,对其余两个 ISCSI 逻辑卷执行这三个任务,同时替换“iSCSI 目标/逻辑卷映射”表中找到的值。

10,用root 用户,在节点1上执行root.sh脚本,而后在节点2上执行。脚本执行完毕后, 在安装页面点击[Ok]

11,oracle 数据库软件安装完成. 点击[Close]

4.2,创建ASM磁盘组

ASM磁盘组是为数据库提供存储用的,要创建DATA,FRA两个磁盘组。其中DATA 将存放数据库文件;FRA 存放闪回文件。

1. grid 用户登录节点1图形页面,执行创建命令$ asmca,启动磁盘组创建向导。 $ asmca

2. 在[Disk Groups]页面,点击[Create]按钮

3. 在创建界面中填写磁盘组名称,选择[External(none)],[Select Member Disks]选择[Show Eligible],勾选对应的磁盘,选择完毕后点击[Ok];

4,点击[ok],创建完成

5,创建FRA磁盘组和DATA操作相同。完成如下图:点击[Exit]

磁盘组创建完成,三个磁盘组全部为mount状态。可以为后面的数据库提供存储。

4.3,创建RAC数据库

1. oracle用户登录图形页面,执行DBCA命令创建数据库 $ dbca

2. 选择[Oracle Real Application Clusters database]创建RAC集群数据库,点击[Next]

3. 选择创建数据库[Create a Database],点击[Next]

4. 选择一般用途或事务处理[General Purpose or Transaction Processing],点击[Next]

5. 配置类型选择管理员管理[Admin-Managed],填写全局数据库名及SID前缀,点击[Select All] 选择全部节点,点击[Next]

重启multipathd 服务,验证配置 # service multipathd restart # chkconfig multipathd on

进入/dev/mapper 目录进行验证: # ls -lrt /dev/mapper/*

查看映射情况 # multipath -ll

在 iSCSI 卷上创建分区

[root@racnode1 ~]# fdisk /dev/mapper/racdb-crs Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 1

First cylinder (1-1012, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-1012, default 1012): 1012

Command (m for help): p

Disk /dev/iscsi/crs1/part: 2315 MB, 2315255808 bytes 72 heads, 62 sectors/track, 1012 cylinders

Units = cylinders of 4464 * 512 = 2285568 bytes

Device Boot Start End Blocks /dev/iscsi/crs1/part1 1 1012 2258753

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

# ---------------------------------------

[root@racnode1 ~]# fdisk /dev/mapper/racdb-data Command (m for help): n Command action e extended

p primary partition (1-4)

Id System 83 Linux p

Partition number (1-4): 1

First cylinder (1-33888, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-33888, default 33888): 33888

Command (m for help): p

Disk /dev/iscsi/data1/part: 35.5 GB, 35534143488 bytes 64 heads, 32 sectors/track, 33888 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes

Device Boot Start End Blocks Id System /dev/iscsi/data1/part1 1 33888 34701296 83 Linux Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

# ---------------------------------------

[root@racnode1 ~]# fdisk /dev/mapper/racdb-fra Command (m for help): n Command action e extended

p primary partition (1-4) p

Partition number (1-4): 1

First cylinder (1-33888, default 1): 1

Last cylinder or +size or +sizeM or +sizeK (1-33888, default 33888): 33888

Command (m for help): p

Disk /dev/iscsi/fra1/part: 35.5 GB, 35534143488 bytes 64 heads, 32 sectors/track, 33888 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes

Device Boot Start End Blocks Id System /dev/iscsi/fra1/part1 1 33888 34701296 83 Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table. Syncing disks.

在 racnode1 上创建所有需要的分区之后,要执行一下multipath命令刷新映射名称 [root@racnode1 ~]# multipath -F --清除多路径设备缓存,不然信息不能更新 [root@racnode1 ~]# multipath –v3 --重新加载 [root@racnode1 ~]# fdisk -l

[root@racnode1 mapper]# ls -lrt /dev/mapper/*

crw------- 1 root root 10, 62 Nov 12 04:42 /dev/mapper/control brw-rw---- 1 root disk 253, 0 Nov 12 05:33 /dev/mapper/crs brw-rw---- 1 root disk 253, 1 Nov 12 05:33 /dev/mapper/fra brw-rw---- 1 root disk 253, 2 Nov 12 05:33 /dev/mapper/data brw-rw---- 1 root disk 253, 3 Nov 12 05:33 /dev/mapper/crsp1 brw-rw---- 1 root disk 253, 4 Nov 12 05:33 /dev/mapper/datap1 brw-rw---- 1 root disk 253, 5 Nov 12 05:33 /dev/mapper/frap1

这里多了一下/dev/mapper/frap1,datap1 和crsp1 的分区,这些就是已经格式化之后的磁盘。我们可以直接使用。这里要注意一个问题,权限问题。现在看到的用户是root。我们需要在Oracle 用户。修改rc.local. 让系统每次在启动时修改文件属性: [root@racnode1 mapper]# cat /etc/rc.d/rc.local #!/bin/sh #

# This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

chown oracle:oinstall /dev/mapper/fra* chown oracle:oinstall /dev/mapper/data* chown oracle:oinstall /dev/mapper/crs*

执行下脚本:

[root@racnode1 mapper]# sh /etc/rc.d/rc.local

现在应使用以下命令以“root”用户帐户从 Oracle RAC 集群的所有其余节点 (racnode2) 将分区更改通知给内核。

在 racnode2 上运行以下命令: [root@racnode2 ~]# partprobe [root@racnode2 ~]# fdisk -l

[root@racnode2 ~]# multipath -ll

2.5,在Oracle RAC节点上配置ASM

在集群中的两个Oracle RAC节点上都要配置ASM。而创建ASM磁盘组只应在 RAC 集群的节点1上执行,节点2刷新就可以了。

2.5.1,安装ASM包

先安装ASM 包,这个几个包可以从Oracle 官网下载:

http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html 根据你的系统版本下载对应的包,下面是我的下载包: oracleasmlib-2.0.4-1.el5.x86_64.rpm

oracleasm-support-2.1.8-1.el6.x86_64.rpm kmod-oracleasm-2.0.6.rh1-2.el6.x86_64.rpm

注意:最后一个包只是针对RHEL6或centos6以上的,6以下不叫这个名字。 # rpm -Uvh *.rpm

2.5.2,配置ASM初始化

oracleasm命令的默认路径为/usr/sbin。以前版本中使用的/etc/init.d 路径并未被弃用,但该路径下的oracleasm二进制文件现在一般用于内部命令。如果输入oracleasm configure命令时不带 -i 标志,则显示当前配置。

# oracleasm configure -i -- 在所有节点都要执行。 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 []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done You have new mail in /var/spool/mail/root 该脚本完成以下任务:

创建 /etc/sysconfig/oracleasm 配置文件 创建 /dev/oracleasm 挂载点 挂载 ASMLib 驱动程序文件系统

输入以下命令以加载oracleasm内核模块:

[root@rac1 mnt]# oracleasm init -- 在所有节点都要执行。 Creating /dev/oracleasm mount point: /dev/oracleasm Loading module \

Mounting ASMlib driver filesystem: /dev/oracleasm

如果这里没有配置,在安裝Clusterware后执行root.sh脚本时可能会触发错误

2.5.3,创建ASM磁盘组

创建过程在一个节点执行即可。另一个节点扫描一下就可以识别到了。 在node1:

#oracleasm createdisk CRS /dev/mapper/racdb-crsp1 #oracleasm createdisk DATA /dev/mapper/racdb-datap1 #oracleasm createdisk FRA /dev/mapper/racdb-frap1 node2:

# oracleasm scandisks

Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk \Instantiating disk \Instantiating disk \

[root@rac2 mnt]# oracleasm listdisks CRS DATA FRA

如果创建错误,可以用deletedisk参数,如:oracleasm deletedisk DATA [root@rac2 mnt]# oracleasm querydisk DATA Disk \到此,ASM的安装配置结束。

三,安装集群软件部分 3.1,准备安装软件

一共3个压缩包:

p10404530_112040_Linux-x86-64_1of7.zip p10404530_112040_Linux-x86-64_2of7.zip p10404530_112040_Linux-x86-64_3of7.zip 其中:

p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip

这两个是 Oracle数据库软件的安装介质。 p13390677_112040_Linux-x86-64_3of7.zip 是 GRID 软件的安装介质。

为了便于下面安装软件,分别将其移动到oracle用户和grid用户的家目录解压 #mv p10404530_112040_Linux-x86-64_3of7.zip /home/grid #mv p10404530_112040_Linux-x86-64_1of7.zip p10404530_112040_Linux-x86-64_2of7.zip /home/oracle

#chown -R oracle:oinstall /home/oracle #chown -R grid:oinstall /home/grid

3.2,安装前的环境检查

root用户在节点1上安装 cvuqdisk相关 rpm 包: # cd /home/grid/grid/rpm/

# rpm -ivh cvuqdisk-1.0.9-1.rpm

然后将这个包scp到第二个节点安装。

以Grid用户进行Grid Infrastructure安装前的检查: #su - grid

$ cd /home/grid/grid

$./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2–verbose 全部为pass时,检查通过安装环境准备 OK!

3.3,安装过程

在节点1上开始正式安装 Grid 软件:

一定要以grid 用户登录图形界面,执行/home/grid/grid中runInstaller,进入图形安装:

$ cd /home/grid/grid $ ./runInstaller

选择第3项[Skip software updates]跨过软件更新,[Next]

选择[Install and Configure Oracle Grid Infrastructure for a Cluster] ,[Next]

选择[Advanced Installation],[Next]

语言选择默认English,[Next]

取消勾选[Configure GNS]输入

[Cluster Name]rac-scan,[SCAN Name]rac-scan.test.com,[Next]

进行到此步骤时要注意:点击[Add]添加第2个节点,填写[Public Hostname]为racnode2,填写[Virtual Hostname]为racnode2-vip,点击[OK],点击ssh connectivety.然后输入密码,在设置一下,最后测试成功即可。设置的过程要等一会。

确认网络不用修改,点击[Next]

存储设置选择[Oracle Automatic Storage Management(Oracle ASM)],点击[Next]

创建磁盘组,命令磁盘组名CRS,冗余策略选择External,AU Size默认1M,Add Disk 选择CRS,点击[Next]

指定ASM口令,选择[Use same passwords for these accounts]使用相同口令,输入指定口令和确认口令,点击[Next]

选择[Do not use Intelligent Platform Management Interface(IPMI)]不使用IPMI,点击[Next]

给ASM指定不同的组,点击[Next]

选择GRID软件安装路径,选择前面建好的路径,这里的Software Location不能是Oracle Base的子目录,在前面建立目录时已经分开了,点击[Next]

创建Invertory,选择默认,点击[Next]

检查完成后显示概要信息,没有提示任何错误,点击[Install]

根据提示执行脚本

用root用户在两个节点上执行orainstRoot.sh和root.sh脚本:注意顺序:节点1 orainstRoot.sh,节点2 orainstRoot.sh,节点1 root.sh,节点2 root.sh

如果在第二个节点执行root.sh脚本出错, # cd/u01/app/11.2.0/grid/crs/install

# ./rootcrs.pl -verbose -deconfig -force 删除后、重启节点再执行root.sh 提示成功

点击[Close]

3.4,卸载grid

如果中间出现异常需要卸载grid,可以使用下面命令彻底清理运行过程中需要输入相关信息 和执行相关的命令。 grid用户执行: $ cd /u01/app/11.2.0/grid/deinstall/ $ ./deinstall

重新安装grid infrastructure软件,需要对ocr及votingdisk所在区域进行清理 (ASM) 删除共享磁盘,然后要重新创建这些磁盘。 root用户执行: # /etc/init.d/oracleasm deletedisk CRS # /etc/init.d/oracleasm deletedisk DATA # /etc/init.d/oracleasm deletedisk FRA

四,数据库安装配置部分

4.1,安装oracle11.2.0.4数据库软件

1. oracle用户登录到节点1,找到前面解压好的安装文件(在home/oracle/database),执行:

$ ./runInstaller

2. 去掉[I wish to receives security updates via My Oracle suppot]的勾选,点击[Next] 弹出窗口选择yes

3,在软件更新界面中,勾选跳过更新[Skip software updates],点击[Next]

4,选择[install software only]公安装数据库软件,点击[Next]

5,选择[Oracle Real Application Clusters database installtion]在集群中安装数据库,同时勾选 下面的两个节点,点击ssh connectivety.然后输入密码,在设置一下,最后测试成功即可。设置的过程要等一会,点击[Next]

选择语言,将中文添加到列表中,点击[Next]

6,数据库版本,选择[Enterprise Edition]企业版,点击[Next]

7,安装路径,[Oracle Base]与[Software Location]使用前面建立好的目录,点击[Next]

8,权限组使用默认的属组,点击[Next]

9,检查完成进入信息摘要页面,点击[Install]

本文来源:https://www.bwwdw.com/article/oj0f.html

Top