3.2 为独立服务器安装Oracle Grid Infrastructure
GI安装到专用的Oracle主目录下。GI的版本必须大于或等于要使用GI服务的任何数据库版本。例如,12.1.x版本的GI可以服务11.2.x版本的数据库,但反之则不行。GI必须总是运行在与数据库实例相同的节点上。但是,在配置FlexASM的群集环境中,只有几个节点(默认为3个)运行ASM实例。
GI安装媒介包括OUI的副本。运行它(在Unix上,这个可执行程序是runInstaller.sh外壳脚本,在Windows上是setup.exe文件),根据提示进行。下面是主要选项:
● 下载软件更新 选择是否用My Oracle Support注册安装,以便于下载补丁和更新程序。
● 选择安装选项 OUI应显示什么类型的对话框?其选项如下:
· 为群集环境安装和配置Oracle Grid Infrastructure
· 为独立服务器安装和配置Oracle Grid Infrastructure
· 升级Oracle Grid Infrastructure或OracleASM
· 仅安装Oracle Grid Infrastructure软件
● 创建ASM磁盘组 设置ASM_DISKSTRING目录路径,选择用作磁盘组的磁盘。
图3-2显示了提示创建磁盘组的窗口。这个窗口是Install and Configure安装选项显示的对话框中的一部分。
在图中,注意Redundancy默认设置为Normal,表示除非特别说明,否则在这个磁盘组上创建的每个文件的每个区域都要镜像。这意味着,该组至少要包含两个磁盘,因为不应在主副本所在的设备上创建镜像副本,ASM也不允许这么做。其他单选按钮是High和External, High表示3个副本都由每个区域(至少需要3个磁盘)组成,External表示ASM根本不镜像,而是依赖存储介质提供的容错能力。
分配单元的大小默认为1MB。这对文件区域的大小有重要影响。任何文件的前20 000区域是一个AU,下一个20 000区域是4个AU,之后是16个AU。AU的大小可以设置为1、2、4、8、16、32或64MB。它应用于磁盘组上的所有文件,创建了磁盘组后就不能改变。
图3-2 在GI安装过程中创建ASM磁盘组
提示:
4MB是大型系统的理想AU大小,Oracle for Exadata安装推荐使用它。但在ASM的领域里,“大型”表示“非常大”。实际上,1MB适合于大多数安装。
在图3-2中,没有显示磁盘。这是因为在默认的搜索路径中没有检测到任何磁盘,或者还没有设置任何磁盘字符串。单击Change Discovery Path按钮,会提示输入准备好的ASM磁盘的位置,之后(假定配置正确)它就列为磁盘组的成员选项。
如果使用OUI进行升级,OUI就会检测出已有的安装,并将其配置传递到新安装的GI主目录下。在一台机器上不能同时运行两个GI实例,安装向导会自动禁用以前的版本。
最佳实践方式是在另一个操作系统用户(而不是数据库软件用户)下安装GI。这允许责任的分离:一个OS用户可以管理GI的存储和高可用性功能,使它们可用于几个DBA,这些DBA都有自己的OS账户。在小型站点上,GI管理员和DBA是同一个人,所以不需要遵循这条规则。尽管如此,操作系统总是使用操作系统组分隔这些角色。GI管理员必须是OSASM组的成员,这个组的名字在Windows 上硬编码为ORA_ASMDBA,该组是隐式创建的。在Unix上,该组可以有任意名称,必须在运行OUI之前创建。
练习3-1 安装GI
本练习要安装并配置GI软件,以使用它。假定该软件已下载,并解压缩。在Windows和Linux上,安装过程略有区别。
(1) 在Windows上执行如下操作:
A.运行setup.exe文件,启动OUI对话框。这需要用Run As Administrator权限启动命令行。
B.在Download Software Updates窗口中,选择Skip Software Updates单选按钮,单击Next按钮。
C.在Select Installation Option窗口中,选择Install Grid Infrastructure Software Only单选按钮,单击Next按钮。
D.在Select Install Type窗口中,选择Install Oracle Grid Infrastructure For A Standalone Server单选按钮,单击Next按钮。
E.在Select Product Languages窗口中,选择需要的语言,单击Next按钮。
F.在Specify Installation Location中,根据需要调整目录(默认目录通常就很好),单击Next按钮。
G.在Perform Prerequisite Checks窗口中,应解决任何“失败”的检查,确定对自己而言它们是否重要。警告(例如相关的Windows安全问题)通常可以忽略。选中Ignore All复选框,单击Next按钮。
H.在Summary窗口中,单击Install。
I.安装完成后,显示Finish窗口,其中提示运行操作系统命令,以配置独立服务器上的GI。如图3-3所示。
图3-3 Finish窗口
在图3-3中,命令必须以管理员的身份运行,该命令很长,其中没有换行符(可以复制/粘贴)。
C:\app\grid\oracle\product\12.1.0\grid\perl\bin\perl -IC:\app\grid\oracle\product\12.1.0\grid\perl\lib -IC:\app\grid\oracle\product\12.1.0\grid\crs\install C:\app\grid\oracle\product\12.1.0\grid\crs\install\roothas.pl
运行该命令后,单击Close按钮退出安装程序。
(2) 在Linux上执行如下操作:
A.运行runInstaller外壳脚本,在图形化的会话中启动OUI对话框。这不能用root用户的身份运行。使用安装Oracle 软件的账户来运行它就可以(但对于产品站点,通常应创建一个独立的OS用户,来安装GI)。
B.在Download Software Updates窗口中,选中Skip Software Updates单选按钮,单击Next按钮。
C.在Select Installation Option窗口中,选中Install Grid Infrastructure Software Only单选按钮,单击Next按钮。
D.在Select Product Languages窗口中,选择需要的语言,单击Next按钮。
E.在Privileged Operating System Groups窗口中,如果运行安装程序的用户也是安装Oracle软件的用户,就为所有3个组(OSASM、OSDBA forASM和OSOPER forASM)选择dba组。
F.在Specify Installation Location窗口中,根据需要调整目录(默认目录通常就很好),单击Next按钮。
G.在Perform Prerequisite Checks窗口中,通常可以忽略警告。应解决任何“失败”的检查,例如,NTP守护进程测试失败并不重要,但文件许可检查失败就很重要。选中Ignore All复选框,单击Next按钮。
H.在Summary窗口中,单击Install。
I.Execute Configuration Scripts 是一个弹出窗口,用于提示以根用户身份运行/u01/app/12.1.0. grid/root.sh脚本。在根会话中执行这个脚本,接受任何提示中的默认值。图3-4显示了运行的一般结果:
图3-4 运行的一般结果
J.在根会话中,运行root.sh脚本生成的命令,完成独立服务器的配置。该命令很长,其中没有换行符。在图3-4中,命令如下:
/u01/app/12.1.0/grid/perl/bin/perl -I/u01/app/12.1.0/grid/perl/lib -I/u01/app/12.1.0/grid/crs/install /u01/app/12.1.0/grid/crs/install/roothas.pl
完成后,返回OUI窗口,单击OK和Close按钮。
(3) 为了确认安装是否成功,可使用 crsctl 实用工具。它在安装过程中选择的目录下的bin子目录下。下面是Windows上的示例:
cd \app\grid\oracle\product\12.1.0\grid\bin crsctl config has crsctl status resource
下面是Linux上的示例:
cd /u01/app/12.1.0/grid/bin ./crsctl config has ./crsctl status resource
这些命令显示,启用了High Availability Service(HAS),运行了Event Management Daemon,如图3-5所示:
图3-5 运行Event Management Daemon
(4) 检查GI进程的自动启动。
A.在Windows上,GI由一个Windows服务启动。用sc实用工具检查它的配置和状态,如图3-6所示:
图3-6 用sc实用工具检查GI的配置和状态
B.在Linux上,GI通过rc系统启动。找到文件/etc/rc.d/init.d/init.ohasd,在各个rc目录下链接它。在/etc/inittb中还有一个选项,如果失败,它会重新启动init.ohasd过程。