1.2 安装Oracle数据库软件

OUI提供了几个安装选项。下面要讨论推荐的安装选项,它适合任何入门到Oracle认证人员级别。Oracle认证人员课程包括RAC,其安装这里不涉及。一个选项是是否把软件的安装与数据库的创建链接起来。但这个选项这里不讨论,因为创建数据库是另一个主题。

1.2.1 OUI产品清单

OUI创建了一个产品清单(inventory),这是一组扩展标记语言(XML)文件,准确地记录了机器上安装的所有Oracle产品,以及Oracle Home的位置消息。为了防止这个产品清单被破坏,用一个锁定机制禁止OUI(或Opatch补丁例程)同时在两个或多个会话中运行。只要运行了OUI或Opatch,就先定位产品清单,检查它是否已被锁定。产品清单的位置和拥有它的操作系统组存储在一个指针文件中。指针文件的名字和位置与平台相关。在Linux 上,它是/etc/oracle/oraInst.loc,如下面的例子所示,它指出产品清单位于/u01/app/oraInventory目录下:

        db121a $
        db121a $ cat /etc/oraInst.loc
        inventory_loc=/u01/app/oraInventory
        inst_group=oinstall
        db121a $

在Solaris或AIX上,指针文件位于/var/opt/oracle目录下。在Windows上,产品清单的位置在一个注册键中定义:

        HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\inst_loc

OUI在Java中用JDK 1.5编写,JDK 1.5包含在该产品中。这表示,OUI在所有平台上都是相同的,但Java用户界面中有一些小的变化,例如窗口是尖角的还是圆角的。OUI可以在它自己的Oracle Home下安装为一个自包含的产品,但这通常是不必要的,因为每个Oracle产品都附带了它,可以从产品安装CD(或DVD)上启动;它会与产品一起安装到Oracle Home中。OUI有不同的版本,如果某产品附带的OUI版本早于已安装在机器上的版本,通常最好(可能是必须)使用现有Oracle Home中已安装的版本来安装产品。OUI提示输入product.xml文件的位置时,指定要安装产品的DVD或目录。

提示:

总是使用最新的OUI版本。在使用较新的版本后,如果尝试返回早期的版本,更新OUI产品清单可能会出问题。还要注意,一些产品(例如WebLogic服务器)仍不使用OUI,是独立安装的。最新的OUI可以从OUI Technology Network下载。

1.2.2 OUI对话框:交互式安装

要启动OUI,可运行解压缩软件的根目录下的runInstall.sh 外壳脚本(Linux)或 setup.exe程序(Windows)。在交互式安装过程中,必须有一个图形化终端。对于Windows,这没有问题。对于Linux,这意味着需要某种X终端。如果通过一个标准Linux X Window 管理器(例如Gnome)登录到控制台上,OUI就会直接运行。如果是远程连接,就必须使用某个允许显示图形的连接方法,例如VNC桌面或X Window服务器。这没有什么特别的;任何Linux教程或有经验的Linux用户都可以解释它。但是,这个主题超出了Oracle教程的范围。

OUI对话框的用法在本章末尾的练习中详细解释。总之,下面是在Linux上安装程序的12步需要的信息(Windows略有不同):

(1) 配置安全更新 提供My Oracle Support的登录凭据(可选)。

(2) 下载软件更新 启动CPU或PSU的自动下载过程(可选)。

(3) 选择安装选项 选择是否把安装过程与创建或升级数据库链接起来。

(4) 网格安装选项 为单个实例、RAC或RAC One Node创建安装。

(5) 选择产品语言 默认仅选择英语。

(6) 选择数据库版本 选择企业版、标准版或标准版1。

(7) 指定安装位置 指定Oracle Base和Oracle Home目录。

(8) 指定操作系统组的优先级 指定管理Oracle Home的组。

(9) 检查先决条件 验证环境。

(10) 总结 阅读汇总对话框。

