实战Linux ORACLE 10g RAC

学习如何在 Red Hat Enterprise Linux 3 上将单一实例数据库转换为 Oracle 真正应用程序集群 (RAC) 10g。[@more@]

概述

RAC 集群由两台运行 RHEL3(内核 2.4.21-27)的 Intel x86 服务器组成。每个节点都可以访问共享存储器并可以连接到公共网络和专用网络。

本指南分为以下步骤:

  1. 准备安装
  2. 将数据库移植到 ASM
  3. 安装 Oracle 集群就绪服务 (CRS) 软件
  4. 安装 Oracle RAC 软件
  5. 后续安装
  6. 测试透明应用程序故障切换 (TAF)

除非另行指定,否则应在两个节点上执行所有步骤。

以下是在转换到 RAC 之前的单一实例数据库环境的情况介绍:

主机名
实例名
数据库名
$ORACLE_BASE
数据库文件存储
salmon1prod1prod1/u01/app/oracleext3


和 RAC 数据库环境情况介绍:

主机名
实例名
数据库名
$ORACLE_BASE
数据库文件存储
OCR 和 CRS Voting Disk
salmon1prod1aprod1/u01/app/oracleASM原始
salmon2prod1bprod1/u01/app/oracleASM原始


您将在每个节点上安装 Oracle Home 以实现冗余。ASM 和 RAC 实例在每个节点上共享同一 Oracle Home。

第 1 步:准备安装

1a.检验软件程序包版本。

安装所需的程序包。其他信息可以从文档中获得。

[root@salmon1]# rpm -qa | grep -i compat
compat-libstdc++-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
compat-db-4.0.14-5
compat-glibc-7.x-2.2.4.32.6
compat-slang-1.4.5-5
compat-gcc-7.3-2.96.128
compat-pwdb-0.62-3
[root@salmon1]# 
[root@salmon1]# rpm -qa | grep openmotif
openmotif-2.2.3-3.RHEL3
[root@salmon1]# 
[root@salmon1]# rpm -qa | grep -i gcc
gcc-gnat-3.2.3-42
gcc-c++-ssa-3.5ssa-0.20030801.48
compat-gcc-c++-7.3-2.96.128
libgcc-ssa-3.5ssa-0.20030801.48
gcc-3.2.3-42
gcc-g77-3.2.3-42
gcc-java-3.2.3-42
gcc-ssa-3.5ssa-0.20030801.48
gcc-g77-ssa-3.5ssa-0.20030801.48
gcc-objc-ssa-3.5ssa-0.20030801.48
libgcc-3.2.3-42
gcc-c++-3.2.3-42
gcc-objc-3.2.3-42
gcc-java-ssa-3.5ssa-0.20030801.48
compat-gcc-7.3-2.96.128

1b.检验内核参数。

检验以下内核参数。其他信息可以从文档中获得。

[root@salmon1]# sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
[root@salmon1]# sysctl -a | grep sem
kernel.sem = 250        32000   100     128
[root@salmon1]# sysctl -a | grep -i ip_local
net.ipv4.ip_local_port_range = 1024     65000
[root@salmon1]# sysctl -a | grep -i file-max
fs.file-max = 65536
1c.创建 Oracle Base 目录、oracle 用户和组。

在第一个节点上使用下面的信息,在第二个节点上创建 oracle 用户以及 oinstall 和 dba 组。

[oracle@salmon1]$ hostname
salmon1.dbsconsult.com
[oracle@salmon1]$ 
[oracle@salmon1]$ id
uid=500(oracle) gid=500(dba) groups=500(dba),501(oinstall)
[oracle@salmon1]$ 
[oracle@salmon1]$ echo $ORACLE_BASE
/u01/app/oracle
1d.编辑 oracle 用户环境文件。
[oracle@salmon1]$ more .bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

export PATH=$PATH:$HOME/bin
export ORACLE_SID=prod1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
umask 022
1e.配置 oracle 用户 shell 限制。
[root@salmon1]# more /etc/security/limits.conf
*                soft    nproc           2047
*                hard   nproc           16384
*                soft    nofile           1024
*                hard   nofile           65536
[root@salmon1]# grep pam_limits /etc/pam.d/login
session    required     /lib/security/pam_limits.so				 
1f.配置公共网络和专用网络。

