oracle rac 10g安装指南

1. 硬件要求和概述
客户操作系统环境概况:
主机名操作系统处理器内存
rac1 Oracle Enterprise Linux 4
32 位) 1700 MB
rac2 Oracle Enterprise Linux 4
32 位) 1700 MB
虚拟磁盘布局概况:
大小(MB)描述
d:\vm\rac\localdisk.vmdk /dev/sda1 /dev/sda2 /dev/sda3

d:\vm\rac\sharedstorage\ocfs2disk.vmdk
/dev/sdb SCSI 1:0 512 OCFS2
磁盘
d:\vm\rac\sharedstorage\asmdisk1.vmdk
/dev/sdc SCSI 1:1 3072 ASM
磁盘组1
d:\vm\rac\sharedstorage\asmdisk2.vmdk
/dev/sdd SCSI 1:2 3072 ASM
磁盘组1
d:\vm\rac\sharedstorage\asmdisk3.vmdk

重复创建四个虚拟SCSI 硬盘―ocfs2disk.vmdk (512MB)asmdisk1.vmdk (3GB)asmdisk2.vmdk (3GB)asmdisk3.vmdk(2GB)
16. VMware Server
控制台:单击 Edit virtual machine settings
17.
虚拟机设置:单击 Add
18.
新增硬件向导:单击 Next
19.
硬件类型:
a.
硬件类型:选择 Hard Disk
20.
选择磁盘:
a.
磁盘:选择 Create a new virtual disk
21.
选择磁盘类型:
a.
虚拟磁盘类型:选择 SCSI (Recommended)
22.
指定磁盘容量:
a.
磁盘容量:输入“0.5GB”。
b.
选择 Allocate all disk space now。如果您希望节省空间,则不必分配所有磁盘空间。出于性能方面的考虑,您需要为每个虚拟共享磁盘预先分配所有磁盘空间。特别是在Oracle 数据库创建期间或者当数据库的DML 活动较频繁时,如果共享磁盘的大小增长快速,虚拟机可能会间歇挂起一段较短的时间甚至崩溃(这种情况很少见)。
23.
指定磁盘文件:
a.
磁盘文件:输入“d:\vm\rac\sharedstorage\ocfs2disk.vmdk”。
b.
单击 Advanced
24.
新增硬件向导:

a. 虚拟设备节点:选择 SCSI 1:0
b.
模式:选择 Independent,针对所有共享磁盘选择 Persistent
修改虚拟机配置文件。还需要设置其他参数以启用两个虚拟RAC 节点之间的磁盘共享。打开配置文件d:\vm\rac\rac1\RedHatEnterprise Linux 4.vmx,并添加下面列出的粗体参数。
disk.locking= "FALSE"
diskLib.dataCacheMaxSize = "0"
scsi1.sharedBus = "virtual"

scsi1.present = "TRUE"
scsi1:0.present = "TRUE"
scsi1:0.fileName ="D:\vm\rac\sharedstorage\ocfs2disk.vmdk"
scsi1:0.mode ="independent-persistent"
scsi1:0.deviceType= "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName ="D:\vm\rac\sharedstorage\asmdisk1.vmdk"
scsi1:1.mode ="independent-persistent"

3. 在第一个虚拟机上安装并配置Enterprise Linux
Oracle网站下载EnterpriseLinux 并解压缩文件:
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 工具。VMware 工具要求同步主机和客户机的时间。
VMware控制台上,以root 用户身份登录。
1.
单击 VM,然后选择 Install VMware Tools
2. rac1
虚拟机:单击 Install
3.
双击桌面上的VMware Tools 图标。
4. cdrom
:双击VMwareTools-1.0.1-29996.i386.rpm
5.
完成系统准备:单击 Continue
6.
打开一个终端并执行 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 thefuture"要确保成功安装Oracle RAC,虚拟机上的时间必须与主机上的时间同步。执行下面的步骤,以root用户身份同步时间。
1.
执行“vmware-toolbox”以显示VMwareTools Properties 窗口。在Options 选项卡下,选择 Time synchronization
between the virtual machine and the hostoperating system
。您应该发现tools.syncTime="TRUE" 参数已经追加到虚拟机配置文件d:\vm\rac\rac1\Red Hat Enterprise Linux 4.vmx 中。
2.
编辑/boot/grub/grub.conf,并将选项“clock=pit nosmp noapic nolapic”添加到读取内核/boot/ 的那一行。您已经将选项添加到两个内核,现在只需对特定内核进行更改。
#boot=/dev/sda
root=LABEL=/ rhgb quiet clock=pit nosmp noapicnolapic
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 roroot=LABEL=/
rhgb quiet clock=pit nosmp noapic nolapic
initrd /boot/initrd-2.6.9-42.0.0.0.1.EL.img
3.
重新引导rac1
# reboot
创建oracle用户。root用户身份执行
# groupadd oinstall
# groupadd dba
# mkdir -p /export/home/oracle /ocfs
# useradd -d /export/home/oracle -g oinstall -Gdba -s /bin/ksh oracle
# chown oracle:dba /export/home/oracle /u01
# passwd oracle
创建oracle用户环境文件。/export/home/oracle/.profile
export PS1="`/bin/hostname -s`-> "
export EDITOR=vi
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportORA_CRS_HOME=$ORACLE_BASE/product/10.2.0/crs_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
exportPATH=$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
安装EnterpriseLinux 软件程序包。安装Oracle 软件需要以下附加程序包。如果您已经安装了64 位版本的Enterprise

Linux,则安装程序应该已安装了这些程序包。
libaio-0.3.105-2.i386.rpm
openmotif21-2.1.30-11.RHEL4.6.i386.rpm
ISOCD 解压缩这些程序包,并以root 用户身份执行下面的命令。
# ls
libaio-0.3.105-2.i386.rpmopenmotif21-2.1.30-11.RHEL4.6.i386.rpm
#
# rpm -Uvh *.rpm
配置内核参数。使用文本编辑器将下面列出的行添加到/etc/sysctl.conf。要使更改立即生效,请执行 /sbin/sysctl �Cp
# 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
配置hangchecktimer 内核模块。hangcheck timer 内核模块可监控系统的运行情况,并重新启动出现故障的RAC 节点。它使用两个参数,即hangcheck_tick(定义系统检查频率) 和hangcheck_margin(定义在重置RAC 节点前的最大挂起延时)来确定节点是否出现故障/etc/modprobe.conf 中添加以下行,以设置hangcheck 内核模块参数。/etc/modprobe.conf

options hangcheck-timer hangcheck_tick=30hangcheck_margin=180
要立即加载模块,执行“modprobe -v hangcheck-timer”。

OCFS2OracleASM 创建磁盘分区。为OCFS2 (/dev/sdb) Oracle ASM/dev/sdc/dev/sdd/dev/sde)准备一组原始磁盘。
rac1上,以root用户身份执行
# fdisk /dev/sdb
# fdisk /dev/sdc
# fdisk /dev/sdd
# fdisk /dev/sde
# fdisk -l
安装oracleasmlib程序包。OTN 下载ASM 库,并以root用户身份安装ASM RPM
# rpm -Uvh oracleasmlib-2.0.2-1.i386.rpm
在这个阶段,您应该已经安装了以下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
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
4.
创建并配置第二个虚拟机
要创建第二个虚拟机,只需关闭第一个虚拟机,将d:\vm\rac\rac1 中的所有文件复制到d:\vm\rac\rac2,然后更改几个配置即可。修改网络配置。
1.
rac1 上,以root 用户身份执行
# shutdown
�Ch now
2.
在主机系统上,将rac1 文件夹中的所有文件复制到rac2
D:\>copy d:\vm\rac\rac1 d:\vm\rac\rac2
3.
VMware Server 控制台上,按CTRL-O 打开第二个虚拟机d:\rac\rac2\Red Hat Enterprise Linux 4.vmx
4. VMware Server
控制台:
将虚拟机名称从rac1 重命名为rac2。右键单击您刚才打开的新 rac1 选项卡,然后选择 Settings
选择Options 选项卡。
1.
虚拟机名称:输入“rac2”。
单击Start this virtual machine 启动rac2,保留rac1 为电源关闭状态。
rac2
虚拟机:选择 Create a new identifier
5.
root 用户身份登录并执行system-config-network,以修改网络配置。IP 地址:双击每个以太网设备,并使用下面的表进行必要的更改。设备 IP 地址子网掩码默认网关地址
eth0 192.168.2.132 255.255.255.0 192.168.2.1
eth1 10.10.10.32 255.255.255.0 <
保留空白>
MAC
地址:导航到 Hardware Device 选项卡,并探测每个以太网设备的新MAC 地址。
最后,激活每个以太网设备。
修改/etc/hosts。将以下项添加到/etc/hosts 中。

