本手册在以下环境中试验安装成功:
1、曙光s4800服务器(AMD 64位 双网卡)2台,硬盘已做好raid 1
2、光纤盘阵、光纤交换机
3、服务器安装 redhat as4 update 2,内核版本2.6.9-22.ELsmp
本次安装需要的软件:
1、10201_database_linux_x86_64.cpio.gz
2、10201_clusterware_linux_x86_64.cpio.gz
3、oracleasm-support-2.0.3-1.x86_64.rpm
4、oracleasmlib-2.0.2-1.x86_64.rpm
5、oracleasm-2.6.9-22.ELsmp-2.0.3-1.x86_64.rpm
6、binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm
下载地址:
1、2 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linx8664soft.html
3、4、5 http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
6、 http://oss.oracle.com/projects/compat-oracle/files/RedHat/
本手册的根本目标是安装并实现Asm+RAC,安装过程中以安装实际情况为准,并参考网上很多实施方案、OTN网站等大量文档,力争把安装中遇到的问题及解决方法完整的表达出来。
本文档由 Oracle10g RAC数据库简介、安装Redhat as4.0、针对Oracle配置redhat、ASM配置共享磁盘、安装配置Oracle RAC、创建和删除数据库六部分组成。
!以下部分如果没有特别说明,则要求在每个节点分别执行
第一部分 Oracle10g RAC数据库简介
oracle10g RAC结构
下图显示了 Oracle RAC 10g 配置的主要组件。 集群中的节点通常是单独的服务器(主机), 本文中,两个节点即是两台s4800服务器。根据集群规模的大小,可以扩展到更多节点。
硬件
在硬件级别上,RAC 集群中的各节点共享三种功能:
1.对共享磁盘存储的访问
2.与专用网络的连接
3.对公共网络的访问。
共享磁盘存储
Oracle RAC 依赖于一个共享磁盘体系结构。 数据库文件、联机重做日志和数据库的控制文件必须都能为集群中的每个节点所访问。 共享磁盘还存储 Oracle Cluster Registry 和 Voting Disk(稍后讨论)。 配置共享存储有多种方法,包括直接连接磁盘(通常是使用铜缆或光纤的 SCSI)、存储区域网 (SAN) 和网络连接存储 (NAS)。
专用网络
每个集群节点通过专用高速网络连接到所有其他节点,这种专用高速网络也称为集群互联或高速互联 (HSI)。 Oracle 的 Cache Fusion 技术使用这种网络将每个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 通过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据允许其他任何实例访问这些数据。 它还通过在集群节点中传输锁定和其他同步信息保持数据完整性和高速缓存一致性。
专用网络通常是用千兆以太网构建的,但是对于高容量的环境,很多厂商提供了专门为 Oracle RAC 设计的低延迟、高带宽的专有解决方案。 Linux 还提供一种将多个物理 NIC 绑定为一个虚拟 NIC 的方法(此处不涉及)来增加带宽和提高可用性。
公共网络
为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。 如果主机发生故障,则可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地址继续访问数据库。
Oracle 集群就绪服务(CRS)
Oracle RAC 10g 引进了 Oracle 集群就绪服务 (CRS) — 一组用于集群环境的与平台无关的系统服务。 在 RAC 和 Oracle 并行服务器先前版本中,Oracle 依靠厂商提供的集群管理软件来提供这些服务。 虽然 CRS 与厂商供应的集群件协同工作,但 Oracle RAC 10g 所需组件只是 CRS。 实际上,必须在安装 RAC 之前安装 CRS。
Oracle RAC 软件
Oracle RAC 10g 软件是 RAC 数据库的核心,每个集群节点上都必须安装。 幸运的是,Oracle Universal Installer (OUI) 可以完成在每个节点上安装 RAC 软件的大部分工作。 您只需在一个节点上安装 RAC — OUI 会完成其余的工作。
Oracle 自动存储管理 (ASM)
ASM 是 Oracle 数据库 10g 中的一个新特性,它以一种与平台无关的方式提供文件系统服务、逻辑容量管理器和软件 RAID。Oracle ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O,并使用 Oracle9i 中引入的 Oracle 数据管理器 API(简化的 I/O 系统调用接口)。
Oracle ASM 不是通用的文件系统,只能用于 Oracle 数据文件、重做日志、控制文件和 RMAN 快速恢复区。ASM 中的文件既可以由数据库自动创建和命名(使用 Oracle 管理文件特性),也可以由 DBA 手动创建和命名。由于操作系统无法访问 ASM 中存储的文件,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是使用恢复管理器 (RMAN)。
ASM 作为单独的 Oracle 实例实施,只有它在运行时其他数据库才能访问它。ASM 需要的内存不多: 对大部分系统来说只需 64MB。 在 Oracle RAC 环境中,ASM 实例必须运行在每个集群节点上。
第二部分 安装Redhat AS 4.0 (Update2)
本文档实例安装在曙光S4800服务器上,双网卡、每个节点通过光纤交换机连接两个盘阵。安装过程中最好把连接节点和盘阵的光纤拔下;或者如果不拔下光纤,安装过程中分区时只选择本机硬盘,不要选择盘阵。
假设服务器全新安装redhat,并且服务器为oracle专用。
Oracle 10g 经认证可以在不需要更新的情况下运行 Redhat AS 4.0的基本版本。
1.使用第一张 CD 启动服务器。
您可能需要更改 BIOS 设置,以允许从 CD 启动。
2.启动屏幕上出现时在底部显示 boot:。
选择 Enter,从控制台上执行图形安装。(对于其他安装方法和选项,请参阅 Red Hat 安装指南。)
安装程序扫描硬件,短暂显示 Red Hat 闪屏,然后开始显示一系列屏幕提示。
3.选择语言
选择简体中文。
4.配置键盘
接受默认值。
5.欢迎屏幕
单击 下一步。
6.配置鼠标
接受默认值。
7.安装类型
选择 Custom。
8.设置磁盘分区
本文不介绍磁盘分区的详细方法,而是假设您熟悉磁盘分区方法。
(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险!)
本文使用默认分区方案(文件系统均为 ext3),须注意如下一点:
-交换分区 — 将此分区大小至少设置为系统 RAM 的两倍,但32位系统不要超过 2GB。如果需要大于 2GB 的交换空间,则创建多个交换分区。
9.配置启动加载程序
接受默认值。
10.配置网络
此时配置两个网卡,用规划好的两个地址,一个公网地址,一个私有地址。
使用静态 IP 地址配置数据库服务器。单击 Edit。
出现一个弹出窗口。取消选中 Configure using DHCP 复选框,并输入服务器的 IP 地址和网络掩码。确保选中 Activate on boot,然后单击 OK。
在 Hostname 框中,选择 manually 并输入主机名dbrac1……集群依次类推。
在 Miscellaneous Settings 框中,输入其他网络设置。
11.配置防火墙
本次将不配置防火墙。选择 No firewall。
12.其他语言支持
接受默认值。
13.选择时区
选择适合您区域的时间设置。将系统时钟设置为 UTC 对服务器而言通常是一个很好的做法。为此,单击 System clock uses UTC。
14.设置 Root 口令
输入 root 的口令,并再次输入以进行确认。
15.选择程序包组
最下面选择全选。
单击 下一步 继续操作。
16.准备安装
单击 下一步。
17.安装程序包
软件将被复制到硬盘并被安装。根据提示更改光盘,然后在安装完成时单击 下一步。
18.配置图形界面 (X)
接受默认值,除非安装程序无法识别您的视频卡。如果您的视频卡无法被识别,则将无法继续操作。
19.配置监视器
如果安装程序正确识别了您的监视器,则接受默认值。否则,从列表中选择一个兼容的监视器。
20.定制图形配置
接受默认值。
21.恭喜
从系统中取出安装介质,然后单击 下一步。
22.系统自动重新启动并显示一个新的欢迎屏幕。
单击下一步。
23.许可协议
阅读许可协议。如果同意其中的条款,则选择 Yes, I agree to the License Agreement 并单击下一步。
24.日期和时间
设置日期和时间。
如果要使用 NTP 服务器(推荐),则选择 Enable Network Time Protocol 并输入 NTP 服务器的名称。
25.用户帐户
此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。
26.Red Hat Network
如果要立即使用或激活 Red Hat Network 帐户,则接受默认值,单击 Next 并遵循 Red Hat 产品附带的产品激活说明。
如果不能连到网络,此时可不必激活,随便填上,检测网络不通,跳过即可
27.其他 CD
单击下一步。
28.完成设置
单击下一步。
29.出现一个图形登录屏幕。
30.恭喜!您的 Linux 软件现已安装完毕。
验证安装
验证内核版本:
# uname -r
2.6.9-22.ELsmp
验证已安装的程序包:
# rpm -q make gcc gcc-c++ libaio libaio-devel
make-3.80-184.1
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
libaio-0.3.98-18.3
libaio-devel-0.3.98-18.3
注:应显示更高版本
第三部分 针对Oracle配置redhat
Linux 软件现已安装完毕,现在需要针对 Oracle 对其进行配置。
3.1 验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。
3.2 内核参数
1.内核参数
在/etc/sysctl.conf中编辑:
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.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
然后用执行/sbin/sysctl –p
2.hangcheck-timer设置
RAC节点间通过CSS来判断通信状态,因此需要设定定时器来触发判断。该定时器就是linux内核自带的hangcheck-timer。
具体操作:
在/etc/rc.local中加入(数值以具体情况而定,以下是默认值)
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
表示,每隔30秒检查一下节点状态,如果180秒内仍没有反应,则重启该节点。这也就是说,检查的间隔最长为30+180秒,如果超过这个时间,则系统重启。
Tip:如果系统尚不稳定,可将数值设置的大一些,这样可以有充分的时间来修复系统,否则系统会进入循环重启状态。
3.3 添加oracle用户和组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),6(disk),1001(dba)
设置 oracle 帐户的口令:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
设置oracle的shell限制:
在/etc/security/limits.conf文件中加入:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.4 网络设置
注:此处使用的公共地址为规划好后的地址,不能为临时地址(除非试验安装)
RAC要求机群内的每个节点至少有两块网卡,一个设置为公用(公网),对外提供服务;一个设置为私用(专用),提供节点内的告诉传输。此外还需要为公用网卡配置一个虚拟地址,oracle需要借此为用户提供透明的高可用服务。具体介绍如下:
专用网络
每个集群节点通过专用高速网络连接到所有其他节点,这种专用高速网络也称为集群互联或高速互联 (HSI)。 Oracle 的 Cache Fusion 技术使用这种网络将每个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 通过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据允许其他任何实例访问这些数据。 它还通过在集群节点中传输锁定和其他同步信息保持数据完整性和高速缓存一致性。
专用网络通常是用千兆以太网构建的,但是对于高容量的环境,很多厂商提供了专门为 Oracle RAC 设计的低延迟、高带宽的专有解决方案。 Linux 还提供一种将多个物理 NIC 绑定为一个虚拟 NIC 的方法(此处不涉及)来增加带宽和提高可用性。
公共网络
为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。 如果主机发生故障,则可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地址继续访问数据库。
修改/etc/hosts加入下面内容,:
127.0.0.1 localhost.localdomain localhost
# public address
10.45.170.17 dbrac1
10.45.170.18 dbrac2
# private address
172.168.0.17 dbrac1-eth0
172.168.0.18 dbrac2-eth0
# virtual address
10.45.170.117 dbrac1-vip
10.45.170.118 dbrac2-vip
虚拟地址可以随便起一个(保证同一个网段),在安装RAC的时候,vipca会自动将虚拟地址绑定在公共网卡上的。
3.5 为用户等效性设置SSH
在安装 Oracle RAC 10g 期间,OUI 需要把文件复制到集群中的其他主机上并在其上执行程序。 为了允许 OUI 完成此任务,必须配置 SSH 以启用用户等效性。 用 SSH 建立用户等效性就提供了一种在集群中其他主机上复制文件和执行程序时不需要口令提示的安全方式。
第一步是生成 SSH 的公共密钥和专用密钥。 SSH 协议有两个版本;版本 1 使用 RSA,版本 2 使用 DSA,因此我们将创建这两种类型的密钥,以确保 SSH 能够使用任一版本。 ssh-keygen 程序将根据传递给它的参数生成任一类型的公共密钥和专用密钥。
当您运行 ssh-keygen 时,将提示您输入一个用于保存密钥的位置。 当提示时只需按 Enter 接受默认值。 随后将提示您输入一个口令短语。 输入您能记住的口令,然后再次输入该口令进行确认。 当您完成以下步骤后,在 ~/.ssh 目录中将会有四个文件: id_rsa、id_rsa.pub、id_dsa 和 id_dsa.pub。 id_rsa 和 id_dsa 文件是您的专用密钥,千万不要告诉任何人。 id_rsa.pub 和 id_dsa.pub 文件是您的公共密钥,必须将其复制到集群中其他每个主机上。
在每个主机上,以 oracle 用户身份登录:
$ mkdir ~/.ssh
$ chmod 755 ~/.ssh
$ /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
4b:df:76:77:72:ba:31:cd:c4:e2:0c:e6:ef:30:fc:37 oracle@ds1.orademo.org
注意:本例中此处一路按回车选择默认
$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
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:
af:37:ca:69:3c:a0:08:97:cb:9c:0b:b0:20:70:e3:4a oracle@ds1.orademo.org
注意:本例中此处一路按回车选择默认
现在,必须将每个主机上的公共密钥文件 id_rsa.pub 和 id_dsa.pub 的内容复制到其他每个主机的 ~/.ssh/authorized_keys 文件中。 使用 ssh 将每个文件的内容复制到 ~/.ssh/authorized_keys 文件。 请注意,当您使用 ssh 第一次访问远程主机时,其 RSA 密钥将是未知的,从而将提示您确认是否希望连接该主机。 SSH 将记录该远程主机的 RSA 密钥,并在以后连接该主机时不再做出相关提示。
只需在第一个主机上,以 oracle 用户身份登录(复制本地帐户的密钥,以便连接本地主机的 ssh 能够起作用):
(如果您要剪切和粘贴这些命令,则分别运行它们。 SSH 每次会提示输入 oracle 的口令,如果同时粘贴这些命令,则第一个命令在提示输入口令之前刷新输入缓冲区,从而导致其他命令将会丢失。)
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh oracle@dbrac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'dbrac2 (10.49.9.100)' can't be established.
RSA key fingerprint is d1:23:a7:df:c5:fc:4e:10:d2:83:60:49:25:e8:eb:11.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dbrac2,10.49.9.100' (RSA) to the list of known hosts.
oracle@dbrac2's password:
$ ssh oracle@dbrac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@dbrac2's password:
$ chmod 644 ~/.ssh/authorized_keys
要对第二个主机做同样的处理。请注意,这次有的SSH不会提示您输入oracle的口令。这是因为第一个主机(dbrac1)现在知道了第二个主机的公共密钥,而SSH现在使用的是一种不同的认证协议。
建立用户等效性
如果一切均设置正确,则您现在就可以使用 ssh 在其他集群主机上不必输入口令而登录、执行程序和复制文件了。 通过在远程集群主机上运行诸如 date 等简单命令来验证用户等效性:
$ ssh dbrac2 date
Sun Jun 27 19:07:19 CDT 2004
测试每个方向上所有服务器的连通性是非常重要的。这样会确保当 OUI 在 CRS 和数据库软件安装期间试图复制文件时不会出现类似以下的消息。 该消息只有在远程节点上第一次执行操作时才会出现,因此通过测试连通性,您不仅确保了远程操作的正常运行,还完成了初始的安全密钥交换。
The authenticity of host 'dbrac2 (10.49.9.100)' can't be established.
RSA key fingerprint is 8f:a3:19:76:ca:4f:71:85:42:c2:7a:da:eb:53:76:85.
Are you sure you want to continue connecting (yes/no)? yes
注意: 以上步骤执行完以后,需要执行和本机建立等效性,否则安装CRS时也会出错,在每个节点上分别执行:
$ ssh hostname
(此处hostname分别为dbrac1、dbrac2)
第四部分 ASM配置共享磁盘
配置共享磁盘的方法有三种:
1. Oracle 集群文件系统 (OCFS)
2. 自动存储管理器 (ASM)
3. 原始设备
从可扩展性和可管理性方面考虑,我们使用的是用ASM Library Driver配置ASM的共享磁盘。其他两种配置共享磁盘的方法将在最后面的附录部分介绍。
4.1安装ASM软件
从http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html找到要下载的三个RPM 软件包,注意,一定要与内核版本和系统平台相符。
用root权限执行:
# rpm -Uvh oracleasm-support-version.arch.rpm \
oracleasm-kernel-version.arch.rpm \
oracleasmlib-version.arch.rpm
在我们系统中,为:
#rpm –Uvh oracleasm-support-2.0.3-1.x86_64.rpm \
oracleasm-2.6.9-22.ELsmp-2.0.3-1.x86_64.rpm \
oracleasmlib-2.0.2-1.x86_64.rpm
1.Preparing... #################################### [100%]
2:oracleasm-support ############################## [ 33%]
3:oracleasm-2.6.9-22.ELsmp ########################## [ 66%]
Linking module oracleasm.o into the module path [ OK ]
3:oracleasmlib #################################### [100%]
对ASM进行配置:
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
这将配置 Oracle ASM 库驱动程序的启动时属性。以下问题将确定在启动时是否加载驱动程序以及它将拥有的权限。当前值将显示在方括号(“[]”)中。按 <ENTER> 而不键入回应将保留该当前值。按 Ctrl-C 将终止。
Default user to own the driver interface []:oracle
Default group to own the driver interface []:dba
Start Oracle ASM library driver on boot (y/n) [n]:y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration done
Creating /dev/oracleasm mount point done
Loading module "oracleasm" done
Mounting ASMlib driver filesystem done
Scanning system for ASM disks done
AMS的命令如下所示:
oracle@DBRAC1:~> /etc/init.d/oracleasm
Usage: /etc/init.d/oracleasm
{start|stop|restart|enable|disable|configure|createdisk|deletedisk|querydisk|listdisks|scandisks|status}
现在,如下所示启用 ASMLib 驱动程序。
# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration [ OK ]
Scanning system for ASM disks [ OK ]
ASM的安装和配置是要在集群中的每个节点上执行的
4.2用ASM Library Driver配置ASM的共享磁盘
注意:4.2.1和4.2.2部分只需在一个节点上完成
4.2.1磁盘分区(fdisk)
按本次存储的分法,提供了一个15TB的RAID光纤盘阵并只划了一个卷给数据库用(当然以后空间不够可以再加),对操作系统来说就是认到一个设备。本次安装中它认成/dev/sdb,进行fdisk操作,
划3个分区,sdb1和sdb2都为1个G,剩下空间全部给sdb3。
sdb1和sdb2是用来做Oracle Cluster Registry (OCR) 和 Voting Disk。
sdb3是给ASM用的
(下面例子中数值可能不同,命令是相同的)
#fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.Changes will remain in memory only,
until you decide to write them.After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):1
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):1000
Using value 1000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-4427, default 1001):1001
Using value 1001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):2000
Using value 2000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1-4427, default 1001):3001
Using value 3001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):4427
Using default value 4427
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
4.2.2创建ASM磁盘
通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘。 仅从一个集群主机节点上执行此操作。提示: 以大写字母输入 DISK_NAME。当前版本中有一个错误,即如果使用小写字母,ASM 实例将无法识别磁盘。
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb3
Marking disk "/dev/sdb" as an ASM disk [ OK ]
……
TIP:根据我们的安装经验,创建ASM disk时只能绑定一个分区(/dev/sdb3),而不能是一个设备(/dev/sdb)
以下示例演示了如何列出标记为由 ASMLib 使用的所有磁盘。
# /etc/init.d/oracleasm listdisks
VOL1
……
4.2.2在各个节点重新扫描ASM磁盘
一定在集群的其他节点上,以 root 用户身份运行以下命令,扫描所配置的ASMLib磁盘:
# /etc/init.d/oracleasm scandisks
这样其他节点上的ASM Disk才有效。
1、曙光s4800服务器(AMD 64位 双网卡)2台,硬盘已做好raid 1
2、光纤盘阵、光纤交换机
3、服务器安装 redhat as4 update 2,内核版本2.6.9-22.ELsmp
本次安装需要的软件:
1、10201_database_linux_x86_64.cpio.gz
2、10201_clusterware_linux_x86_64.cpio.gz
3、oracleasm-support-2.0.3-1.x86_64.rpm
4、oracleasmlib-2.0.2-1.x86_64.rpm
5、oracleasm-2.6.9-22.ELsmp-2.0.3-1.x86_64.rpm
6、binutils-2.15.92.0.2-13.0.0.0.2.x86_64.rpm
下载地址:
1、2 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linx8664soft.html
3、4、5 http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
6、 http://oss.oracle.com/projects/compat-oracle/files/RedHat/
本手册的根本目标是安装并实现Asm+RAC,安装过程中以安装实际情况为准,并参考网上很多实施方案、OTN网站等大量文档,力争把安装中遇到的问题及解决方法完整的表达出来。
本文档由 Oracle10g RAC数据库简介、安装Redhat as4.0、针对Oracle配置redhat、ASM配置共享磁盘、安装配置Oracle RAC、创建和删除数据库六部分组成。
!以下部分如果没有特别说明,则要求在每个节点分别执行
第一部分 Oracle10g RAC数据库简介
oracle10g RAC结构
下图显示了 Oracle RAC 10g 配置的主要组件。 集群中的节点通常是单独的服务器(主机), 本文中,两个节点即是两台s4800服务器。根据集群规模的大小,可以扩展到更多节点。
硬件
在硬件级别上,RAC 集群中的各节点共享三种功能:
1.对共享磁盘存储的访问
2.与专用网络的连接
3.对公共网络的访问。
共享磁盘存储
Oracle RAC 依赖于一个共享磁盘体系结构。 数据库文件、联机重做日志和数据库的控制文件必须都能为集群中的每个节点所访问。 共享磁盘还存储 Oracle Cluster Registry 和 Voting Disk(稍后讨论)。 配置共享存储有多种方法,包括直接连接磁盘(通常是使用铜缆或光纤的 SCSI)、存储区域网 (SAN) 和网络连接存储 (NAS)。
专用网络
每个集群节点通过专用高速网络连接到所有其他节点,这种专用高速网络也称为集群互联或高速互联 (HSI)。 Oracle 的 Cache Fusion 技术使用这种网络将每个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 通过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据允许其他任何实例访问这些数据。 它还通过在集群节点中传输锁定和其他同步信息保持数据完整性和高速缓存一致性。
专用网络通常是用千兆以太网构建的,但是对于高容量的环境,很多厂商提供了专门为 Oracle RAC 设计的低延迟、高带宽的专有解决方案。 Linux 还提供一种将多个物理 NIC 绑定为一个虚拟 NIC 的方法(此处不涉及)来增加带宽和提高可用性。
公共网络
为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。 如果主机发生故障,则可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地址继续访问数据库。
Oracle 集群就绪服务(CRS)
Oracle RAC 10g 引进了 Oracle 集群就绪服务 (CRS) — 一组用于集群环境的与平台无关的系统服务。 在 RAC 和 Oracle 并行服务器先前版本中,Oracle 依靠厂商提供的集群管理软件来提供这些服务。 虽然 CRS 与厂商供应的集群件协同工作,但 Oracle RAC 10g 所需组件只是 CRS。 实际上,必须在安装 RAC 之前安装 CRS。
Oracle RAC 软件
Oracle RAC 10g 软件是 RAC 数据库的核心,每个集群节点上都必须安装。 幸运的是,Oracle Universal Installer (OUI) 可以完成在每个节点上安装 RAC 软件的大部分工作。 您只需在一个节点上安装 RAC — OUI 会完成其余的工作。
Oracle 自动存储管理 (ASM)
ASM 是 Oracle 数据库 10g 中的一个新特性,它以一种与平台无关的方式提供文件系统服务、逻辑容量管理器和软件 RAID。Oracle ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O,并使用 Oracle9i 中引入的 Oracle 数据管理器 API(简化的 I/O 系统调用接口)。
Oracle ASM 不是通用的文件系统,只能用于 Oracle 数据文件、重做日志、控制文件和 RMAN 快速恢复区。ASM 中的文件既可以由数据库自动创建和命名(使用 Oracle 管理文件特性),也可以由 DBA 手动创建和命名。由于操作系统无法访问 ASM 中存储的文件,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是使用恢复管理器 (RMAN)。
ASM 作为单独的 Oracle 实例实施,只有它在运行时其他数据库才能访问它。ASM 需要的内存不多: 对大部分系统来说只需 64MB。 在 Oracle RAC 环境中,ASM 实例必须运行在每个集群节点上。
第二部分 安装Redhat AS 4.0 (Update2)
本文档实例安装在曙光S4800服务器上,双网卡、每个节点通过光纤交换机连接两个盘阵。安装过程中最好把连接节点和盘阵的光纤拔下;或者如果不拔下光纤,安装过程中分区时只选择本机硬盘,不要选择盘阵。
假设服务器全新安装redhat,并且服务器为oracle专用。
Oracle 10g 经认证可以在不需要更新的情况下运行 Redhat AS 4.0的基本版本。
1.使用第一张 CD 启动服务器。
您可能需要更改 BIOS 设置,以允许从 CD 启动。
2.启动屏幕上出现时在底部显示 boot:。
选择 Enter,从控制台上执行图形安装。(对于其他安装方法和选项,请参阅 Red Hat 安装指南。)
安装程序扫描硬件,短暂显示 Red Hat 闪屏,然后开始显示一系列屏幕提示。
3.选择语言
选择简体中文。
4.配置键盘
接受默认值。
5.欢迎屏幕
单击 下一步。
6.配置鼠标
接受默认值。
7.安装类型
选择 Custom。
8.设置磁盘分区
本文不介绍磁盘分区的详细方法,而是假设您熟悉磁盘分区方法。
(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险!)
本文使用默认分区方案(文件系统均为 ext3),须注意如下一点:
-交换分区 — 将此分区大小至少设置为系统 RAM 的两倍,但32位系统不要超过 2GB。如果需要大于 2GB 的交换空间,则创建多个交换分区。
9.配置启动加载程序
接受默认值。
10.配置网络
此时配置两个网卡,用规划好的两个地址,一个公网地址,一个私有地址。
使用静态 IP 地址配置数据库服务器。单击 Edit。
出现一个弹出窗口。取消选中 Configure using DHCP 复选框,并输入服务器的 IP 地址和网络掩码。确保选中 Activate on boot,然后单击 OK。
在 Hostname 框中,选择 manually 并输入主机名dbrac1……集群依次类推。
在 Miscellaneous Settings 框中,输入其他网络设置。
11.配置防火墙
本次将不配置防火墙。选择 No firewall。
12.其他语言支持
接受默认值。
13.选择时区
选择适合您区域的时间设置。将系统时钟设置为 UTC 对服务器而言通常是一个很好的做法。为此,单击 System clock uses UTC。
14.设置 Root 口令
输入 root 的口令,并再次输入以进行确认。
15.选择程序包组
最下面选择全选。
单击 下一步 继续操作。
16.准备安装
单击 下一步。
17.安装程序包
软件将被复制到硬盘并被安装。根据提示更改光盘,然后在安装完成时单击 下一步。
18.配置图形界面 (X)
接受默认值,除非安装程序无法识别您的视频卡。如果您的视频卡无法被识别,则将无法继续操作。
19.配置监视器
如果安装程序正确识别了您的监视器,则接受默认值。否则,从列表中选择一个兼容的监视器。
20.定制图形配置
接受默认值。
21.恭喜
从系统中取出安装介质,然后单击 下一步。
22.系统自动重新启动并显示一个新的欢迎屏幕。
单击下一步。
23.许可协议
阅读许可协议。如果同意其中的条款,则选择 Yes, I agree to the License Agreement 并单击下一步。
24.日期和时间
设置日期和时间。
如果要使用 NTP 服务器(推荐),则选择 Enable Network Time Protocol 并输入 NTP 服务器的名称。
25.用户帐户
此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。
26.Red Hat Network
如果要立即使用或激活 Red Hat Network 帐户,则接受默认值,单击 Next 并遵循 Red Hat 产品附带的产品激活说明。
如果不能连到网络,此时可不必激活,随便填上,检测网络不通,跳过即可
27.其他 CD
单击下一步。
28.完成设置
单击下一步。
29.出现一个图形登录屏幕。
30.恭喜!您的 Linux 软件现已安装完毕。
验证安装
验证内核版本:
# uname -r
2.6.9-22.ELsmp
验证已安装的程序包:
# rpm -q make gcc gcc-c++ libaio libaio-devel
make-3.80-184.1
gcc-3.3.3-43.24
gcc-c++-3.3.3-43.24
libaio-0.3.98-18.3
libaio-devel-0.3.98-18.3
注:应显示更高版本
第三部分 针对Oracle配置redhat
Linux 软件现已安装完毕,现在需要针对 Oracle 对其进行配置。
3.1 验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。
3.2 内核参数
1.内核参数
在/etc/sysctl.conf中编辑:
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.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
然后用执行/sbin/sysctl –p
2.hangcheck-timer设置
RAC节点间通过CSS来判断通信状态,因此需要设定定时器来触发判断。该定时器就是linux内核自带的hangcheck-timer。
具体操作:
在/etc/rc.local中加入(数值以具体情况而定,以下是默认值)
modprobe hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
表示,每隔30秒检查一下节点状态,如果180秒内仍没有反应,则重启该节点。这也就是说,检查的间隔最长为30+180秒,如果超过这个时间,则系统重启。
Tip:如果系统尚不稳定,可将数值设置的大一些,这样可以有充分的时间来修复系统,否则系统会进入循环重启状态。
3.3 添加oracle用户和组
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=1000(oracle) gid=1000(oinstall) groups=1000(oinstall),6(disk),1001(dba)
设置 oracle 帐户的口令:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
设置oracle的shell限制:
在/etc/security/limits.conf文件中加入:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3.4 网络设置
注:此处使用的公共地址为规划好后的地址,不能为临时地址(除非试验安装)
RAC要求机群内的每个节点至少有两块网卡,一个设置为公用(公网),对外提供服务;一个设置为私用(专用),提供节点内的告诉传输。此外还需要为公用网卡配置一个虚拟地址,oracle需要借此为用户提供透明的高可用服务。具体介绍如下:
专用网络
每个集群节点通过专用高速网络连接到所有其他节点,这种专用高速网络也称为集群互联或高速互联 (HSI)。 Oracle 的 Cache Fusion 技术使用这种网络将每个主机的物理内存 (RAM) 有效地组合成一个高速缓存。 Oracle Cache Fusion 通过在专用网络上传输某个 Oracle 实例高速缓存中存储的数据允许其他任何实例访问这些数据。 它还通过在集群节点中传输锁定和其他同步信息保持数据完整性和高速缓存一致性。
专用网络通常是用千兆以太网构建的,但是对于高容量的环境,很多厂商提供了专门为 Oracle RAC 设计的低延迟、高带宽的专有解决方案。 Linux 还提供一种将多个物理 NIC 绑定为一个虚拟 NIC 的方法(此处不涉及)来增加带宽和提高可用性。
公共网络
为维持高可用性,为每个集群节点分配了一个虚拟 IP 地址 (VIP)。 如果主机发生故障,则可以将故障节点的 IP 地址重新分配给一个可用节点,从而允许应用程序通过相同的 IP 地址继续访问数据库。
修改/etc/hosts加入下面内容,:
127.0.0.1 localhost.localdomain localhost
# public address
10.45.170.17 dbrac1
10.45.170.18 dbrac2
# private address
172.168.0.17 dbrac1-eth0
172.168.0.18 dbrac2-eth0
# virtual address
10.45.170.117 dbrac1-vip
10.45.170.118 dbrac2-vip
虚拟地址可以随便起一个(保证同一个网段),在安装RAC的时候,vipca会自动将虚拟地址绑定在公共网卡上的。
3.5 为用户等效性设置SSH
在安装 Oracle RAC 10g 期间,OUI 需要把文件复制到集群中的其他主机上并在其上执行程序。 为了允许 OUI 完成此任务,必须配置 SSH 以启用用户等效性。 用 SSH 建立用户等效性就提供了一种在集群中其他主机上复制文件和执行程序时不需要口令提示的安全方式。
第一步是生成 SSH 的公共密钥和专用密钥。 SSH 协议有两个版本;版本 1 使用 RSA,版本 2 使用 DSA,因此我们将创建这两种类型的密钥,以确保 SSH 能够使用任一版本。 ssh-keygen 程序将根据传递给它的参数生成任一类型的公共密钥和专用密钥。
当您运行 ssh-keygen 时,将提示您输入一个用于保存密钥的位置。 当提示时只需按 Enter 接受默认值。 随后将提示您输入一个口令短语。 输入您能记住的口令,然后再次输入该口令进行确认。 当您完成以下步骤后,在 ~/.ssh 目录中将会有四个文件: id_rsa、id_rsa.pub、id_dsa 和 id_dsa.pub。 id_rsa 和 id_dsa 文件是您的专用密钥,千万不要告诉任何人。 id_rsa.pub 和 id_dsa.pub 文件是您的公共密钥,必须将其复制到集群中其他每个主机上。
在每个主机上,以 oracle 用户身份登录:
$ mkdir ~/.ssh
$ chmod 755 ~/.ssh
$ /usr/bin/ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
4b:df:76:77:72:ba:31:cd:c4:e2:0c:e6:ef:30:fc:37 oracle@ds1.orademo.org
注意:本例中此处一路按回车选择默认
$ /usr/bin/ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
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:
af:37:ca:69:3c:a0:08:97:cb:9c:0b:b0:20:70:e3:4a oracle@ds1.orademo.org
注意:本例中此处一路按回车选择默认
现在,必须将每个主机上的公共密钥文件 id_rsa.pub 和 id_dsa.pub 的内容复制到其他每个主机的 ~/.ssh/authorized_keys 文件中。 使用 ssh 将每个文件的内容复制到 ~/.ssh/authorized_keys 文件。 请注意,当您使用 ssh 第一次访问远程主机时,其 RSA 密钥将是未知的,从而将提示您确认是否希望连接该主机。 SSH 将记录该远程主机的 RSA 密钥,并在以后连接该主机时不再做出相关提示。
只需在第一个主机上,以 oracle 用户身份登录(复制本地帐户的密钥,以便连接本地主机的 ssh 能够起作用):
(如果您要剪切和粘贴这些命令,则分别运行它们。 SSH 每次会提示输入 oracle 的口令,如果同时粘贴这些命令,则第一个命令在提示输入口令之前刷新输入缓冲区,从而导致其他命令将会丢失。)
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh oracle@dbrac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
The authenticity of host 'dbrac2 (10.49.9.100)' can't be established.
RSA key fingerprint is d1:23:a7:df:c5:fc:4e:10:d2:83:60:49:25:e8:eb:11.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dbrac2,10.49.9.100' (RSA) to the list of known hosts.
oracle@dbrac2's password:
$ ssh oracle@dbrac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
oracle@dbrac2's password:
$ chmod 644 ~/.ssh/authorized_keys
要对第二个主机做同样的处理。请注意,这次有的SSH不会提示您输入oracle的口令。这是因为第一个主机(dbrac1)现在知道了第二个主机的公共密钥,而SSH现在使用的是一种不同的认证协议。
建立用户等效性
如果一切均设置正确,则您现在就可以使用 ssh 在其他集群主机上不必输入口令而登录、执行程序和复制文件了。 通过在远程集群主机上运行诸如 date 等简单命令来验证用户等效性:
$ ssh dbrac2 date
Sun Jun 27 19:07:19 CDT 2004
测试每个方向上所有服务器的连通性是非常重要的。这样会确保当 OUI 在 CRS 和数据库软件安装期间试图复制文件时不会出现类似以下的消息。 该消息只有在远程节点上第一次执行操作时才会出现,因此通过测试连通性,您不仅确保了远程操作的正常运行,还完成了初始的安全密钥交换。
The authenticity of host 'dbrac2 (10.49.9.100)' can't be established.
RSA key fingerprint is 8f:a3:19:76:ca:4f:71:85:42:c2:7a:da:eb:53:76:85.
Are you sure you want to continue connecting (yes/no)? yes
注意: 以上步骤执行完以后,需要执行和本机建立等效性,否则安装CRS时也会出错,在每个节点上分别执行:
$ ssh hostname
(此处hostname分别为dbrac1、dbrac2)
第四部分 ASM配置共享磁盘
配置共享磁盘的方法有三种:
1. Oracle 集群文件系统 (OCFS)
2. 自动存储管理器 (ASM)
3. 原始设备
从可扩展性和可管理性方面考虑,我们使用的是用ASM Library Driver配置ASM的共享磁盘。其他两种配置共享磁盘的方法将在最后面的附录部分介绍。
4.1安装ASM软件
从http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html找到要下载的三个RPM 软件包,注意,一定要与内核版本和系统平台相符。
用root权限执行:
# rpm -Uvh oracleasm-support-version.arch.rpm \
oracleasm-kernel-version.arch.rpm \
oracleasmlib-version.arch.rpm
在我们系统中,为:
#rpm –Uvh oracleasm-support-2.0.3-1.x86_64.rpm \
oracleasm-2.6.9-22.ELsmp-2.0.3-1.x86_64.rpm \
oracleasmlib-2.0.2-1.x86_64.rpm
1.Preparing... #################################### [100%]
2:oracleasm-support ############################## [ 33%]
3:oracleasm-2.6.9-22.ELsmp ########################## [ 66%]
Linking module oracleasm.o into the module path [ OK ]
3:oracleasmlib #################################### [100%]
对ASM进行配置:
# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
这将配置 Oracle ASM 库驱动程序的启动时属性。以下问题将确定在启动时是否加载驱动程序以及它将拥有的权限。当前值将显示在方括号(“[]”)中。按 <ENTER> 而不键入回应将保留该当前值。按 Ctrl-C 将终止。
Default user to own the driver interface []:oracle
Default group to own the driver interface []:dba
Start Oracle ASM library driver on boot (y/n) [n]:y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration done
Creating /dev/oracleasm mount point done
Loading module "oracleasm" done
Mounting ASMlib driver filesystem done
Scanning system for ASM disks done
AMS的命令如下所示:
oracle@DBRAC1:~> /etc/init.d/oracleasm
Usage: /etc/init.d/oracleasm
{start|stop|restart|enable|disable|configure|createdisk|deletedisk|querydisk|listdisks|scandisks|status}
现在,如下所示启用 ASMLib 驱动程序。
# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration [ OK ]
Scanning system for ASM disks [ OK ]
ASM的安装和配置是要在集群中的每个节点上执行的
4.2用ASM Library Driver配置ASM的共享磁盘
注意:4.2.1和4.2.2部分只需在一个节点上完成
4.2.1磁盘分区(fdisk)
按本次存储的分法,提供了一个15TB的RAID光纤盘阵并只划了一个卷给数据库用(当然以后空间不够可以再加),对操作系统来说就是认到一个设备。本次安装中它认成/dev/sdb,进行fdisk操作,
划3个分区,sdb1和sdb2都为1个G,剩下空间全部给sdb3。
sdb1和sdb2是用来做Oracle Cluster Registry (OCR) 和 Voting Disk。
sdb3是给ASM用的
(下面例子中数值可能不同,命令是相同的)
#fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.Changes will remain in memory only,
until you decide to write them.After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot Start End Blocks Id System
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-4427, default 1):1
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):1000
Using value 1000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1-4427, default 1001):1001
Using value 1001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):2000
Using value 2000
Command (m for help):n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (1-4427, default 1001):3001
Using value 3001
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):4427
Using default value 4427
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
4.2.2创建ASM磁盘
通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘。 仅从一个集群主机节点上执行此操作。提示: 以大写字母输入 DISK_NAME。当前版本中有一个错误,即如果使用小写字母,ASM 实例将无法识别磁盘。
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb3
Marking disk "/dev/sdb" as an ASM disk [ OK ]
……
TIP:根据我们的安装经验,创建ASM disk时只能绑定一个分区(/dev/sdb3),而不能是一个设备(/dev/sdb)
以下示例演示了如何列出标记为由 ASMLib 使用的所有磁盘。
# /etc/init.d/oracleasm listdisks
VOL1
……
4.2.2在各个节点重新扫描ASM磁盘
一定在集群的其他节点上,以 root 用户身份运行以下命令,扫描所配置的ASMLib磁盘:
# /etc/init.d/oracleasm scandisks
这样其他节点上的ASM Disk才有效。