在大多数情况下采用AIX系统的原因是,系统上要运行的是Oracle数据库。因此,配合Oracle来配置存储,可能是工程实施上的一大要点。本节要描述的是如何在AIX上为Oracle分配存储。
在AIX上实施Oracle数据库时,涉及的问题可能有如下若干方面:
■ AIX操作系统的安装位置和其存储介质,崩溃下的恢复是否具有独立性;
■ Oracle数据库系统安装位置和其存储介质,崩溃下的恢复是否具有独立性;
■ Oracle中数据的存储是否具有独立性,崩溃下的恢复是否可能;
■ 各种文件在存储方面是否具有I/O的资源争用和冲突;
■ 各种文件在存储方面是否需要空间扩展和如何实现空间扩展。
上述问题具体到工程上,就是卷组如何划分、逻辑卷如何建立、文件系统挂载方式等。一般而言,采用如表3-2 所示的存储分拆方案即可满足上述的大多数要求。
表3-2 AIX上Oracle实施中的存储分拆方案
可以根据表3-2 来设计数据库的物理布局和工程实施。
下面我们来创建一个卷组datavg,该卷组用于存放Oracle系统软件。示例环境中存在hdisk2~hdisk7 共 6 块空盘,datavg将使用其中的hdisk2~hdisk5,如图3-47 所示。
图3-47 系统当前物理卷分布状态
首先以root的身份登录系统,进入到SMITTY环境中的卷组添加菜单,如图3-48所示。
图3-48 在SMITTY中添加卷组
选择添加卷组项。可以选择的卷组类型有如图3-49 所示的三种,这里选择标准的卷组类型。
图3-49 创建卷组时要确定卷组的类型
输入卷组名datavg,设定物理分区(PP)的大小为 128MB,选择hdisk2~hdisk5 这4 块空盘,完成后,按回车键即可,如图3-50 所示。
图3-50 在SMITTY中卷组创建工作区
卷组创建完成后,进入到激活卷组的菜单项,如图3-51 所示。
图3-51 在SMITTY中激活卷组
选择激活“datavg”卷组,如图3-52 所示。
图3-52 选择要激活的卷组
如果有必要,则选择强制激活卷组,如图3-53 所示。
图3-53 确定是否强制激活卷组
至此,卷组创建并且激活完成。
下面添加安装Oracle所需的JFS2 文件系统。仍然在SMITTY环境下,进入到文件系统创建菜单项,如图3-54 所示。
图3-54 在SMITTY中创建文件系统
选择添加文件系统菜单项,如图3-55 所示。
图3-55 选择新创建文件系统的类型
选择增强的JFS(即JFS2 文件系统)。按回车键后,确认直接在卷组上创建文件系统,这个操作将附带创建逻辑卷,并直接在逻辑卷上创建文件系统,如图3-56 所示。
图3-56 选择文件系统创建中的空间使用方式
这里选择文件系统要创建在datavg这个卷组上,如图3-57 所示。
图3-57 选择文件系统要宿主的卷组
然后选择文件系统的块尺寸,默认为 4096 字节,如图3-58 所示。
块尺寸确定后,进入到文件系统属性定义菜单,如图3-59 所示。
图3-59 中创建的文件系统/db大小为 4000MB,它设置为读写状态,块尺寸为 4KB,放置在卷组datavg上,系统启动时自动挂载,采用默认日志逻辑卷(未声明),不采用限额管理(未声明)。按回车键后,文件系统即创建完成了。
现在,系统中有了用于安装Oracle系统的文件系统/db。
图3-58 选择文件系统的数据块尺寸
图3-59 在SMITTY中设定文件系统属性
如前所述,在Oracle 11g R2 版本中,裸设备已经不被Oracle直接支持,Oracle建议使用文件系统或者ASM作为其存储基本单位。但如果Oracle采用升级方式安装,裸设备还是可以使用的。
假设数据库将要使用裸设备作为Oracle数据文件、日志文件、控制文件、参数文件、口令文件的存储方式,则按照下面的过程创建一套Oracle数据库所需的裸设备。
一套Oracle数据库至少需要下面的文件(裸设备)。
■ System:系统表空间对应的数据文件(lv_systems)。
■ Sysaux:辅助表空间对应的数据文件(lv_sysaux)。
■ Undotbs:还原表空间对应的数据文件(lv_undotbs01)。
■ Temp:临时表空间对应的数据文件(lv_temp01)。
■ Users:放置演示数据的表空间(lv_users01)。
■ Control1:数据库控制文件 1(lv_ctl1)。
■ Control2:数据库控制文件 2(lv_ctl2)。
■ Redo1:联机重做日志 1(lv_redo1)。
■ Redo2:联机重做日志 2(lv_redo2)。
■ Passwordfile:口令文件(lv_pwdsdzy)。
■ Spfile:服务器参数文件(lv_spfilesdzy)。
在SMITTY环境下,进入到逻辑卷创建菜单,如图3-60 所示。
图3-60 在SMITTY中添加逻辑卷
选择添加逻辑卷菜单项,进入到如图3-61 所示的逻辑卷定义区域。
图3-61 设定逻辑卷的属性
在图3-61 中,定义逻辑卷为“lv_systems”,并将其放置在datavg卷组上,将占用 3个逻辑分区(大小为 128MB*3),逻辑卷类型为“raw”(裸设备),其他选项为默认值。按回车键后逻辑卷即创建完成了,检查这个逻辑卷的设置,如图3-62 所示。
图3-62 查看新创建的逻辑卷属性
至此,逻辑卷lv_systems创建完成。下面采用命令的方式创建其他逻辑卷。下面命令创建了逻辑卷lv_sysaux,类型为raw,将占用 3 个逻辑分区的磁盘空间,放置在datavg卷组上,如图3-63 所示。
图3-63 命令方式创建逻辑卷
按照相同的方法创建其他逻辑卷,语法如下:
创建完成后,结果检查如图3-64 所示。
创建完成后,会在/dev下生成逻辑卷对应的设备文件。下面命令显示了当前设置逻辑卷的块设备文件和字符设备文件,如图3-65 所示。
图3-64 为Oracle数据库创建的裸设备
图3-65 为Oracle所创建裸设备的设备文件
使用下面的命令,将这些逻辑卷的字符设备属主改为oracle用户(用于安装和管理Oracle系统的用户,其用户名通常为oracle),同时,将其权限设置为 700。最终结果应如图3-66 所示。
图3-66 将Oracle的裸设备属主转授Oracle用户和组
特别说明,采用上述方式创建逻辑卷是存在一些问题的,主要在于Oracle使用这样的逻辑卷时,会跳过第一个数据块(称为偏移量)使用。另外,Oracle会提出类似的警告:
目前AIX已允许在创建逻辑卷的时候,通过命令选项-T O来屏蔽偏移量,也就是采用下面的语法格式来创建Oracle裸设备:
因此,本例中的裸设备采用下面的创建脚本更为恰当:
再次声明,对于Oracle11.2 系统来说,Oracle已经开始并不显式地支持裸设备了,例如,Oracle在其DBCA工具中已经看不到关于裸设备的配置选项了。但事实上,我们还是可以使用裸设备,只是需要先将Oracle数据库创建到文件系统或ASM中,然后采用备份恢复的方法、文件迁移的方法,将数据库转移至裸设备上。
这么做的原因是,裸设备方式已经深入人心,已成为某些管理员的潜在习惯。