127.0.0.1 localhost
稍后,在Oracle集群件软件安装期间,VIPCA 将尝试使用回送地址。修改/export/home/oracle/.profile。用devdb2 替换ORACLE_SID 的值。使用SSH 建立用户等效性。在集群就绪服务(CRS) RAC 安装过程中,Oracle Universal Installer (OUI) 必须能够以oracle 的身份将软件复制到所有RAC 节点,而不提示输入口令。在Oracle 10g 中,可以使用ssh 代替rsh 完成此操作。要建立用户等效性,请在两个节点上以oracle用户身份生成用户的公钥和私钥。打开rac1 的电源,在这两个节点上执行以下任务。
rac1上执行
rac1-> mkdir ~/.ssh
rac1-> chmod 700 ~/.ssh
rac1-> ssh-keygen -t rsa

rac1-> ssh-keygen -t dsa

rac2上执行
rac2-> mkdir ~/.ssh
rac2-> chmod 700 ~/.ssh
rac2-> ssh-keygen -t rsa

rac2-> ssh-keygen -t dsa

rac1上执行
rac1-> cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
rac1-> cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
rac1-> ssh rac2 cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

rac1-> ssh rac2 cat ~/.ssh/id_dsa.pub>> ~/.ssh/authorized_keys

在每个节点上测试连接。验证当您再次运行以下命令时,系统是否不提示您输入口令。
ssh rac1 date
ssh rac2 date
ssh rac1-priv date
ssh rac2-priv date
5.
配置Oracle自动存储管理(ASM)
Oracle ASM
Oracle 数据库紧密集成在一起,并与Oracle 的数据管理工具套件配合工作。它可以简化数据库存储管理,并提供原始磁盘I/O 的性能。
配置ASMLib。以root用户身份在两个节点上配置ASMLib
# /etc/init.d/oracleasm configure
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
创建ASM 磁盘。以root用户身份在任何一个节点上创建ASM 磁盘。
# /etc/init.d/oracleasm createdisk VOL1/dev/sdc1
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1
# /etc/init.d/oracleasm createdisk VOL3/dev/sde1
# /etc/init.d/oracleasm scandisks
# /etc/init.d/oracleasm listdisks
VOL1 VOL2 VOL3 VOL4
6.
配置Oracle集群文件系统(OCFS2)
OCFS2
Oracle 开发的一个通用集群文件系统,与Enterprise Linux 内核集成在一起。它允许所有节点在集群文件系统上同时共享文件,因而消除了管理原始设备的需求。这里,您将在OCFS2 文件系统中寄宿OCR 和表决磁盘。您可以从OCFS2 用户指南获取有关OCFS2 的其他信息
EnterpriseLinux 安装期间,您应该已经安装了OCFS2 RPM。验证RPM 是否已经安装在两个节点上。
rac1-> rpm -qa | grep ocfs
ocfs2-tools-1.2.2-2
ocfs2console-1.2.2-2
ocfs2-2.6.9-42.0.0.0.1.ELsmp-1.2.3-2
创建OCFS2配置文件。rac1上,以root用户身份执行
# ocfs2console
1. OCFS2
控制台:选择 Cluster,然后选择 Configure Nodes
2.
“集群堆栈已经启动”:单击 Close
3.
节点配置:单击 Add
4.
新增节点:添加以下节点,然后单击 Apply
名称:rac1
IP
地址:192.168.2.131
IP
端口:7777
名称:rac2
IP
地址:192.168.2.132
IP
端口:7777
5.
验证生成的配置文件。
# more /etc/ocfs2/cluster.conf
node:
ip_port = 7777
ip_address = 192.168.2.131
number = 0
name = rac1
cluster = ocfs2
node:
ip_port = 7777
ip_address = 192.168.2.132
number = 1
name = rac2
cluster = ocfs2
cluster:
node_count = 2
name = ocfs2
6.
将配置文件传播到rac2。您可以在rac2 上重新运行上述步骤以生成配置文件,或者在rac1 OCFS2控制台上选择 Cluster Propagate Configuration 以将配置文件传播到rac2。配置O2CB 驱动程序。O2CB 是一组集群服务,负责管理节点与集群文件系统之间的通信。
在我们的环境中,120 秒的隔离时间很合适。两个节点上的心跳死亡阈值应该完全相同。
root用户身份执行
# /etc/init.d/o2cb unload
# /etc/init.d/o2cb configure
Load O2CB driver on boot (y/n) [y]: y
Cluster to start on boot (Enter "none"to clear) [ocfs2]:
Specify heartbeat dead threshold (>=7) [7]:61
格式化文件系统。在格式化和挂载文件系统之前,应验证O2CB 在两个节点上均联机;O2CB 心跳当前没有活动,因为文件系统未挂载。
# /etc/init.d/o2cb status
您只需在一个节点上格式化文件系统。在rac1 上,以root用户身份执行
# ocfs2console
1. OCFS2
控制台:选择 TasksFormat
3. OCFS2
控制台:按CTRL-Q 退出。
挂载文件系统。要挂载文件系统,在两个节点上执行以下命令。
# mount -t ocfs2 -o datavolume,nointr /dev/sdb1/ocfs
要在引导时挂载文件系统,在两个节点的/etc/fstab 中添加以下行。/etc/fstab
/dev/sdb1 /ocfs ocfs2 _netdev,datavolume,nointr0 0
创建Oracle集群件目录。在OCR 和表决磁盘将驻留的OCFS2 文件系统中创建目录。
rac1上执行
# mkdir /ocfs/clusterware
# chown -R oracle:dba /ocfs
现在,您已经完成了OCFS2 的设置。验证您可以在两个节点的共享集群文件系统上读写文件。
7.
安装Oracle集群件
下载后,在rac1 上以oracle用户身份执行
rac1-> /u01/staging/clusterware/runInstaller