(11) 安装产品 查看进度。

(12) 结束 成功完成了OUI对话框。

第(9)步可能在某些测试中失败。这不会出现在Windows中,但在Linux上(如果没有使用Linux的已验证Oracle版本,例如OEL 5.8),可能会遇到一些问题。一般情况下,这涉及内核参数设置和某些RPM包管理器(RPM)的可用性。每个问题都会标记为“警报”或“重要”。单击Fix And Check Again按钮,会生成一个脚本,提示作为根用户运行它,这会修复许多“可修复”的问题(例如内核限制)。但是,这无法修复所有的问题。因此,应解决任何不能修复的问题(例如缺失重要的RPM),再继续安装。如果不能修复问题,则选中Ignore All复选框,就可以继续安装,但无法确保安装成功。

在Linux 上,第(11)步会显示一个提示,要求作为根用户运行脚本 root.sh。这个脚本会完成一些需要根权限的任务,例如在/etc下创建文件,修改Oracle Home中某些文件的所有权和访问模式。

1.2.3 静默安装和响应文件

交互式运行OUI适合于一次性安装。但如果要在多台机器上安装,或者设计一个可重复的自动过程,就需要使用另一个技术:用响应文件驱动OUI。响应文件由OUI读取,它包含交互式对话框提出的所有问题的答案。使用响应文件时,通常要禁用所有图形输出。这样就可以在不能使用图形终端设备的系统上进行安装了,例如没有连接控制台的刀片服务器。

从头开始创建响应文件超出了大多数高级DBA的能力。但是,在安装软件的根目录的/response/目录下有一个模板响应文件 db_install.rsp。它进行了很好的注释,描述了每个需要的值。但是即使是DBA老手,也要尝试避免手工编写响应文件。这是不必要的,因为可以使用交互式运行OUI生成一个。启动OUI,进入对话框。在最后一个屏幕上,会看到问题“生成响应文件吗?”旁边有一个复选框。此时要根据前面的对话框为自动生成的响应文件指定位置,再取消安装即可。

要在以后进行静默安装(也许在另一台机器上),可以编辑生成的文件,以匹配环境,再用如下语法启动OUI(用于Windows):

        setup.exe -silent -responseFile db_install.rsp

可以给安装程序传递许多其他命令行选项。下面是在Linux上显示所有选项的命令:

        ./runInstaller -help

一个特别有用的选项是-ignoreSysPrereqs。即使先决条件检查失败,它也允许继续进行静默安装或交互式安装。

1.2.4 Windows和Linux变体

讨论平台之间的区别超出了Oracle认证人员(OCP)教学大纲的范围。但是,因为学生可能发现一些差异难以理解,所以下面列出了主要区别:

Linux上的用户ID:拥有软件的操作系统用户必须预先创建,且必须是操作系统组的一个成员,才能拥有Oracle Home和数据库管理权限。习惯上把该用户命名为oracle,组命名为oinstall和dba。以这个用户身份运行OUI;不能以根用户的身份运行OUI。

Windows上的用户ID:必须以具有管理权限的用户身份运行OUI,系统会提示输入拥有Oracle Home的用户名。如果用户不存在,就会创建它。

Linux上的操作系统组:至少事先创建一个组,OSDBA组。可以给它指定任意名称,但 dba 是习惯使用的组名,运行安装程序的用户必须是这个组的成员。第二个组习惯上称为oinstall,应是运行OUI的用户的主要组。

Windows上的操作系统组:其名称是硬编码的,由OUI创建。指定的用户会自动成为这些组的成员。

Linux上的根脚本:在安装的最后,必须以根用户的身份运行一个外壳脚本。这个脚本会进行一些需要根权限的修改。在提示时运行它。Windows 不需要这一步,因为OUI必须以具备管理权限的用户身份来运行。

练习1-1 安装Oracle数据库软件

这个练习要安装Oracle Home,但此时不创建数据库。

