oracle 10G rac + redhat 4的详细配置

   时至今日,经过反复的试验终于配置RAC成功,现在把详细的操作步骤贴出来,供大家参考,希望能让同样对RAC的配置存在困惑的兄弟少走一些不必要的弯路,也希望朋友们发现有不足之处多多指正,共同进步。
    1.环境:
    VMWARE SERVER 1.7,ORALCE 10G,系统平台为红帽4企业版,基于RAW设备的的RAC,磁盘阵列用模拟共享 存储 替代,节点为两个。
节点信息:IP                               PRIVIP                                         VIP                                          HOSTNAME
123.125.17.2                               192.168.100.2                       123.125.17.6                                        RAC-01
123.125.17.4                               192.168.100.3                       123.125.17.8                                         RAC-02
    2.配置系统
    包括安装,和创建共享 存储 步骤省略,只要相应的开发包要装齐全句OK,相信大家既然能玩RAC,这些肯定不在话下,接下来是系统相关的操作:
    (1)  增加ORACLE用户及其组
    命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
    这里需要注意的,用户 ID 和组 ID 在所有集群主机上必须相同。
    设置 oracle 帐户的口令:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
    (2)创建挂载点
    以 root 用户身份执行以下命令:
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
    (3)配置内核参数
    以 root 用户身份登录并在每个主机上配置 Linux 内核参数。
cat >> /etc/sysctl.conf >>EOF
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024     65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
EOF
/sbin/sysctl -p
    内核参数具体数值请根据系统环境自行设置,本例为测试 环境。
    (4)配置LIMIT
    Oracle 建议对每个 Linux 帐户可以使用的进程数量和打开文件的数量设置限制。要进行这些更改,以 root 用户身份剪切和粘贴下列命令。
cat >> /etc/security/limits.conf >>EOF
oracle               soft    nproc   2047
oracle               hard    nproc   16384
oracle               soft    nofile  1024
oracle               hard    nofile  65536
EOF
    (5)配置 Hangcheck 计时器所有 RHEL 版本:
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
cat >> /etc/rc.d/rc.local >>EOF
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
EOF
    (6)配置 /etc/hosts
    有些 Linux 发行版本将主机名与回送地址 (127.0.0.1) 相关联。 如果出现这种情况,则从回送地址中删除主机名。
    用于此指南的 /etc/hosts 文件:
127.0.0.1        localhost.localdomain   localhost
192.168.100.2  rac-priv01
192.168.100.3  rac-priv02   
123.125.17.2    rac-01
123.125.17.4    rac-02
123.125.17.6    rac-vip01    
123.125.17.8    rac-vip02
    此处需要注意的问题是回环地址中不要出现主机名称,再一个是本机的公网IP必须和VIP在一个网段(也有可能是局域网),在设置IP时,同网段的IP网关一定要是同一个。
    以上六步操作需要在所有节点上操作。
(7)为用户等效性配置 SSH
    在每个主机上,以 oracle 用户身份登录:
$ mkdir ~/.ssh
$ chmod 755 ~/.ssh
$ /usr/bin/ssh-keygen -t rsa
    这些操作会在/home/oracle/.ssh/生成id_dsa.pub文件,我们把id_dsa.pub,复制到一个名称为authorized_keys(这个文件需要自己先创建)
    以下l两步操作只在RAC-01上
    ssh rac-01 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys
    ssh rac-02 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle//.ssh/authorized_keys
    把生成的authorized_keys拷贝到RAC-02的/home/oracle/.ssh/下
    (8) 测试 连通性
    如果一切均设置正确,则您现在就可以使用 ssh 在其他集群主机上不必输入口令而登录、执行程序和复制文件了。 通过在远程集群主机上运行诸如 date 等简单命令来验证用户等效性:
