如下文档摘自oracle官方网.
作者:Vincent Chan
2007 年 1 月发表
于 10 月份 Oracle OpenWorld 2006 上推介的 Oracle 坚不可摧的 Linux 旨在为 Red Hat Linux 提供企业级支持服务,更快地修复错误,以及显著降低支持价格。此外,Oracle 自己的 Enterprise Linux(基于包含额外错误修补的 Red Hat Advanced Server 第 4 版 (Update 4))提供免费下载。
因此,现在可以通过 VMware Server(VMware 提供的一个免费虚拟环境)在家用电脑上免费使用运行在 Red Hat Advanced Server 上的 Oracle 真正应用集群 (RAC) 10g。
VMware Server 允许您在一台物理计算机上运行多个操作系统。每个虚拟机都是一个独立的操作环境,并带有一组自己的虚拟组件,如磁盘、处理器和内存。虚拟技术在计算环境中 十分有用,它允许您在同一物理主机上独立地开发和测试软件以防止数据或软件损坏。VMware 软件广泛地用于服务器整合,以降低总拥有成本并加快应用程序开发和测试周期。
在本指南中,您将了解如何安装和配置两个在 Enterprise Linux 和 VMware Server 上运行 Oracle RAC 10g 第 2 版的节点。注意,本指南仅用于教学/评估目的;Oracle 及其他供应商不会为本配置提供支持。
本指南分为以下几个部分:
- 硬件要求和概述
- 配置第一个虚拟机
- 在第一个虚拟机上配置 Enterprise Linux
- 创建并配置第二个虚拟机
- 配置 Oracle 自动存储管理 (ASM)
- 配置 Oracle 集群文件系统 (OCFS2)
- 安装 Oracle 集群件
- 安装 Oracle 数据库 10g 第 2 版
- 探索 RAC 数据库环境
- 测试透明应用程序故障切换 (TAF)
- 数据库备份与恢复
- 探索 Oracle 企业管理器 (OEM) 数据库控制台
- 常见问题
1. 硬件要求和概述
我使用的环境是:
1 Red Hat Enterprise Linux AS 4 Update 7
2 Visual machine:vmware serve 1.0
3 Host: Winxp
4 Acer laptop 5580 3G
在本指南中,您将安装 32 位 Linux 客户操作系统。只有在主机上运行的以下 64 位处理器支持 64 位客户操作系统:
- AMD Athlon 64 修订版 D 或更高版本
- AMD Opteron 修订版 E 或更高版本
- AMD Turion 64 修订版 E 或更高版本
- AMD Sempron 64-bit-capable 修订版 D 或更新的 Intel EM64T VT-capable 处理器
如果您决定安装 64 位客户操作系统,请确定上面列出了您的处理器。您还需要确保在 BIOS 中启用了虚拟技术 (VT)。一些主流制造商在默认情况下禁用了该技术。此处提供了有关处理器兼容性的其他信息。
要验证您的处理器是否受支持,请从 VMware 网站下载处理器兼容性检查工具。
为每个虚拟机至少分配 700MB 内存;为所有虚拟机预留至少 30GB 磁盘空间。
主机操作系统环境概况:
主机名 |
操作系统 |
处理器 |
内存 |
磁盘 |
网卡 |
pacu |
Windows XP Professional Service Pack 2(32 位) |
Intel Pentium 4 550, 3.4MHz, HT |
2 GB DDR2 SDRAM, 533 MHz |
250 GB, Ultra ATA/133, 7200 RPM |
Intel Pro/1000 MT |
客户操作系统环境概况:
主机名 |
操作系统 |
处理器 |
内存 |
rac1 |
Oracle Enterprise Linux 4(32 位) |
1 |
700 MB |
rac2 |
Oracle Enterprise Linux 4(32 位) |
1 |
700 MB |
虚拟磁盘布局概况:
主机操作系统上的虚拟磁盘 |
客户操作系统上的虚拟磁盘 |
虚拟设备节点 |
大小 (MB) |
描述 |
d:vmraclocaldisk.vmdk |
/dev/sda1
/dev/sda2
/dev/sda3 |
SCSI 0:0 |
20 |
“/”挂载点
交换空间
Oracle 二进制文件 |
d:vmracsharedstorageocfs2disk.vmdk |
/dev/sdb |
SCSI 1:0 |
512 |
OCFS2 磁盘 |
d:vmracsharedstorageasmdisk1.vmdk |
/dev/sdc |
SCSI 1:1 |
3072 |
ASM 磁盘组 1 |
d:vmracsharedstorageasmdisk2.vmdk |
/dev/sdd |
SCSI 1:2 |
3072 |
ASM 磁盘组 1 |
d:vmracsharedstorageasmdisk3.vmdk |
/dev/sde |
SCSI 1:3 |
2048 |
ASM 闪回恢复区 |
(要配置共享存储,客户 OS 不能与共享存储共享同一个 SCSI 总线。指定客户 OS 使用 SCSI0,共享磁盘使用 SCSI1。)
RAC 数据库环境概况:
主机名 |
ASM 实例名 |
RAC 实例名 |
数据库名 |
数据库文件存储 |
OCR 与表决磁盘 (Voting Disk) |
rac1 |
+ASM1 |
devdb1 |
devdb |
ASM |
OCFS2 |
rac2 |
+ASM2 |
devdb2 |
devdb |
ASM |
OCFS2 |
您将在每个节点上安装 Oracle 主目录供冗余使用。每个节点上的 ASM 和 Oracle RAC 实例共享同一个 Oracle 主目录。
2. 配置第一个虚拟机
要创建和配置第一个虚拟机,您需要添加虚拟硬件设备,如磁盘和处理器。在继续执行安装之前,请创建以下 windows 文件夹以存放虚拟机和共享存储。
D:>mkdir vmracrac1
D:>mkdir vmracrac2
D:>mkdir vmracsharedstorage
双击桌面上的 VMware Server 图标以启动应用程序:
- 按 CTRL-N 创建一个新的虚拟机。
- 新建虚拟机向导:单击 Next。
- 选择适当的配置:
- 虚拟机配置:选择 Custom。
- 选择客户操作系统:
- 客户操作系统:选择 Linux。
- 版本:选择 Red Hat Enterprise Linux 4。
- 命名虚拟机:
- 虚拟机名称:输入“rac1”。
- 位置:输入“d:vmracrac1”。
- 设置访问权限:
- 访问权限:选择 Make this virtual machine private。
- 启动/关闭选项:
- 虚拟机帐户:选择 User that powers on the virtual machine。
- 处理器配置:
- 处理器:选择一个处理器。
- 虚拟机内存:
- 内存:选择 700MB。(最好1G)
- 网络类型:
- 网络连接:选择 Use bridged networking。
- 选择 I/O 适配器类型:
- I/O 适配器类型:选择 LSI Logic。
- 选择磁盘:
- 磁盘:选择 Create a new virtual disk。
- 选择磁盘类型:
- 虚拟磁盘类型:选择 SCSI (Recommended)。
- 指定磁盘容量:
- 磁盘容量:输入“20GB”。
- 取消选择 Allocate all disk space now。为了节省空间,您现在不必分配所有磁盘空间。
- 指定磁盘文件:
- 磁盘文件:输入“localdisk.vmdk”。
- 单击 Finish。
重复步骤 16-24 以创建四个虚拟 SCSI 硬盘 — ocfs2disk.vmdk (512MB)、asmdisk1.vmdk (3GB)、asmdisk2.vmdk (3GB) 和 asmdisk3.vmdk (2GB)。
- VMware Server 控制台:单击 Edit virtual machine settings。
- 虚拟机设置:单击 Add。
- 新增硬件向导:单击 Next。
- 硬件类型:
- 硬件类型:选择 Hard Disk。
- 选择磁盘:
- 磁盘:选择 Create a new virtual disk。
- 选择磁盘类型:
- 虚拟磁盘类型:选择 SCSI (Recommended)。
- 指定磁盘容量:
- 磁盘容量:输入“0.5GB”。
- 选择 Allocate all disk space now。 如果您希望节省空间,则不必分配所有磁盘空间。出于性能方面的考虑,您需要为每个虚拟共享磁盘预先分配所有磁盘空间。特别是在 Oracle 数据库创建期间或者当数据库的 DML 活动较频繁时,如果共享磁盘的大小增长快速,虚拟机可能会间歇挂起一段较短的时间甚至崩溃(这种情况很少见)。
- 指定磁盘文件:
- 磁盘文件:输入“d:vmracsharedstorageocfs2disk.vmdk”。
- 单击 Advanced。
- 新增硬件向导:
- 虚拟设备节点:选择 SCSI 1:0。
- 模式:选择 Independent,针对所有共享磁盘选择 Persistent。
- 单击 Finish。
最后,额外添加一个虚拟网卡以用于专用互联,并移除软盘驱动器(如果有)。
- VMware Server 控制台:单击 Edit virtual machine settings。
- 虚拟机设置:单击 Add。
- 新增硬件向导:单击 Next。
- 硬件类型:
- 硬件类型:以太网适配器。
- 网络类型:
- 主机模式:与主机共享的专用网络 (注意这里添加的额外的网卡用的时HOST ONLY模式,前面的是使用bridge模式)
- 单击 Finish。
- 虚拟机设置:
- 选择 Floppy 并单击 Remove。
- 虚拟机设置:单击 OK。
修改虚拟机配置文件。还需要设置其他参数以启用两个虚拟 RAC 节点之间的磁盘共享。打开配置文件 d:vmracrac1Red Hat Enterprise Linux 4.vmx,并添加下面列出的粗体参数。
config.version = "8"
virtualHW.version = "4"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "700"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "localdisk.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.fileName = "A:"
Ethernet0.present = "TRUE"
displayName = "rac1"
guestOS = "rhel4"
priority.grabbed = "normal"
priority.ungrabbed = "normal"
disk.locking = "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "virtual"
scsi1.present = "TRUE"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:vmracsharedstorageocfs2disk.vmdk"
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:vmracsharedstorageasmdisk1.vmdk"
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:vmracsharedstorageasmdisk2.vmdk"
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:vmracsharedstorageasmdisk3.vmdk"
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1.virtualDev = "lsilogic"
ide1:0.autodetect = "TRUE"
floppy0.present = "FALSE"
Ethernet1.present = "TRUE"
Ethernet1.connectionType = "hostonly"
3. 在第一个虚拟机上安装并配置 Enterprise Linux
因为是安装的Red Hat Enterprise Linux AS 4 Update 7,所以后来需要添加很多需要的package(oracle EL自带了很多包)
从 Oracle 网站下载 Enterprise Linux 并解压缩文件:
- Enterprise-R4-U4-i386-disc1.iso
- Enterprise-R4-U4-i386-disc2.iso
- Enterprise-R4-U4-i386-disc3.iso
- Enterprise-R4-U4-i386-disc4.iso
- 在 VMware Server 控制台上,双击右面板上的 CD-ROM 设备,然后选择第 1 张磁盘的 ISO 镜像 Enterprise-R4-U4-i386-disc1.iso。
- VMware Server 控制台:(最好以Iinux text 安装会快很多,不要期图形界面)
- 单击 Start this virtual machine。
- 按 Enter 键以图形模式安装。
- 跳过介质测试并启动安装。
- 欢迎使用 Enterprise Linux:单击 Next。
- 语言选择:<选择语言首选项>。
- 键盘配置:<选择键盘首选项>。
- 安装类型:自定义。
- 磁盘分区设置:使用 Disk Druid 进行手动分区。
- 警告:单击 Yes 将初始化每个设备 — sda、sdb、sdc、sdd 和 sde。
- 磁盘设置:通过双击挂载点(/ 和 /u01)和交换空间的 /dev/sda 可用空间来分配 sda 驱动器上的磁盘空间。您稍后将为 OCFS2 和 ASM 配置其余驱动器。
- 添加分区:
- 挂载点: /
- 文件系统类型:ext3
- 开始柱面: 1
- 结束柱面: 910
- 文件系统类型:Swap
- 开始柱面: 911
- 结束柱面: 1170
- 挂载点:/u01
- 文件系统类型:ext3
- 开始柱面: 1171
- 结束柱面: 2610
- 引导加载程序配置:仅选择默认的 /dev/sda1,其余选项均保留未选中状态。
- 网络配置:
- 网络设备
- 选择并编辑 eth0
- 取消选择 Configure Using DHCP。
- 选择 Activate on boot。
- IP 地址:输入“192.168.2.131”。
- 网络掩码:输入“255.255.255.0”。
- 选择并编辑 eth1
- 取消选择 Configure Using DHCP。
- 选择 Activate on boot。
- IP 地址:输入“10.10.10.31”。
- 网络掩码:输入“255.255.255.0”。
- 主机名
- 选择 manually 并输入“rac1.mycorpdomain.com”。
- 杂项设置
- 网关:输入“192.168.2.1”。
- 首选 DNS:<可选>
- 备用 DNS:<可选>
- 防火墙配置:
- 选择 No Firewall。如果启用了防火墙,当您稍后在设置期间尝试挂载 ocfs2 文件系统时,可能会遇到错误“mount.ocfs2:Transport endpoint is not connected while mounting”。
- 启用 SELinux 吗?:Active。
- 警告 — 无防火墙:单击 Proceed。
- 其他语言支持:<选择所需的语言>。
- 时区选择:<选择您的时区>
- 设置 Root 口令:<输入您的 root 口令>
- 程序包组选择:(最好全选)
- 选择 X Window System。
- 选择 GNOME Desktop Environment。
- 选择 Editors。
- 选择 Graphical Internet。
- 选择 Text-based Internet。
- 选择 Office/Productivity。
- 选择 Sound and Video。
- 选择 Graphics。
- 选择 Server Configuration Tools。
- 选择 FTP Server。
- 选择 Legacy Network Server。
- 单击 Details。
- 选择 rsh-server。
- 选择 telnet-server。
- 选择 Development Tools。
- 选择 Legacy Software Development。
- 选择 Administration Tools。
- 选择 System Tools。(这些包都要去oracle 自己下)
- 单击 Details。除了默认选中的程序包外,再选择以下程序包。
- 选择 ocfs-2-2.6.9-42.0.0.0.1EL(UP 内核驱动程序),或者选择 ocfs-2-2.6.9-42.0.0.0.1ELsmp(SMP 内核驱动程序)。
- 选择 ocfs2-tools。
- 选择 ocfs2console。
- 选择 oracle oracleasm-2.6.9-42.0.0.0.1EL(UP 内核驱动程序),或者选择 oracleasm-2.6.9-42.0.0.0.1ELsmp(SMP 内核驱动程序)。
- 选择 sysstat。
- 选择 Printing Support。
- 准备安装:单击 Next。
- 所需的安装介质:单击 Continue。
- 更 改 CD-ROM:在 VMware Server 控制台上,按 CTRL-D 显示 Virtual Machine Settings。单击 CD-ROM 设备并选择第 2 张磁盘的 ISO 镜像 Enterprise-R4-U4-i386-disc2.iso,然后是第 3 张磁盘的 ISO 镜像 Enterprise-R4-U4-i386-disc3.iso。
- 安装结束时:
- 在 VMware Server 控制台上,按 CTRL-D 显示 Virtual Machine Settings。单击 CD-ROM 设备并选择 Use physical drive。
- 单击 Reboot。
- 欢迎页面:单击 Next。
- 许可协议:选择 Yes, I agree to the License Agreement。
- 日期和时间:设置日期和时间。
- 显示:<选择所需的分辨率>。
- 系统用户:保留项目为空并单击 Next。
- 其他 CD:单击 Next。
- 完成设置:单击 Next。
恭喜,您已经在 VMware Server 上安装了 Enterprise Linux!
安装 VMware 工具。VMware 工具要求同步主机和客户机的时间。
在 VMware 控制台上,以 root 用户身份登录。
- 单击 VM,然后选择 Install VMware Tools。
- rac1 — 虚拟机:单击 Install。
- 双击桌面上的 VMware Tools 图标。
- cdrom:双击 VMwareTools-1.0.1-29996.i386.rpm。
- 完成系统准备:单击 Continue。
- 打开一个终端并执行 vmware-config-tools.pl。
同步客户 OS 与主机 OS 的时间。在安装 Oracle 集群件和 Oracle 数据库软件时,Oracle 安装程序将首先在本地节点上安装软件,然后再将软件远程复制到远程节点。如果两个 RAC 节点的日期和时间未同步,您可能会收到类似于以下内容的错误。
"/bin/tar: ./inventory/Components21/oracle.ordim.server/10.2.0.1.0: time
stamp 2006-11-04 06:24:04 is 25 s in the future"
要确保成功安装 Oracle RAC,虚拟机上的时间必须与主机上的时间同步。执行下面的步骤,以 root 用户身份同步时间。
- 执行“vmware-toolbox”以显示 VMware Tools Properties 窗口。在 Options 选项卡下,选择 Time synchronization between the virtual machine and the host operating system。您应该发现 tools.syncTime = "TRUE" 参数已经追加到虚拟机配置文件 d:vmracrac1Red Hat Enterprise Linux 4.vmx 中。
- 编辑 /boot/grub/grub.conf,并将选项“clock=pit nosmp noapic nolapic”添加到读取内核 /boot/ 的那一行。您已经将选项添加到两个内核,现在只需对特定内核进行更改。
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Enterprise (2.6.9-42.0.0.0.1.ELsmp)
root (hd0,0)
kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.ELsmp ro
root=LABEL=/ rhgb quiet clock=pit nosmp noapic nolapic
initrd /boot/initrd-2.6.9-42.0.0.0.1.ELsmp.img
title Enterprise-up (2.6.9-42.0.0.0.1.EL)
root (hd0,0)
kernel /boot/vmlinuz-2.6.9-42.0.0.0.1.EL ro root=LABEL=/
rhgb quiet clock=pit nosmp noapic nolapic
initrd /boot/initrd-2.6.9-42.0.0.0.1.EL.img
- 重新引导 rac1。
# reboot
创建 oracle 用户。 以 root 用户身份执行
# groupadd oinstall
# groupadd dba
# mkdir -p /export/home/oracle /ocfs
# useradd -d /export/home/oracle -g oinstall -G dba -s /bin/ksh oracle
# chown oracle:dba /export/home/oracle /u01
# passwd oracle
New Password:
Re-enter new Password:
passwd: password successfully changed for oracle
创建 oracle 用户环境文件。
/export/home/oracle/.profile
export PS1="`/bin/hostname -s`-> "
export EDITOR=vi
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/bin:
/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
创建文件系统目录结构。以 oracle 用户身份执行
rac1-> mkdir p $ORACLE_BASE/admin
rac1-> mkdir p $ORACLE_HOME
rac1-> mkdir p $ORA_CRS_HOME
rac1-> mkdir -p /u01/oradata/devdb
提高 Oracle 用户的 shell 限制。使用文本编辑器将下面列出的行添加到 /etc/security/limits.conf、/etc/pam.d/login 和 /etc/profile。其他信息可以从文档中获得。
/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/pam.d/login
session required /lib/security/pam_limits.so
/etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
安装 Enterprise Linux 软件程序包。安装 Oracle 软件需要以下附加程序包。如果您已经安装了 64 位版本的 Enterprise Linux,则安装程序应该已安装了这些程序包。
- libaio-0.3.105-2.i386.rpm
- openmotif21-2.1.30-11.RHEL4.6.i386.rpm
从 ISO CD 解压缩这些程序包,并以 root 用户身份执行下面的命令。
# ls
libaio-0.3.105-2.i386.rpm openmotif21-2.1.30-11.RHEL4.6.i386.rpm
#
# rpm -Uvh *.rpm
warning: libaio-0.3.105-2.i386.rpm: V3 DSA signature: NOKEY, key ID b38a8516
Preparing...
########################################### [100%]
1:openmotif21
########################################### [ 50%]
2:libaio
########################################### [100%]
配置内核参数。使用文本编辑器将下面列出的行添加到 /etc/sysctl.conf。要使更改立即生效,请执行
/sbin/sysctl –p。
# more /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 = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
修改 /etc/hosts 文件。
# more /etc/hosts
127.0.0.1 localhost
192.168.2.131 rac1.mycorpdomain.com rac1
192.168.2.31 rac1-vip.mycorpdomain.com rac1-vip
10.10.10.31 rac1-priv.mycorpdomain.com rac1-priv
192.168.2.132 rac2.mycorpdomain.com rac2
192.168.2.32 rac2-vip.mycorpdomain.com rac2-vip
10.10.10.32 rac2-priv.mycorpdomain.com rac2-priv
配置 hangcheck timer 内核模块。hangcheck timer 内核模块可监控系统的运行情况,并重新启动出现故障的 RAC 节点。它使用两个参数,即 hangcheck_tick(定义系统检查频率)和 hangcheck_margin(定义在重置 RAC 节点前的最大挂起延时)来确定节点是否出现故障。
在 /etc/modprobe.conf 中添加以下行,以设置 hangcheck 内核模块参数。
/etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
要立即加载模块,执行“modprobe -v hangcheck-timer”。
为 OCFS2 和 Oracle ASM 创建磁盘分区。为 OCFS2 (/dev/sdb) 和 Oracle ASM(/dev/sdc、/dev/sdd、/dev/sde)准备一组原始磁盘。
在 rac1 上,以 root 用户身份执行
# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-512, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-512, default 512):
Using default value 512
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk /dev/sdc
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-391, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-391, default 391):
Using default value 391
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk /dev/sdd
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-391, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-391, default 391):
Using default value 391
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk /dev/sde
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261):
Using default value 261
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
# fdisk -l
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 910 7309543+ 83 Linux
/dev/sda2 911 1170 2088450 82 Linux swap
/dev/sda3 1171 2610 11566800 83 Linux
Disk /dev/sdb: 536 MB, 536870912 bytes
64 heads, 32 sectors/track, 512 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 512 524272 83 Linux
Disk /dev/sdc: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdc1 1 391 3140676 83 Linux
Disk /dev/sdd: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdd1 1 391 3140676 83 Linux
Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sde1 1 261 2096451 83 Linux
安装 oracleasmlib 程序包。 从 OTN
下载 ASM 库,并以 root 用户身份安装 ASM RPM。
# rpm -Uvh oracleasmlib-2.0.2-1.i386.rpm
Preparing...
########################################### [100%]
1:oracleasmlib
########################################### [100%]
在这个阶段,您应该已经安装了以下 ASM 程序包。
[root@rac1 swdl]# rpm -qa | grep oracleasm
oracleasm-support-2.0.3-2
oracleasm-2.6.9-42.0.0.0.1.ELsmp-2.0.3-2
oracleasmlib-2.0.2-1
三个都要从oracle 下载
为 ASM 磁盘映射原始设备。仅当您打算使用标准 Linux I/O 创建 ASM 磁盘时,才需要原始设备映射。创建 ASM 磁盘的另一个方法是使用 Oracle 提供的 ASM 库驱动程序。稍后,您将使用 ASM 库驱动程序配置 ASM 磁盘。
执行以下任务,将原始设备映射到先前创建的共享分区。每次引导集群节点时,原始设备都必须与块设备绑定。
将以下行添加到 /etc/sysconfig/rawdevices 中。
/etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdc1
/dev/raw/raw2 /dev/sdd1
/dev/raw/raw3 /dev/sde1
要使映射立即生效,以 root 用户身份执行以下命令:
# /sbin/service rawdevices restart
Assigning devices:
/dev/raw/raw1 --> /dev/sdc1
/dev/raw/raw1: bound to major 8, minor 33
/dev/raw/raw2 --> /dev/sdd1
/dev/raw/raw2: bound to major 8, minor 49
/dev/raw/raw3 --> /dev/sde1
/dev/raw/raw3: bound to major 8, minor 65
done
# chown oracle:dba /dev/raw/raw[1-3]
# chmod 660 /dev/raw/raw[1-3]
# ls -lat /dev/raw/raw*
crw-rw---- 1 oracle dba 162, 3 Nov 4 07:04 /dev/raw/raw3
crw-rw---- 1 oracle dba 162, 2 Nov 4 07:04 /dev/raw/raw2
crw-rw---- 1 oracle dba 162, 1 Nov 4 07:04 /dev/raw/raw1
以 oracle 用户身份执行
rac1-> ln -sf /dev/raw/raw1 /u01/oradata/devdb/asmdisk1
rac1-> ln -sf /dev/raw/raw2 /u01/oradata/devdb/asmdisk2
rac1-> ln -sf /dev/raw/raw3 /u01/oradata/devdb/asmdisk3
修改 /etc/udev/permissions.d/50-udev.permissions。原 始设备在引导时会重新映射。默认情况下,在引导时原始设备的拥有者将更改为 root 用户。如果拥有者不是 oracle 用户,则 ASM 在访问共享分区时会出现问题。在 /etc/udev/permissions.d/50-udev.permissions 中为原始行“raw/*:root:disk:0660”添加注释,然后添加一个新行“raw/*:oracle:dba:0660”。
/etc/udev/permissions.d/50-udev.permissions
# raw devices
ram*:root:disk:0660
#raw/*:root:disk:0660
raw/*:oracle:dba:0660