您的位置:首页 > 数据库 > Oracle

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

2009-02-11 18:25 309 查看
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 –G 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 环境变量:

RHEL4 and SLES9 Only
export LD_ASSUME_KERNEL=2.4.21

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/crs_1

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)
)
)
)
------转贴http://blog.csdn.net/onlyzhangqin/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: