安装环境准备需要如下几个过程:
■ 所需操作系统文件集的安装和修补程序的安装;
■ 设置操作系统内核参数;
■ 设置操作系统Oracle用户和组信息,设置权限;
■ 准备安装Oracle的文件按系统。
下面就各个过程进行具体描述。由于安装Oracle 10g和Oracle 11g的过程基本相同,而且目前绝大多数用户仍然采用Oracle 10g环境以及AIX 5 L 5.3 版本的操作系统,因此本文以Oracle 10 gr2 版本为主要描述对象,展开过程描述。
首先查看当前AIX中如下的文件集是否安装,可以使用如下的命令进行查看:
如果哪个文件集没有安装,则使用installp或者smitty installp命令将缺少的部分安装完全。将AIX安装盘插入光驱(也可能安装文件被复制到某个目录下),执行 #smittyinstallp命令进行安装即可。
另外,还需要查看当前AIX中如下的APAR修补是否安装,可以使用如下的命令进行查看(列表中的修补是示意性的,并不代表真正的修补。读者可以登录Oracle 的metalink网站查看某个具体环境需要的修补):
如果哪个修补没有安装,则使用installp或者smitty installp命令将缺少的部分安装完全。如图4-1 所示的是一个修补IY73748 的安装过程。将存放该修补的光盘插入光驱(也可能是在某个目录下),执行instfix命令进行安装即可。
图4-1 检查和安装修补程序
需要注意的是,每个服务器的型号不同,操作系统技术级别也不同,或者Oracle软件版本不同,都会导致Oracle系统安装中需要的文件集和补丁不同,这点需要请工程实施人员注意。
提示: 其他类型的UNIX也都是这样,操作系统及Oracle的修补绝大多数都是必要的。很多系统没有进行必要的修补就进行了安装,即便成功安装,也可能会在后期系统运行期间导致错误,或者造成性能问题。很多系统性能出现问题的原因,就是源于操作系统的补丁缺失。
和其他类型的UNIX不同,AIX中并没有哪一个内核参数必须修改。但在一般情况下,改动最大用户进程数还是有必要的。
执行下面的命令进入到操作系统属性设置页面,如图4-2 所示。
图4-2 在SMITTY环境中调整系统参数
如图4-2 所示的是对Maxuproc参数的调整。这个参数用来设定一个操作系统用户能够派生出的进程的数量上限。对于Oracle来说,由于客户端连接将导致服务器进程的产生,在大多数情况下是 1:1 的关系,因此,这个参数和数据库的用户连接有很直接的关联。综合考虑用户可能的连接数、SQL并行服务器数等来评估这个参数的设置取值。本例中设定该参数为 2048。
提示: 在其他UNIX中,例如HP-UX,需要调整大量的内核参数。调整完成后,还需要重新启动系统。
Oracle在AIX运行,需要设置必要的组合用户信息。一般建议如下的组设置。
■ dba:数据库管理员的操作系统组。该组的成员可以拥有sysdba数据库特权(connect / as sysdba方式连接)。
■ oper:另外一个数据库管理员的操作系统组。该组的成员可以拥有sysoper数据库特权(connect / as sysoper方式连接)。
■ oinstall:Oracle软件资产组,该组的用户可以安装、查看系统中软件的安装状态,并进行安装方面的调整。该组一般是Oracle用户的主组。
最重要的是需要在AIX中创建操作系统用户,一般用户名就是oracle。该用户将拥有Oracle系统在AIX上的安装、管理权限,是Oracle系统的属主。因此设定oracle用户的Primary GROUP为oinstall,Group SET为dba和oper。添加组的命令是mkgrp:
下面创建Oracle用户。创建用户需要使用 mkuser命令。在SMITTY中创建用户过程如图4-3 所示。
图4-3 在SMITTY中创建用户
对于Oracle用户来说,还需要进行如下的Shell资源限定调整。
■ Soft FILE size:-1(Unlimited,无限制)。
■ Soft CPU time:-1(Unlimited,无限制)。
■ Soft DATA segment:-1(Unlimited,无限制)。
■ Soft Real memory:-1(Unlimited,无限制)。
■ Soft STACK size:-1(Unlimited,无限制)。
在#smitty mkuser的工作界面尾部,可以看到如下几行配置参数,即为上述的资源限定:
参考内核配置文件文件 /etc/security/limits,可以看到其对Oracle用户的限定信息:
Oracle创建完成后,查看Oracle用户的定义情况,结果应和下面的示例类似:
最后,修改Oracle用户的口令:
另外,安装Oracle前需要使用下面的命令确保系统中nobody用户的存在:
提示: 在Linux中,关于用户的资源限定也需要设定,例如在Linux中需要设定的/etc/security/limits.conf文件(采用bsh Shell的情况下),就记录了Oracle用户的资源使用限制:
在其他UNIX中,类似的限制并不明显。
在安装Oracle之前,需要准备必要的文件系统,主要涉及如下几个方面。
■ Oracle整体软件的安装位置。在这台服务器的安装中,一般的Oracle软件都会安装到这个目录下。如果采用Oracle建议的OFA(Oracle的柔性安装结构)安装策略的话,该目录要通过一个环境变量ORACLE_BASE来指定。
■ Oracle数据库软件的安装位置,这是ORACLE_BASE目录下的某个目录。在这台服务器的安装中,Oracle数据库软件会安装到这个位置。该目录要通过一个环境变量ORACLE_HOME来指定。
我们可以用下面的示例显示其具体含义:
ORACLE_BASE = /db/oracle:Oracle软件都将安装在/db/oracle目录下。
ORACLE_HOME= ORACLE_BASE /product/11.2.0/db_1:Oracle RDBMS将安装到/db/oracle/product/11.2.0/db_1 目录中去。
注意: 如果采用Oracle集群方式,则还需要安装Oracle RDBMS的集群系统,集群系统需要指定单独的安装目录,详细内容参见本书第12章。
接下来我们就按照上面的示例创建所需的目录结构。首先用下面的命令创建目录/db/oracle:
创建文件系统,将文件系统挂载到/db/oracle目录:
将/db/oracle的属主转授给Oracle用户,权限为 755(也可以更严格):
提示: 在其他UNIX中的过程类似,同样要有目录创建、目录授权等操作,但其命令却不尽相同。
当用户登录时,AIX Shell将使用两种类型的概要文件,并依据其定义,来设置用户的运行环境。这两种文件分别是/etc/profile和用户根目录下的.profile文件。/etc/profile文件用来控制系统上所有用户的环境设置,.profile文件针对用户的个性设置。Oracle系统运行需要其运行环境,因此需要Oracle用户的.profile文件,以设置该用户的个性特征。
修改Oracle用户根目录(/home/oracle)中的 .profile文件,添加内容如下:
其中,ORACLE_SID指向本服务器未来数据库系统的默认实例名,ORACLE_BASE和 ORACLE_HOME即为Oracle软件安装基本目录和Oracle数据库的安装目录。本例中设置了数据库实例为orcl,Oracle所有软件将安装在/db/oracle文件系统(或目录)下,Oracle RDBMS安装在/db/oracle下的product/11.2.0/db_1 目录中。
另外,最好把Oracle的工具目录(放置Oracle的各种工具程序)加载到搜索路径中,也就有了“PATH=$ORACLE_HOME/bin:$PATH”这一行设定。
最后,别忘了设置输出环境变量:
还有一些其他的环境变量,如NLS_LANG、LD_LIBRARY_PATH等,需要在特定环境下设置,请参见相关文档。
如果使用AIX CDE环境(CDE图形终端)进行安装,则需要修改Oracle用户根目录(/home/oracle)中的.dtprofile文件,启用CDE环境中针对.profile文件对环境的设定。只要将该文件最后一行的注释去掉即可,如下示例:
现在,可以安装Oracle了。你准备安装哪一个版本:Oracle 9i、Oracle 10g、Oracle 11g?
下面,本章以在目前用户中仍然占据主要位置的Oracle 10g为例,描述Oracle的安装过程。Oracle 11g的安装过程基本相同,没有大的差异。
提示: 上述过程在几乎所有UNIX版的Oracle数据库设置中都是适用的,例如HP-UX、Solaris、Linux等,Windows系统则完全无须这样的设置。