输入inventory目录的完整路径:/u01/app/oracle/oraInventory
指定操作系统组名:oinstall
3.
指定Home 详细内容:名称:OraCrs10g_home /u01/app/oracle/product/10.2.0/crs_1
4.
特定于产品的必要条件检查:忽略有关物理内存要求的警告。
5.
指定集群配置:单击 Add
公共节点名称:rac2.mycorpdomain.com
专用节点名称:rac2-priv.mycorpdomain.com
虚拟主机名称:rac2-vip.mycorpdomain.com
6.
指定网络接口用法:接口名称:eth0 子网:192.168.2.0 接口类型:Public
接口名称:eth1 子网:10.10.10.0 接口类型:Private
7.
指定Oracle 集群注册表(OCR) 位置:选择 External Redundancy
为了简单起见,这里将不镜像OCR。在生产环境中,您可能会考虑复用OCR 以实现更高的冗余。
指定OCR 位置:/ocfs/clusterware/ocr
8.
指定表决磁盘位置:选择 External Redundancy。同样,为了简单起见,我们选择不镜像表决磁盘。表决磁盘位置:/ocfs/clusterware/votingdisk
9.
摘要:单击 Install
10.
执行配置脚本:以root 用户身份按顺序执行以下脚本(一次执行一个)。在当前脚本完成后,再继续执行下一个脚本。
rac1上执行/u01/app/oracle/oraInventory/orainstRoot.sh
rac2上执行/u01/app/oracle/oraInventory/orainstRoot.sh
rac1上执行/u01/app/oracle/product/10.2.0/crs_1/root.sh
rac2上执行/u01/app/oracle/product/10.2.0/crs_1/root.sh
rac2
上的root.sh 脚本会自动调用VIPCA,但会因为“The given interface(s), "eth0" is not public.Public interfacesshould be used to configure virtualIPs.”错误而失败。如果您的公共接口使用不可路由的IP 地址(192.168.x.x),则Oracle集群验证实用程序(CVU) 将无法找到合适的公共接口。一种解决方法是手动运行VIPCA
11.
root 用户身份在第二个节点上手动调用VIPCA
# /u01/app/oracle/product/10.2.0/crs_1/bin/vipca
12.
欢迎页面:单击 Next
13.
网络接口:选择 eth0
14.
集群节点的虚拟IP
节点名称:rac1
IP
别名:rac1-vip
IP
地址:192.168.2.31
子网掩码:255.255.255.0
节点名称:rac2
IP
别名:rac2-vip
IP
地址:192.168.2.32
子网掩码:255.255.255.0
15.
摘要:单击 Finish
16.
配置助手进度对话框:配置完成后,单击 OK
17.
配置结果:单击 Exit
18.
返回到rac1 的执行配置脚本屏幕,然后单击 OK
19.
配置助手:验证所有检查均成功。OUI 在最后会执行集群件安装后检查。如果CVU 失败,请更正问题,并以oracle 用户身份重新运行以下命令:
rac1->/u01/app/oracle/product/10.2.0/crs_1/bin/cluvfy stage -post crsinst -n rac1,rac2
20.
安装结束:单击 Exit
8.
安装Oracle数据库10g 2
下载后,在rac1 上以oracle用户身份执行
rac1-> /u01/staging/database/runInstaller

2.
选择安装类型:选择Enterprise Edition
3.
指定Home 详细内容:名称:OraDb10g_home1 路径:/u01/app/oracle/product/10.2.0/db_1
4.
指定硬件集群安装模式:选择Cluster Installation单击Select All
5.
特定于产品的必要条件检查:忽略有关物理内存要求的警告。
6.
选择配置选项:创建数据库。
7.
选择数据库配置:选择Advanced
8.
摘要:单击 Install
9.
数据库模板:选择General Purpose
10.
数据库标识:全局数据库名称:devdb SID 前缀:devdb
11.
管理选项:选择Configure the Database with Enterprise Manager
12.
数据库证书:针对所有帐户使用相同的口令。
13.
存储选项:选择Automatic Storage Management (ASM)
14.
创建ASM 实例:SYS 口令:<输入SYS 口令>
选择Create initialization parameter file (IFILE)
15. ASM
磁盘组:单击Create New
16.
创建磁盘组:创建两个磁盘组― DG1 RECOVERYDEST磁盘组名称:DG1
选择Normal 冗余。
选择磁盘路径ORCL:VOL1 ORCL:VOL2。如果您已经使用标准Linux I/O 配置了ASM 磁盘,则请选择

/u01/oradata/devdb/asmdisk1 /u01/oradata/devdb/asmdisk2
磁盘组名称:RECOVERYDEST
选择External 冗余。选择磁盘路径ORCL:VOL3。如果您已经使用标准Linux I/O 配置了ASM 磁盘,则请选择/u01/oradata/devdb/asmdisk3单击 OK
17. ASM
磁盘组:单击 Next
18.
数据库文件位置:选择 UseOracle-Managed Files
数据库区域:+DG1
19.
恢复配置:
选择Specify Flash Recovery Area
闪回恢复区:+RECOVERYDEST
闪回恢复区大小:1500M
选择Enable Archiving
20.
数据库内容:选择或取消选择示例模式。
21.
数据库服务:单击Next。稍后,您可以使用DBCA srvctl创建或修改其他服务。
22.
初始化参数:选择Custom
共享内存管理:Automatic
SGA 大小:200MB
PGA 大小:25MB
b.
根据需要修改其余参数。
23.
数据库存储:单击 Next
24.
创建选项:选择Create Database单击Finish
25.
摘要:单击 OK
26.
数据库配置助手:单击 Exit
27.
执行配置脚本:以root 用户身份执行下面的脚本。
rac1上执行/u01/app/oracle/product/10.2.0/db_1/root.sh
rac2上执行/u01/app/oracle/product/10.2.0/db_1/root.sh
28.
返回到rac1 的执行配置脚本屏幕,然后单击 OK
29.
安装结束:单击 Exit
恭喜,您已经在Enterprise Linux 上成功安装了Oracle RAC 数据库10g

9. 探索RAC 数据库环境
现在,您已经成功安装了虚拟双节点RAC 数据库,下面我们来探究一下您刚刚配置的环境。
检查应用程序资源的状态。
rac1-> crs_stat -t
rac1-> srvctl status nodeapps -n rac2
rac1-> srvctl status asm -n rac1
rac1-> srvctl status asm -n rac2
rac1-> srvctl status database -d devdb
rac1-> srvctl status service -d devdb
rac1->
检查Oracle集群件的状态。
rac1-> crsctl check crs
rac2-> crsctl check crs
在命令行执行 crsctl 以查看所有可用选项。
列出RAC 实例。
SQL> select,nstance_name,host_name,archiver,thread#,statusfrom gv$instance;
检查连接。验证您能够连接到每个节点上的实例和服务。
sqlplus
system@devdb1 sqlplussystem@devdb2 sqlplussystem@devdb
检查数据库配置。
rac1-> export ORACLE_SID=devdb1
rac1-> sqlplus / as sysdba
SQL> show sga
SQL> select file_name,bytes/1024/1024 fromdba_data_files;
SQL> select group#,type,member,is_recovery_dest_filefromv$logfileorder by group#;
rac1-> export ORACLE_SID=+ASM1
rac1-> sqlplus / as sysdba
SQL> show sga
SQL> show parameter asm_disk

SQL> selectname,path,header_status,total_mb,free_mb,trunc(bytes_read/1024/1024)read_mb,trunc(bytes_written/1024/1024) write_mb

from v$asm_disk;
创建表空间。
SQL> connect
system/oracle@devdb
SQL> create tablespace test_d datafile '+DG1'size 10M;
SQL> selectfile_name,tablespace_name,bytes from dba_data_files

where tablespace_name='TEST_D';

创建在线重做日志文件组。
SQL> connect
system/oracle@devdb
SQL> alter database add logfile thread 1group 5 size 50M;
SQL> alter database add logfile thread 2group 6 size 50M;
SQL> selectgroup#,thread#,bytes,members,statusfromv$log;
SQL> selectgroup#,type,member,is_recovery_dest_filefrom v$logfile
检查闪回恢复区空间使用率。
SQL> select * from v$recovery_file_dest;
SQL> select * fromv$flash_recovery_area_usage;
启动和停止应用程序资源。遵循以下步骤启动和停止单独的应用程序资源。
srvctl start nodeapps -n <node1 hostname>
srvctl start nodeapps -n <node2 hostname>
srvctl start asm -n <node1 hostname>
srvctl start asm -n <node2 hostname>
srvctl start database -d <database name>
srvctl start service -d <database name> -s<service name>
crs_stat -t
srvctl stop service -d <database name> -s<service name>
srvctl stop database -d <database name>
srvctl stop asm -n <node1 hostname>
srvctl stop asm -n <node2 hostname>
srvctl stop nodeapps -n <node1 hostname>
srvctl stop nodeapps -n <node2 hostname>
crs_stat -t
10.
测试透明故障切换(TAF)
Oracle TAF
中的故障切换机制使任何失败的数据库连接能够重新连接到集群中的其他节点。故障切换对用户是透明的。Oracle 在故障切换实例上重新执行查询并继续向用户显示余下的结果。创建一个新的数据库服务。首先,创建一个名为CRM 的新服务。可以使用DBCA srvctl实用程序来创建数据库服务。这里,您将使用DBCA devdb1上创建CRM 服务。服务名数据库名首选实例可用实例 TAF策略
CRM devdb devdb1 devdb2 BASIC
rac1上,以oracle用户身份执行
rac1-> dbca
1.
欢迎页面:选择 Oracle Real ApplicationClusters database
2.
操作:选择 Services Management
3.
集群数据库列表:单击 Next
4.
数据库服务:单击 Add
添加服务:输入“CRM”。
选择devdb1作为首选实例。
选择devdb2作为可用实例。
TAF 策略:选择 Basic
单击Finish
5.
数据库配置助手:单击 No 退出。
数据库配置助手将在tnsnames.ora 中创建以下CRM 服务名项:
CRM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =rac1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =rac2-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CRM)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)
)
)
)
SQL> connect
system/oracle@devdb1
SQL> show parameter service
SQL> connect
system/oracle@devdb2
SQL> show parameter service
使用CRM 服务连接第一个会话。如果failover_type failover_mode 返回的输出为“NONE”,则验证是否在tnsnames.ora中正确配置了CRM 服务。
SQL> connect
system/oracle@crm
SQL> selectinstance_number instance#,instance_name,host_name,status
from v$instance;

