《配置oracle 11G R2 RAC ON redhat55.doc》由会员分享,可在线阅读,更多相关《配置oracle 11G R2 RAC ON redhat55.doc(56页珍藏版)》请在三一办公上搜索。
1、配置oracle 11g r2 RAC on rhel5.5一、 环境介绍所有的节点名称都是以XZXJ.EDU.CN结尾的,SERVER是一台DNS服务器,用来解析名称用。在这里存储系统使用的是ASM,在 ASM 上存储 OCR 和表决磁盘文件,具体是存储在一个名为 +CRS 的磁盘组中,该磁盘组使用外部冗余配置,只有一个 OCR 位置和一个表决磁盘位置。ASM 磁盘组应在共享存储器上创建,大小至少为 2GB。Oracle 物理数据库文件(数据、联机重做日志、控制文件、存档重做日志)将安装在 ASM 上一个名为 +RACDB_DATA 的 ASM 磁盘组中,而快速恢复区将在一个名为 +FRA
2、的 ASM 磁盘组上创建。 二、系统配置: (1)、安装oracle RAC所需的linux软件包: x86: yum y install binutils compat-libstdc+ 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 unixOD
3、BC unixODBC-devel x64: binutils-2.17.50.0.6 compat-libstdc+-33-3.2.3 compat-libstdc+-33-3.2.3(32 位) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c+-4.1.2 glibc-2.5-24 glibc-2.5-24(32 位) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5(32 位) glibc
4、-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106(32 位) libaio-devel-0.3.106 libaio-devel-0.3.106(32 位) libgcc-4.1.2 libgcc-4.1.2(32 位) libstdc+-4.1.2 libstdc+-4.1.2(32 位) libstdc+-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-2.2.11(32 位) unixODBC-devel-2.2.11 unixODBC-devel-2.
5、2.11(32 位) (2)、网络配置: 网络硬件要求: 每个 Oracle RAC 节点至少必须有两个网络适配器(即网络接口卡 (NIC)):一个用于公共网络接口,另一个用于专用网络接口(互连)。要对公共网络或专用网络使用多个 NIC,Oracle 建议采用 NIC 绑定。对公共网络和专用网络使用不同的绑定(即,对公共网络使用 bond0,对专用网络使用 bond1),这是因为在安装过程中,每个接口要么定义为公共接口,要么定义为专用接口。本文不讨论 NIC 绑定。 每个网络中网络适配器的相关公共接口名称在所有节点上都应相同,网络适配器的相关专用接口名称在所有节点上都应相同。 对于公共网络,每
6、个网络适配器必须支持 TCP/IP。 对于专用网络,互连必须支持用户数据报协议 (UDP),使用支持 TCP/IP(最小要求为 1 Gb 以太网)的高速网络适配器和交换机。 UDP 是 Oracle RAC 的默认互连协议,TCP 是 Oracle Clusterware 的互连协议。对于此互连,必须使用一个交换机。Oracle 建议您使用一个专用交换机。 对于互连,Oracle 不支持令牌环和交叉电缆。 对于专用网络,所有指定互连接口的端点在网络上必须完全可达。每个节点均应连接到所有的专用网络接口。可以使用 ping 命令测试一个互连接口是否可达。 在 Oracle Grid Infrast
7、ructure 的安装过程中,系统都会要求您标识 OUI 在您的集群节点上检测到的每个网络接口计划使用方式。必须将每个接口标识为 public interface、private interface 或 not used,并且必须对 Oracle Clusterware 和 Oracle RAC 使用相同的专用接口。 可将若干独立的接口绑定为一个公共接口,这样可在某个 NIC 出现故障时提供冗余性。但是,Oracle 建议您不要为 Oracle Clusterware 和 Oracle RAC 创建不同的接口。如果您对专用互连使用多个 NIC,Oracle 建议您使用 NIC 绑定。请注意,多
8、个专用接口提供负载平衡,但不提供故障切换功能,只有将它们绑定在一起时才提供故障切换功能。 从 Oracle Clusterware 11g 第 2 版开始,无需再为互连提供专用名称或 IP 地址。标识为专用的子网上的 IP 地址将被分配作为集群成员节点的专用 IP 地址。无需在 hosts 目录中手动配置这些地址。如果需要针对互连进行名称解析,可在 hosts 文件或 DNS 上配置专用 IP 名称。而 Oracle Clusterware 会为安装期间定义为专用接口的那个接口(如 eth1)分配互连地址,并将该地址分配给用作专用子网的那个子网。实际上,在本指南中,我会继续在每个节点包括一个专
9、用名称和 IP 地址以用于 RAC 互连。这在专用网络上提供了自我文档编制的方法和一组端点,可供故障排除之用: 192.168.0.51 rac01-priv 192.168.0.52 rac02-priv 在使用 iSCSI 进行网络存储的生产环境中,我们强烈建议使用 TCP/IP 卸载引擎 (TOE) 卡配置第三个网络接口(如 eth2)作为冗余接口来处理这种存储流量。为简单起见,本文中的配置是让 RAC 专用互连接口 (eth1) 所属的网络同时承载 iSCSI 网络存储流量。在同一网络接口上同时处理 Oracle RAC 的 iSCSI 存储流量和缓存融合流量使我们的测试系统成本低廉,
10、但永远不要考虑在生产环境中使用该方法。 TOE 的基本用意是将 TCP/IP 协议的处理工作从主机处理器卸载到适配器上的硬件或系统中。TOE 通常内嵌在网络接口卡 (NIC) 或主机总线适配器 (HBA) 中,用于减少 CPU 和服务器 I/O 子系统上的 TCP/IP 处理工作量以提高总体性能。 分配IP地址: 这里的 SCAN ip地址必须通过GNS或者DNS来解析的,这里使用的是DNS解析.其他地址都在hosts文件里定义。 #Public Network - (eth0) 192.168.1.51 rac01 192.168.1.52 rac02 #Private Network -
11、(eth1) 192.168.0.51 rac01- rac01-priv 192.168.0.52 rac02- rac02-priv #Public Virtual IP - (eth0:1) 192.168.1.53 rac01- rac01-vip 192.168.1.54 rac02- rac02-vip # Single Client Access Name (SCAN) 192.168.1.55 rac- rac-scan # Private Storage Network for Openfiler - (eth1) 192.168.0.50 openfiler-priv #P
12、ublic Storage Network for Openfiler - (eth0) 192.168.1.50 openfiler 配置DNS,使之能解析rac-scan: 完了之后重新启动或者重新载入配置文件:OK,测试成功。 (3)、集群时间同步服务: 配置集群时间同步服务 (CTSS): 如果您想使用集群时间同步服务在集群中提供同步服务,需要卸载网络时间协议 (NTP) 及其配置。做如下操作: 要停用 NTP 服务,必须停止当前的 ntpd 服务,从初始化序列中禁用该服务,并删除 ntp.conf 文件。 当安装程序发现 NTP 协议处于非活动状态时,安装集群时间同步服务将以活动模式
13、自动进行安装并通过所有节点的时间。如果发现配置了 NTP,则以观察者模式启动集群时间同步服务,Oracle Clusterware 不会在集群中进行活动的时间同步。 在安装后,要确认 ctssd 处于活动状态,请作为网格安装所有者 (grid) 输入以下命令: gridrac01 $ crsctl check ctss CRS-4701: The Cluster Time Synchronization Service is in Active mode. CRS-4702: Offset (in msec): 0 配置网络时间协议: 如果您正在使用 NTP,并且愿意继续使用它而不是集群时间同
14、步服务,那么您需要修改 NTP 初始化文件,在其中设置 -x 标志,这样可避免向后调整时间。完成此任务后,重启网络时间协议后台程序。 编辑/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= 然后,重启
15、NTP 服务。 (4)、openfiler配置: ISCSI目标:网络ACL:现在已经成功发现并登录到iSCSI目标了。 可以通过查看 /dev/disk/by-path 目录来确定所有目标的当前映射: 在iscsi卷上创建分区: 只创建一个分区,在一个节点上执行即可,如下:(6)、创建任务角色划分操作系统权限组、用户和目录: 创建以下 O/S 组: 添加grid用户: alias df=df -h alias du=du -sh alias la=ls -lha ORACLE_SID=+ASM1; export ORACLE_SID JAVA_HOME=/usr/local/java; ex
16、port 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 ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS; export NLS_DATE_FORMAT TNS_ADMIN=$ORACLE_H
17、OME/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_LIB
18、RARY_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
19、_FLAG=native; export THREADS_FLAG export TEMP=/tmp export TMPDIR=/tmp umask 022 为 Oracle 数据库软件创建组和用户: 为 oracle 用户帐户创建登录脚本 以 oracle 用户帐户分别登录到两个 Oracle RAC 节点并创建以下登录脚本 (.bash_profile): 注:在为每个 Oracle RAC 节点设置 Oracle 环境变量时,确保为每个 RAC 节点指定唯一的 Oracle SID。对于此示例,我使用: rac01:ORACLE_SID=racdb1 rac02:ORACLE_SID=
20、racdb2 加入.bash_profile alias df=df -h alias du=du -sh alias la=ls -lha 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
21、 ORACLE_HOME ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH ORACLE_TERM=xterm; export ORACLE_TERM NLS_DATE_FORMAT=DD-MON-YYYY HH24:MI:SS; export 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:
22、$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_LIB
23、RARY_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 022 创建Oracle 基目录路径: 安装这三个软件包:1、输
24、入以下命令,以使用 configure 选项运行 oracleasm 初始化脚本:为oracle创建ASM磁盘: 创建 ASM 磁盘只需在 RAC 集群中的一个节点上以 root 用户帐户执行。我将在 rac01 上运行这些命令。在另一个 Oracle RAC 节点上,您将需要执行 scandisk 以识别新卷。该操作完成后,应在两个 Oracle RAC 节点上运行 oracleasm listdisks 命令以验证是否创建了所有 ASM四、集群的 Oracle Grid Infrastructure 的安装前任务: 所需的oracle软件如下: 适用于 Linux 的 Oracle Dat
25、abase 11g 第 2 版 Grid Infrastructure (11.2.0.1.0) 适用于 Linux 的 Oracle Database 11g 第 2 版 (11.2.0.1.0) Oracle Database 11g 第 2 版 Examples(可选) 安装用于 Linux 的 cvuqdisk 程序包 在两个 Oracle RAC 节点上安装操作系统程序包 cvuqdisk。如果没有 cvuqdisk,集群验证实用程序就无法发现共享磁盘,当运行(手动运行或在 Oracle Grid Infrastructure 安装结束时自动运行)集群验证实用程序时,您会收到这样的错
26、误消息:“Package cvuqdisk not installed”。使用适用于您的硬件体系结构(例如,x86_64 或 i386)的 cvuqdisk RPM。 cvuqdisk RPM 包含在 Oracle Grid Infrastructure 安装介质上的 rpm 目录中。 设置环境变量 CVUQDISK_GRP,使其指向作为 cvuqdisk 的所有者所在的组(本文为 oinstall): 在保存 cvuqdisk RPM 的目录中,使用以下命令在两个 Oracle RAC 节点上安装 cvuqdisk 程序包:使用 CVU 验证是否满足 Oracle 集群件要求 记住要作为 g
27、rid 用户在将要执行 Oracle 安装的节点 (racnode1) 上运行。此外,必须为 grid 用户配置通过用户等效性实现的 SSH 连通性。 在grid软件目录里运行以下命令: 可以忽略下面这个错误:使用 CVU 验证硬件和操作系统设置 查看 CVU 报告。CVU 执行的所有其他检查的结果报告应该为“passed”,之后才能继续进行 Oracle Grid Infrastructure 的安装。 五、为集群安装 Oracle Grid Infrastructure:这里点击test时,测试ssh用户等效性,之前我已建立过连接,所以点击test提示已经建立连接,下一步。 这里出现了一个
28、小问题,因为我么在dns中定义所以提示不能解析节点的VIP,在dns定义之后通过了。 出现这两个错误可以忽略不计,直接下一步退出。 四、集群的 Oracle Grid Infrastructure 的安装后任务: (1)、验证oracle clusterware的安装 以grid身份运行以下命令: 检查crs状态: 检查 Clusterware 资源: 检查集群节点:检查两个节点上的ORACLE TNS 监听器进程:确认针对 Oracle Clusterware 文件的 Oracle ASM 功能: 如果在 Oracle ASM 上安装了 OCR 和表决磁盘文件,则以 Grid Infrast
29、ructure 安装所有者的身份,使用下面的命令语法来确认当前正在运行已安装的 Oracle ASM:检查ORACLE集群注册表(OCR):检查表决磁盘:(2)为数据和快速恢复区创建 ASM 磁盘组: 在 Disk Groups 选项卡中,单击 Create 按钮,在出现的画面中创建racdb_data卷:再次单击create,创建“快速恢复区”磁盘组: 完成后如图所示:单击Exit退出ASM配置向导。 五、安装oracle 11g r2 database:这里只选择安装database software only,下一步:这里只选择安装database software only,下一步:选
30、择 Real Application Clusters database installation 单选按钮(此为默认选择),确保选中 Node Name 窗口中的两个 Oracle RAC 节点。 接下来,单击 SSH Connectivity 按钮。输入 oracle 用户的 OS Password,然后单击 Setup 按钮。这会启动 SSH Connectivity 配置过程: ssh等效性验证成功,点ok,继续下一步:下一步:待安装完成后在各个节点执行/u01/app/oracle/product/11.2.0/dbhome_1/root.sh脚本,完成后退出向导。 六、创建集群数据库: 使用dbca创建,创建之前确保已安装的所有服务(Oracle TNS 监听器、Oracle Clusterware 进程等)正在运行。 选中oracle real application cluters database,下一步: