Windows2008中安装Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv> RAC裸设备数据库
完全手册(四)
作者:叶正盛(MKing)
创建时间:<chsdate w:st="on" isrocdate="False" islunardate="False" day="27" month="5" year="2008"><strong style="mso-bidi-font-weight: normal"><span lang="EN-US" style="mso-bidi-font-size: 10.5pt">2008-5-27</span></strong></chsdate>
版本:0.8
此文档由叶正盛整理制作,只提供网友参考查阅,文章版权由原作者所有。
背景说明
本文是《Windows2008中安装Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv> RAC裸设备数据库完全手册》的第四部份,介绍裸设备存储规划。
本文是一个学习测试环境的搭建,仅供学习参考,真实的生产环境请根据实际设备进行配置。
本文的环境是采用VMWare Server <chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.0.5</chsdate>进行搭建
主机环境
操作系统:Windows 2003 R2 SP2
内存:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="g"><span lang="EN-US"><font face="Times New Roman">2G</font></span></chmetcnv>
VMWare Server <chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">1.0.5</chsdate>
虚拟机两台,虚拟机环境如下:
虚拟机1:
机器名:WINRAC1
操作系统:Windows 2008
内存: <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="768" unitname="m"><span lang="EN-US"><font face="Times New Roman">768M</font></span></chmetcnv>
数据库:Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv>(<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">11.1.0</chsdate>.6)For Windows
网卡1地址:192.168.0.251/255.255.255.0
网卡2地址:<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899"><span lang="EN-US">10.0.0</span></chsdate>.251/255.255.255.0
硬盘1:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="12" unitname="g"><span lang="EN-US">12G</span></chmetcnv> (SCSI)
硬盘2:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="g"><span lang="EN-US">6G</span></chmetcnv> (SCSI),双机共享
硬盘3:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="g"><span lang="EN-US">4G</span></chmetcnv> (SCSI) ,双机共享
虚拟机2:
机器名:WINRAC2
操作系统:Windows 2008
内存: <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="768" unitname="m"><span lang="EN-US"><font face="Times New Roman">768M</font></span></chmetcnv>
数据库:Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv>(<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">11.1.0</chsdate>.6)For Windows
网卡1地址:192.168.0.252/255.255.255.0
网卡2地址:<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899"><span lang="EN-US">10.0.0</span></chsdate>.252/255.255.255.0
硬盘1:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="12" unitname="g"><span lang="EN-US">12G</span></chmetcnv> (SCSI)
硬盘2:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="g"><span lang="EN-US">6G</span></chmetcnv> (SCSI),双机共享
硬盘3:<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="g"><span lang="EN-US">4G</span></chmetcnv> (SCSI) ,双机共享
一、安装Windows2008操作系统(略)
二、安装Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv> CRS(略)
三、安装Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv>数据库软件(略)
四、配置祼设备数据库存储
4.1数据库存储规划
本次用于裸设备RAC数据库的磁盘结构如下图所示:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 300pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>
其中磁盘0是系统盘,安装了Windows2008和Oracle<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11" unitname="g">11g</chmetcnv> CRS和数据库软件
磁盘1是CRS的共享磁盘
磁盘2是本次的的RAC数据库存储磁盘.
本次的裸设备RAC数据库文件存储规划如下表所示:
名称 | 路径 | 空间大小 | 说明 |
spfile | //./rawrac_spfile | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="5" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">5M</font></span></chmetcnv> | spfile文件 |
control1 | //./rawrac_control1 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="50" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">50M</font></span></chmetcnv> | 控制文件1 |
control2 | //./rawrac_control2 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="50" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">50M</font></span></chmetcnv> | 控制文件2 |
control3 | //./rawrac_control3 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="50" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">50M</font></span></chmetcnv> | 控制文件3 |
system | //./rawrac_system | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="600" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">600M</font></span></chmetcnv> | 系统表空间 |
sysaux | //./rawrac_sysaux | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="600" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">600M</font></span></chmetcnv> | 系统扩展表空间 |
temp | //./rawrac_temp | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="300" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">300M</font></span></chmetcnv> | 缺省的临时表空间 |
users | //./rawrac_users | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="200" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">200M</font></span></chmetcnv> | :缺省的用户表空间 |
undotbs1 | //./rawrac_undotbs1 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="300" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">300M</font></span></chmetcnv> | 撤消表空间1 |
undotbs2 | //./rawrac_undotbs2 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="300" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">300M</font></span></chmetcnv> | 撤消表空间2 |
redo1_1 | //./rawrac_redo1_1 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="100" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">100M</font></span></chmetcnv> | 线程1重做日志1 |
redo1_2 | //./rawrac_redo1_2 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="100" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">100M</font></span></chmetcnv> | 线程1重做日志2 |
redo2_1 | //./rawrac_redo2_1 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="100" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">100M</font></span></chmetcnv> | 线程2重做日志1 |
redo2_2 | //./rawrac_redo2_2 | <chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="100" unitname="m"><span lang="EN-US"><font face="Times New Roman" size="3">100M</font></span></chmetcnv> | 线程2重做日志2 |
4.2创建磁盘扩展分区
使用diskpart创建磁盘扩展分区
注:不清楚是什么原因,Windows2008好像磁盘管理器不支持创建扩展分区(windows2003及以前都可以),所在本人使用diskpart来创建扩展分区,具体步骤如下:
进入命令行
C:/>diskpart
Microsoft DiskPart 版本 6.0.6001
Copyright (C) 1999-2007 Microsoft Corporation.
在计算机上: WINRAC1
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ---------- ------- ------- --- ---
磁盘 0 联机 12 GB 0 B
磁盘 1 联机 6144 MB 0 B
磁盘 2 联机 4096 MB 4096 MB
DISKPART> select disk 2
磁盘 2 现在是所选磁盘。
DISKPART> create partition extended
DiskPart 成功地创建了指定分区。
DISKPART> exit
退出 DiskPart...
c:/>
命令说明:
list disk:显示当前所有的磁盘信息
select disk 2:所示选择磁盘 2
create partition extended:表示在刚才选择的磁盘 2上创建扩展分区
4.3创建磁盘逻辑分区
磁盘逻辑分区可以使用磁盘管理器创建,也可以使用diskpart创建
以下是diskpart创建分区的脚本.
C:/>diskpart
Microsoft DiskPart 版本 6.0.6001
Copyright (C) 1999-2007 Microsoft Corporation.
在计算机上: WINRAC1
DISKPART> list disk
磁盘 ### 状态 大小 可用 Dyn Gpt
-------- ---------- ------- ------- --- ---
磁盘 0 联机 12 GB 0 B
磁盘 1 联机 6144 MB 0 B
磁盘 2 联机 4096 MB 4096 MB
DISKPART> select disk 2
磁盘 2 现在是所选磁盘。
创建分区的语法如下:
create partition logical [size=n]
其中参数size为分区的大小,单位为M
根据存诸规划创建分区的所有diskpart命令脚本如下:
create partition logical size=5
create partition logical size=50
create partition logical size=50
create partition logical size=50
create partition logical size=600
create partition logical size=600
create partition logical size=300
create partition logical size=200
create partition logical size=300
create partition logical size=300
create partition logical size=100
create partition logical size=100
create partition logical size=100
create partition logical size=100
创建完成后用detail disk显示磁盘的分区信息如下所示:
DISKPART> detail disk
VMware, VMware Virtual S SCSI Disk Device
磁盘 ID: FC<chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="a">2A</chmetcnv><chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="78" unitname="F">78F</chmetcnv>8
类型 : SCSI
总线 : 0
目标 : 1
LUN ID : 0
只读: 否
启动磁盘: 否
页面文件磁盘: 否
休眠文件磁盘: 否
故障转储磁盘: 否
卷 ### LTR 标签 FS 类型 大小 状态 信息
---------- --- ----------- ----- ---------- ------- --------- --------
卷 2 RAW 磁盘分区 5120 KB 正常
卷 3 RAW 磁盘分区 50 MB 正常
卷 4 RAW 磁盘分区 50 MB 正常
卷 5 RAW 磁盘分区 50 MB 正常
卷 6 RAW 磁盘分区 600 MB 正常
卷 7 RAW 磁盘分区 600 MB 正常
卷 8 RAW 磁盘分区 300 MB 正常
卷 9 RAW 磁盘分区 200 MB 正常
卷 10 RAW 磁盘分区 300 MB 正常
卷 11 RAW 磁盘分区 300 MB 正常
卷 12 RAW 磁盘分区 100 MB 正常
卷 13 RAW 磁盘分区 100 MB 正常
卷 14 RAW 磁盘分区 100 MB 正常
卷 15 RAW 磁盘分区 100 MB 正常
DISKPART>
注:显示的卷序列号可能会不同,这个没有关系
创建完成后通过磁盘管理器查看的结果如下所示:
<shape id="_x0000_i1028" style="WIDTH: 414.75pt; HEIGHT: 300pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image003.png"></imagedata></shape>
4.4标识ORACLE RAW设备对象
标识RAW设备主要是给每个原始分区(裸设备)分配一个ORACLE可识别的名称,这个需要使用ORACLE工具进行,可以使用ImportSYMLinks工具,也可以使用GUIOracleOBJManager图形工具管理,以下以GUIOracleOBJManager为例说明配置的方法。
GUIOracleOBJManager工具位于%CRS_HOME%/bin目录下的GUIOracleOBJManager.exe程序,本机是在C:/oracle/product/<chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">11.1.0</chsdate>/crs/BIN/GUIOracleOBJManager.exe。
启动后界面如下所示:
<shape id="_x0000_i1026" style="WIDTH: 415.5pt; HEIGHT: 290.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image005.png"><font size="3"></font></imagedata></shape>
其中有磁盘1两个分区在安装CRS时已经自动标识了,剩下的磁盘2的分区都需要我们来配置。
配置步骤如下:
双击(或右键点击)对应的分区New Link Name 单元格,注意不是复选框,出现了编辑框,输入新的标识名,标识名是我们规划好的裸设备路径名称。
当所有的分区New Link Name都输好后,从options菜单选择commit提交本次修改。
如果要删除标识名,可以选择分区前面的复选框,再commit,这样标识名就清空了。
这个工具的操作方法太不符合习惯了,不过大家摸索一会儿就可以了,最后配置的结果如下图所示:
<shape id="_x0000_i1027" style="WIDTH: 415.5pt; HEIGHT: 290.25pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtml1/01/clip_image007.png"><font size="3"></font></imagedata></shape>
4.5创建RAW设备安装配置文件c:/rawrac_raw_config.txt
创建一个RAW设备安装配置文件,放在c:/rawrac_raw_config.txt(位置和文件名随意,这个是在后面装数据库时使用的)
文件内容如下:
spfile=.//rawrac_spfile
control1=.//rawrac_control1
control2=.//rawrac_control2
control3=.//rawrac_control3
system=.//rawrac_system
sysaux=.//rawrac_sysaux
temp=.//rawrac_temp
users=.//rawrac_users
undotbs1=.//rawrac_undotbs1
undotbs2=.//rawrac_undotbs2
redo1_1=.//rawrac_redo1_1
redo1_2=.//rawrac_redo1_2
redo2_1=.//rawrac_redo2_1
redo2_2=.//rawrac_redo2_2
其中每一行为一个裸设备数据文件的标识
<name>=<path>
name为数据库对象名称,这是有命名规范的,具体如下:
spfile:spfile文件
control1:控制文件1
controln:控制文件n
system:系统表空间
sysaux:系统扩展表空间
temp:缺省的临时表空间
users:缺省的用户表空间
undotbs1:撤消表空间1
undotbsn:撤消表空间n
redo1_1:线程1重做日志1
redo1_n:线程1重做日志n
redon_n:线程n重做日志n
<path>为数据库对象的数据文件路径
注:本来windows标识原始分区(裸设备)的格式是//./LinkName,但是由于/是转义符的意思,所以需要用两个//表示一个/
4.5重启操作系统
由于磁盘发生了分区变化,所以建议两个节点都重新启动操作系统,以防发生建库时不能识别分区的问题。
五、使用裸设备创建RAC数据库(略)