ssh rac-02 date
ssh rac-01 date
ssh rac-priv01 date
ssh rac-priv02 date
    以上SSH命令需要在两个节点上依次执行
    测试每个方向上所有 的连通性是非常重要的。 这样会确保当 OUI 在 CRS 和数据库软件安装期间试图复制文件时不会出现类似以下的消息。 该消息只有在远程节点上第一次执行操作时才会出现,因此通过测试服务连通性,您不仅确保了远程操作的正常运行,还完成了初始的 安全 密钥 交换 。
    (9)准备共享磁盘(原始设备)在此我们为两个共享磁盘,SDB,SDC
    在集群文件系统和 ASM 可用之前,原始分区是为 Oracle RAC 配置共享磁盘存储的唯一选择。 由于这种技术经历长时间的考验,因此它们构成了一个构建 RAC 集群的非常坚实的平台。
    但是,原始分区有很多缺点。 主要是它们必须接受每个磁盘可使用 15 个分区的限制、Linux 强制的 255 个原始设备的限制以及额外的管理任务和所需计划。 对于单实例环境而言,逻辑卷管理器 (LVM) 可以减少管理工作并在存储布局方面提供更多灵活性。 不幸的是,LVM 不能识别集群,因此在 RAC 环境中不支持它的使用。
    在使用原始分区时,通常最好选择一组标准的分区大小,即某个基本大小的倍数。 这就在存储布局方面提供了更大的灵活性,并且在需要重新调整 I/O 时便于将分区重新配给其他磁盘。我为本示例选择了标准的分区大小 50MB、200MB、600MB 和 1200MB.
    为进一步简化管理,每个共享磁盘将拥有相同的分区布局,其中包含某种标准化的分区大小。 在单个磁盘上能够创建的可用分区的最大数量是 15,因此要谨慎地计划分区布局。 下表显示了本指南中用于原始分区示例的分区布局。
分区 类型 大小
SDB的分区的规划
1 主分区 50
2 主分区 50
3 主分区 200
4 扩展分区 -
5 逻辑型 200
6 逻辑型 200
7 逻辑型 200
8 逻辑型 200
9 逻辑型 200
10 逻辑型 600
11 逻辑型 600
12 逻辑型 600
13 逻辑型 1200
14 逻辑型 1200
15 逻辑型 任意
16 逻辑型 任意
SDC分区的划分
 1 主分区 600
2 主分区   600
3 主分区  600
Syncing disks.
    以上分区操作只需在一个节点上进行即可。
在其他主机上运行 partprobe 使内核与所做的更改同步:
    # partprobe
    下表列出了最小的 RAC 数据库所需的每个分区。 最小分区大小已经映射到为本示例所选择的标准分区大小。 在本示例中,使用了两个共享磁盘 (/dev/sdb and /dev/sdc)。 (请注意,SLES8 为原始设备使用了一种不同的命名标准。
目的 最小大小 (MB) 标准化大小 (MB) 磁盘设备 原始设备
Oracle CRS Voting 20 50 /dev/sdb1 /dev/raw/raw1
SPFILE           50      /dev/sdb2 /dev/raw/raw2
Oracle Cluster Registry 100 200 /dev/sdb3 /dev/raw/raw3
EXAMPLE 表空间 160 200 /dev/sdb5 /dev/raw/raw5
USERS 表空间 120 200 /dev/sdb6 /dev/raw/raw6
控制文件 1 110 200 /dev/sdb7 /dev/raw/raw7
重做日志 1_1 120 200 /dev/sdb8 /dev/raw/raw8
重做日志 1_2 120 200 /dev/sdb9 /dev/raw/raw9
UNDOTBS1 表空间 500 600 /dev/sdb10 /dev/raw/raw10
SYSTEM 表空间 500 600 /dev/sdb11 /dev/raw/raw11
TEMP 表空间 250 600 /dev/sdb12 /dev/raw/raw12
SYSAUX 表空间 800 1200 /dev/sdb13 /dev/raw/raw13
UNDOTBS2 表空间 500 600 /dev/sdb14 /dev/raw/raw14
重做日志 2_1 120 200 /dev/sdb15      /dev/raw/raw15
口令文件 5 50 /dev/sdc1 /dev/raw/raw16
控制文件 2 110 200 /dev/sdc2 /dev/raw/raw17
重做日志 2_2 120 200 /dev/sdc3 /dev/raw/raw1
    以下命令需要在两个节点上操作
    将以下各行添加到每个集群节点上的 /etc/sysconfig/rawdevices:
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdb2
/dev/raw/raw3 /dev/sdb3
/dev/raw/raw5 /dev/sdb5
/dev/raw/raw6 /dev/sdb6
/dev/raw/raw7 /dev/sdb7
/dev/raw/raw8 /dev/sdb8
/dev/raw/raw9 /dev/sdb9
/dev/raw/raw10 /dev/sdb10
/dev/raw/raw11 /dev/sdb11
/dev/raw/raw12 /dev/sdb12
/dev/raw/raw13 /dev/sdb13
/dev/raw/raw14 /dev/sdb14
/dev/raw/raw15 /dev/sdb15
/dev/raw/raw16 /dev/sdc1
/dev/raw/raw17 /dev/sdc2
/dev/raw/raw18  /dev/sdc3
    为每个节点上的 CRS 原始设备设置所有权和权限。 这些文件的所有权和权限必须按照所示内容进行准确地设置(安装指南和版本说明都是不正确的)。 如果不这样做,则导致 CRS 安装失败。 如果需要在 CRS 安装失败后进行清理,请参见 MetaLink 说明:239998.1.
chown root:oinstall /dev/raw/raw[12]
chmod 660 /dev/raw/raw[12]
    为每个节点上的数据库原始设备设置所有权和权限:
chown oracle:oinstall /dev/raw/raw[3-9]
chown oracle:oinstall /dev/raw/raw1[0-7]
chmod 660 /dev/raw/raw[3-9]
chmod 660 /dev/raw/raw1[0-7]
    (注意: RHEL4 对原始设备的实施方法与以前的版本不同。 每次启动原始设备服务时,都会重新创建 /dev/raw/raw* 设备文件,删除任何现有的非默认所有权或权限。 当原始设备与 Oracle 搭配使用时,有几种方法可以解决这个问题。 最简单的方法是将 oracle 帐户添加到 disk 组(例如: usermod �CG dba,disk oracle)。 或者,您可以创建一个启动脚本,在系统启动时更改原始设备的所有权和权限。)
    重新启动原始设备服务。
RHEL2/3
/sbin/service rawdevices restart
    下表显示了每个原始设备以及我们要为其关联的文件名。 (实际上,我希望将 spfile 和口令文件与 $ORACLE_HOME/dbs 中的位置相关联,但是由于在安装的这个阶段该目录尚不存在,因此我暂时选择了 /u01/oradata/dbname 中的位置。 在安装完成后,如果您愿意,可以将这些原始设备的符号链接重新定位到 $ORACLE_HOME/dbs 目录。)
目的   原始设备                                         文件名
oracle CRS voting /dev/raw/raw1 /u02/oracrs/vote.crs
SPFILE /dev/raw/raw2 u01/oradata/gemni/spfilegemni.ora
Oracle Cluster Registry /dev/raw/raw3 /u02/oracrs/ocr.crs
EXAMPLE 表空间 /dev/raw/raw5 /u02/oradata/gemni/example_01.dbf
USERS 表空间 /dev/raw/raw6 /u02/oradata/gemni/users_01.dbf
控制文件 1 /dev/raw/raw7 /u01/oradata/gemni/control.ctl
重做日志 1_1 /dev/raw/raw8 /u01/oradata/gemni/redo1_1.log
重做日志 1_2 /dev/raw/raw9 /u01/oradata/gemni/redo1_2.log
UNDOTBS1 表空间 /dev/raw/raw10 /u02/oradata/gemni/undo1_01.dbf
SYSTEM 表空间 /dev/raw/raw11 /u02/oradata/gemni/system_01.dbf
TEMP 表空间 /dev/raw/raw12 /u02/oradata/gemni/temp_01.dbf
SYSAUX 表空间 /dev/raw/raw13 /u02/oradata/gemni/sysaux_01.dbf
UNDOTBS2 表空间 /dev/raw/raw14 /u02/oradata/gemni/undo2_01.dbf
重做日志 2_1 /dev/raw/raw15 /u01/oradata/gemni/redo2_1.log
口令文件 /dev/raw/raw16 /u01/oradata/gemni/orapwgemni
控制文件 2 /dev/raw/raw17 /u02/oradata/gemni/control02.ctl
重做日志 2_2 /dev/raw/raw18 /u01/oradata/gemni/redo2_2.log
    以 root 用户身份创建用于符号链接的目录。 在本示例中,数据库名是 gemni.
CRS 文件
mkdir -p /u02/oracrs
chown -R oracle:oinstall /u02/oracrs
chmod -R 775 /u02/oracrs
    数据库文件
mkdir -p /u01/oradata/gemni /u02/oradata/gemni
chown -R oracle:oinstall /u0[12]/oradata
chmod -R 775 /u0[12]/oradata
    现在以oracle用户登陆只需创建目录和链接即可:
ln -s /dev/raw/raw1 /u02/oracrs/vote.crs
ln -s /dev/raw/raw2 /u01/oradata/gemni/spfilegemni.ora
ln -s /dev/raw/raw3 /u02/oracrs/ocr.crs
ln -s /dev/raw/raw5 /u02/oradata/gemni/example_01.dbf
ln -s /dev/raw/raw6 /u02/oradata/gemni/users_01.dbf
ln -s /dev/raw/raw7 /u01/oradata/gemni/control.ctl
ln -s /dev/raw/raw8 /u01/oradata/gemni/redo1_1.log
ln -s /dev/raw/raw9 /u01/oradata/gemni/redo1_2.log
ln -s /dev/raw/raw10 /u02/oradata/gemni/undo1_01.dbf
ln -s /dev/raw/raw11 /u02/oradata/gemni/system_01.dbf
ln -s /dev/raw/raw12 /u02/oradata/gemni/temp_01.dbf
ln -s /dev/raw/raw13 /u02/oradata/gemni/sysaux_01.dbf
ln -s /dev/raw/raw14 /u02/oradata/gemni/undo2_01.dbf
ln -s /dev/raw/raw15 /u01/oradata/gemni/redo2_1.log
ln -s /dev/raw/raw16 /u01/oradata/gemni/orapwgemni
ln -s /dev/raw/raw17 /u02/oradata/gemni/control02.ctl
ln -s /dev/raw/raw18 /u01/oradata/gemni/redo2_2.log
    最后,我们需要为数据库配置助手 (DBCA) 创建原始设备映射文件。 此文件将您已创建的原始设备与 DBCA 将要用于创建数据库的名称相关联。 剪切和粘贴以下各行,为本示例创建映射文件:
cat > $HOME/gemni_raw.conf << EOF
system=/u02/oradata/gemni/system_01.dbf
sysaux=/u02/oradata/gemni/sysaux_01.dbf
example=/u02/oradata/gemni/example_01.dbf
users=/u02/oradata/gemni/users_01.dbf
temp=/u02/oradata/gemni/temp_01.dbf
undotbs1=/u02/oradata/gemni/undo1_01.dbf
undotbs2=/u02/oradata/gemni/undo2_01.dbf
redo1_1=/u01/oradata/gemni/redo1_1.log
redo1_2=/u01/oradata/gemni/redo1_2.log
redo2_1=/u01/oradata/gemni/redo2_1.log
redo2_2=/u01/oradata/gemni/redo2_2.log
control1=/u01/oradata/gemni/control.ctl
control2=/u02/oradata/gemni/control02.ctl
spfile=/u01/oradata/gemni/spfilegemni.ora
pwdfile=/u01/oradata/gemni/orapwgemni
EOF
    然后将 DBCA_RAW_CONFIG 环境变量导出并指向此文件:export DBCA_RAW_CONFIG=$HOME/gemni_raw.conf
    现在您已准备就绪,可以安装 Oracle CRS、安装 Oracle 数据库软件并创建 Oracle RAC 数据库了。
3.安装ORACLE CRS(即CLUSTER软件)
    在此需要注意的有两点,一两个节点系统时间一定要相同,不然会报错,二一定要建立用户等效性并在次会话执行安装,不然也会报错,三再以ROOT用户执行脚本时一定要安顺序一个节点执行完再一个节点,切勿同时执行。
    以 oracle 用户身份登录并建立节点间的用户等效性:
exec /usr/bin/ssh-agent $SHELL
/usr/bin/ssh-add
Enter passphrase for /home/oracle/.ssh/id_rsa:
Identity added: /home/oracle/.ssh/id_rsa (/home/oracle/.ssh/id_rsa)
Identity added: /home/oracle/.ssh/id_dsa (/home/oracle/.ssh/id_dsa)
    设置 ORACLE_BASE 和 ORACLE_HOME 环境变量:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/crs_1
RHEL4 and SLES9 Only
export LD_ASSUME_KERNEL=2.4.21
    1. Welcome;单击 Next 2. Specify Inventory Directory and Credentials ― 默认值应该就是正确的;确保 inventory 目录位于 ORACLE_BASE 目录中(例如: /u01/app/oracle/oraInventory)并且操作系统组是“oinstall”,在安装节点 (ds1) 上运行 orainstRoot.sh(确保在 /etc/hosts 中而不仅仅是在 DNS 中配置了您的主机)
    3. Specify File Locations ― 确认默认值后继续4. Language Selection ― 确认默认值后继续5. Cluster Configuration ― 输入集群名(或接受默认的“crs”);
    6. Private Interconnect Enforcement ― 为每个接口指定接口类型(公共、专用或“不使用”)
    7. Oracle Cluster Registry ― 在 clusterSpecify OCR Location 中(例如: /u02/oracrs/ocr.crs)为每个节点输入公共节点名和专用节点名8. Voting Disk ― 输入 voting disk 名(例如: /u02/oracrs/vote.crs)
    9. 在集群的其余节点上运行 orainstRoot.sh
    10. Summary ― 在出现提示时单击 Install,从安装节点开始,每次在一个节点上运行 Oracle CRS 主目录中的 root.sh(例如: /u01/app/oracle/product/10.1.0/crs_1/root.sh)。 不要同时运行这些脚本。 等一个脚本结束后再启动另一个。
    CRS 安装结束
    从 $ORACLE_BASE/product/10.1.0/crs_1/bin 目录中运行 olsnodes 验证安装已成功;例如:
$ cd $ORACLE_BASE/product/10.1.0/crs_1/bin
$ olsnodes
ds1
ds2
    Once CRS 已安装并运行;现在可以安装 Oracle RAC 软件的其余部分了。
   4.安装ORALCE软件,创建数据库
    设置 ORACLE_BASE 和 ORACLE_HOME 环境变量:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
仅针对 RHES4 和 SLES9
export LD_ASSUME_KERNEL=2.4.21
    仅针对 RHEL4: Oracle 10g OUI 将检查操作系统版本以确认是否支持该版本。 到 Oracle 数据库 10.1.0.3 为止,安装程序尚不支持 RHEL4. 作为一种变通方法,在运行 runInstaller 之前,按照以下步骤操作。
cp /etc/redhat-release /etc/redhat-release.orig
cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
    1. 从 db CD 运行 runInstaller
    2. Welcome ― 单击 Next
    3. Specify File Locations ― 确认默认值后继续
    4. Specify Hardware Cluster Installation Mode ― 选择 Cluster Installation 并选择集群中的其他节点
    5. Select Installation Type ― Enterprise Edition 6. Product-specific Prerequisite Checks ― 全部选 OK;SLES9 选 OK 以忽略 openmotif-2.1.30-11 警告7. 选择数据库配置 ― 选择“Do not create a starter database”。 (我们将在一个单独的步骤中使用数据库配置助手 (DBCA) 来创建数据库。)
    总结在以 root 用户身份登录时,从安装节点开始,每次在一个主机上运行 Oracle 数据库主目录中的 root.sh(例如: /u01/app/oracle/product/10.1.0/db_1/root.sh)。 不要同时运行这些脚本。 等一个脚本结束后再启动另一个。
    5 DBCA创建数据库
$ dbca
1. Welcome ― 选择“Oracle Real Application Clusters database”
2. Operations ― 创建数据库
3. Node Selection ― 单击 Select All(ds1 和 ds2)
4. Database Templates ― 通用
5. Database Identification ― 全局数据库名: gemni.orademo.org
6. Management Options ― 利用 Enterprise Manager 配置数据库;使用数据库控制进行数据库管理
7. Database Credentials ― 为所有帐户使用相同的口令;输入口令并再次确认
8. Storage Options ― 原始设备;指定原始设备映射文件 (/home/oracle/gemni_raw.conf)
9. Recovery Configuration ― 单击 Next
10. Database Content ― 示例模式
11. 初始化参数 ― 内存、典型
12. Database Storage ― 单击 Next
13. Create Options ― 选择“Create Database”
14. Summary ― 检查总结信息并单击 OK
    至此,安装完毕,可以从客户端连接节点测试。以下为客户端的连接RAC节点TNSNAME.ORA文件的内容
GEMNI =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 123.125.17.6)(PORT = 1521))
    (ADDRESS = (PROTOCOL = TCP)(HOST = 123.125.17.8)(PORT = 1521))
    (LOAD_BALANCE = yes)
    (FAILOVER = ON)
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = gemni.ora.org)
      (FAILOVER_MODE =
        (TYPE = SELECT)
        (METHOD = BASIC)
      )
    )
  )

你可能感兴趣的:(oracle,linux,职场,休闲)