准备训练系统,创建合适的目录和用户,再启动OUI,跟随向导进行操作。Windows和Linux对话框中的步骤和提示略有区别,但整个过程是类似的,很简单,通过Help按钮可以获得区分上下文帮助。下面是用于Windows的OUI对话框示例,其后是Linux安装中的对话框。当然,必须调整过程,以适应自己的情形。可以使用这两个示例帮助安装。

在64位Windows 8.0机器上运行OUI setup.exe文件,捕获Windows安装对话框。可能需要根据环境调整推荐的响应。

(1) 配置安全更新 取消选择I Wish To Receive Security Updates复选框。其他字段为空白,单击Next按钮,在警告没有提供电子邮件地址时,单击Yes按钮。

(2) 下载软件更新 选中Skip Software Updates单选按钮,再单击Next按钮。

(3) 选择安装选项 选中Install Database Software Only单选按钮,再单击Next按钮。

(4) 系统类 选中Server Class单选按钮,这没有什么技术意义,但可保证随后会看到所有可能的选项。单击Next按钮。

(5) 网格安装选项 选中Single Instance Database Installation单选按钮,然后单击Next按钮。

(6) 选择安装类型 选中Advanced Install单选按钮,然后单击Next按钮。

(7) 选择产品语言 添加需要的任何语言,然后单击Next按钮。

(8) 选择数据库版本 选中Enterprise Edition单选按钮,然后单击Next按钮。

(9) 指定Oracle HomeUser 对于拥有安装的现有用户或者OUI创建的新用户,输入用户名和密码,一个常用的用户名是oracle。单击Next按钮。

(10) 指定安装位置 输入Oracle Base目录,如C:\app\oracle,输入软件的位置,如C:\app\oracle\product\12.1.0\dbhome_1。单击Next按钮。

(11) 检查先决条件 OUI会进行检查。解决任何出现的问题。

(12) 汇总 显示安装汇总。可以在这里进行修改,或通过Back按钮返回前面的对话框。单击Install按钮继续。

在64位的Linux 5.8机器上运行OUI runInstaller.sh文件,捕获Linux安装对话框。根据环境,需要调整推荐的响应:

(1) 配置安全更新 取消I Wish To Receive Security Updates复选框的选择。其他字段为空白,单击Next按钮,在警告没有提供电子邮件地址时,单击Yes按钮。

(2) 下载软件更新 选择Skip Software Updates单选按钮,再单击Next按钮。

(3) 选择安装选项 选择Install Database Software Only单选按钮,再单击Next按钮。

(4) 网格安装选项 选择Single Instance Database Installation单选按钮,然后单击Next按钮。

(5) 选择产品语言 添加需要的任何语言,然后单击Next按钮。

(6) 选择数据库版本 选择Enterprise Edition单选按钮,然后单击Next按钮。

(7) 指定安装位置 输入Linux用户有完整权限的Oracle Base目录,例如/u01/app/oracle,再在该目录下输入软件位置,例如/u01/app/oracle/product/12.1.0\dbhome_1。单击Next按钮。

(8) 指定操作系统组的优先级 从每个下拉框中选择一个操作系统组。该列表取决于运行OUI的用户的组成员身份。如果dba可用,选择它通常不错。单击Next按钮。

(9) 检查先决条件 OUI会进行检查。解决任何出现的问题。

(10) 汇总 显示安装汇总。可以在这里进行修改,或通过Back按钮返回前面的对话框。单击Install按钮继续。

(11) 安装产品 OUI把软件复制到Oracle Home中,链接它,运行各个配置脚本。

(12) 执行配置脚本 一个弹出窗口(确保它没有隐藏在另一个窗口后面!)将提示以根用户的身份运行一个外壳脚本。运行它,接受所有提示的默认值。然后在弹出窗口中单击OK按钮。现在安装就完成了;单击Close按钮,退出安装程序。