SQL> selectfailover_type,failover_method,failed_over from v$session

where username='SYSTEM';

从其他会话中关闭该实例。在CRM 实例上以sys 用户身份连接,并关闭该实例。
rac1-> export ORACLE_SID=devdb1
rac1-> sqlplus / as sysdba
SQL> selectinstance_number instance#,instance_name,host_name,status from v$instance;
SQL> shutdown abort;
验证会话已经完成故障切换。从您先前打开的同一CRM 会话执行以下查询,以验证该会话已经故障切换到其他实例。
SQL> selectinstance_number instance#,instance_name,host_name,status from v$instance;
SQL> selectfailover_type,failover_method,failed_overfrom v$session

where username='SYSTEM';

CRM 服务重新定位到首选实例。恢复devdb1 之后,CRM 服务不会自动重新定位到首选实例。您必须手动将服务重新定位到devdb1
rac1-> export ORACLE_SID=devdb1
rac1-> sqlplus / as sysdba
SQL> startup
SQL> show parameter service
rac2-> export ORACLE_SID=devdb2
rac2-> sqlplus / as sysdba
SQL> show parameter service
rac1-> srvctl relocate service -d devdb -scrm -i devdb2 -t devdb1
SQL> connect
system/oracle@devdb1
SQL> show parameter service
SQL> connect
system/oracle@devdb2
SQL> show parameter service
11.
数据库备份与恢复
使用Oracle恢复管理器(RMAN) 备份和恢复Oracle RAC 数据库的过程与单实例数据库的备份和恢复过程相同。
在本部分中,您将看到一个非常简单的备份和恢复案例:
1.
执行完整的数据库备份。
2.
test_d 表空间中创建mytable 表。
3.
t1 时间,向mytable 中插入第一个记录。
4
t2 时间,向mytable 中插入第二个记录。
5.
t3 时间,删除mytable 表。
6.
test_d 表空间恢复到某个时间点。
7.
验证恢复结果。
执行完整的数据库备份。
rac1-> rman nocatalog target /
RMAN> configure controlfile autobackup on;
RMAN> backup database plus archivelog deleteinput;
test_d表空间中创建mytable 表。
19:01:56 SQL> connect
system/oracle@devdb2
19:02:01 SQL> create table mytable (col1number) tablespace test_d;
t1 时间,向mytable中插入第一个记录。
19:02:50 SQL> insert into mytable values (1);
19:02:59 SQL> commit;
t2 时间,向mytable中插入第二个记录。
19:04:41 SQL> insert into mytable values (2);
19:04:46 SQL> commit;
t3 时间,删除mytable 表。
19:05:09 SQL> drop table mytable;
test_d表空间恢复到某个时间点。
为辅助数据库创建辅助目录。
rac1-> mkdir /u01/app/oracle/aux
RMAN> recover tablespace test_d
2> until time "to_date('13-NOV-200619:03:10','DD-MON-YYYY HH24:MI:SS')"
3> auxiliary destination'/u01/app/oracle/aux';
RMAN> backup tablespace test_d;
RMAN> sql 'alter tablespace test_d online';

19:15:09 SQL> connect
system/oracle@devdb2
19:15:16 SQL> select * from mytable;

你可能感兴趣的:(oracle,RAC,10g,安装指南)