使用下面的信息对网络接口设备 eth0(公共)和 eth1(专用)进行必需的更改。

[root@salmon1]# redhat-config-network
主机名
IP 地址
类型
salmon1.dbsconsult.com192.168.0.184公共 (eth0)
salmon2.dbsconsult.com192.168.0.185公共 (eth0)
salmon1.dbsconsult.com10.10.10.84专用 (eth1)
salmon2.dbsconsult.com10.10.10.85专用 (eth1)
salmon1-vip.dbsconsult.com192.168.0.186虚拟
salmon2-vip.dbsconsult.com192.168.0.187虚拟

1g.编辑 the /etc/hosts 文件。

127.0.0.1        localhost.localdomain   localhost
10.10.10.84     sallocal1.dbsconsult.com         sallocal1
10.10.10.85     sallocal2.dbsconsult.com         sallocal2
192.168.0.184   salmon1.dbsconsult.com           salmon1
192.168.0.185   salmon2.dbsconsult.com           salmon2
192.168.0.186   salmon1-vip.dbsconsult.com       salmon1-vip
192.168.0.187   salmon2-vip.dbsconsult.com       salmon2-vip
验证主机名和配置的网络接口设备。
[root@salmon1]# hostname
salmon1.dbsconsult.com
[root@salmon1]# /sbin/ifconfig

1h.使用 SSH 建立用户等效性。

在集群就绪服务 (CRS) 和 RAC 安装过程中,Oracle Universal Installer (OUI) 必须能够以 oracle 的身份将软件复制到所有 RAC 节点,而不提示输入口令。在 Oracle 10g 中,可以使用 ssh 代替 rsh 完成此操作。

要建立用户等效性,请在两个节点上以 oracle 用户的身份生成用户的公钥和私钥。

[oracle@salmon1]$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
5d:8c:42:97:eb:42:ae:52:52:e9:59:20:2a:d3:6f:59 oracle@salmon1.dbsconsult.com
在每个节点上测试连接。验证当您再次运行以下命令时,系统是否不提示您输入口令。
ssh salmon1 date
ssh salmon2 date 
ssh sallocal1 date
ssh sallocal2 date
ssh salmon1.dbsconsult.com date
ssh salmon2.dbsconsult.com date
ssh sallocal1.dbsconsult.com date
ssh sallocal2.dbsconsult.com date
1i.配置 hangcheck timer 内核模块。

hangcheck timer 内核模块监控系统的运行情况,并重新启动出现故障的 RAC 节点。它使用两个参数,即 hangcheck_tick(定义系统检查频率)和 hangcheck_margin(定义在重置 RAC 节点前的最大挂起延时)来确定节点是否出现故障。

在 /etc/rc.d/rc.local 中添加以下行以自动加载 hangcheck 模块。

[root@salmon1]# grep insmod /etc/rc.d/rc.local 
insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
1j.重新创建数据库控制文件。

在转换到 RAC 之前,确保在控制文件中正确调整以下项的大小。如果需要,请使用正确的设置重新创建数据库控制文件。

MAXLOGFILES
MAXLOGMEMBERS
MAXDATAFILES
MAXINSTANCES
MAXLOGHISTORY
1k.调整数据库缓冲区高速缓存。

从单一实例数据库转换到 RAC 时,数据库缓冲区高速缓存需要额外的内存。在 RAC 中,为每个块缓冲区高速缓存中的全局高速缓存服务 (GCS) 分配空间。所需的额外内存量取决于应用程序访问数据的方式,即同一个块是否高速缓存到多个实例中。

在演示实验中,我观察到缓冲区高速缓存的使用率增加了大约 8%。使用缓冲区高速缓存顾问确定最佳的缓冲区高速缓存大小,或切换到 Oracle 自动共享内存管理 (ASMM) 让 Oracle 进行控制。


第 2 步:将数据库移植到 ASM

ASM 实例与数据库实例之间的同步需要 Oracle 集群同步服务 (CSS) 后台程序。要启动 ASM 实例,必须启动 CSS 后台程序。安装或升级到 Oracle 数据库 10g 时,应该已经为单节点版本配置了 CSS,并且 CSS 应在系统重新启动时自动启动。

 
[root@salmon1]# ps a
                                                            

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/174388/viewspace-903276/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/174388/viewspace-903276/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值