可以使用两种模式运行OUI:图形界面模式和自动模式。通常,DBA会使用图形界面的安装程序。然而,我强烈建议您使用自动安装模式,原因如下。
自动安装无需X Window系统软件。
可以避免使用图形界面的安装程序进行远程安装时出现的性能问题(远程页面的刷新速度极慢)。
自动安装可以脚本化和自动化。这意味着能够以相同的、一致的标准执行所有安装,而这一切与执行安装的人员无关(我甚至请SA以这种方式安装Oracle程序)。
执行自动安装的关键是使用应答文件。
将Oracle软件解压后,切换到database目录(这是先前在步骤4中解压Oracle压缩文件时创建的目录),例如可以使用下面的命令:
$ cd /home/oracle/orainst/12.1.0.1/database
下一步应找到Oracle提供的样本应答文件:
$ find . -name "*.rsp"
不同的Oracle和OS平台版本,应答文件的数量和名称会有很大差异。下两节将介绍两种情况:自动安装Oracle Database 11g Release 2和自动安装Oracle Database 12c Release 1。
自动安装Oracle Database 11g Release 2
切换到database目录,使用find命令找到样本应答文件。下面是Oracle Database 11g Release 2在Linux服务器上提供的应答文件:
$ find . -name "*.rsp"
./response/db_install.rsp
./response/dbca.rsp
./reponse/netca.rsp
复制这些应答文件中的一个,以便修改它。本例将db_install.rsp文件复制到当前的工作目录,并将其命名为inst.rsp:
$ cp response/db_install.rsp inst.rsp
注意,不同Oracle数据库版本的应答文件的格式会有很大的差异。例如,Oracle Database 11g Release 1的应答文件和Oracle Database 11g Release 2的应答文件之间的差异就很大。当您安装一个新版本时,必须检查应答文件并确定必须设置哪些参数。下面列出了Oracle Database 11g Release 2应答文件的部分内容(前两行代码实际上是一行代码,因篇幅所限将它们排成了两行)。我仅列出了修改了变量的代码。我删除了其中的注释,这样就可以更清楚地查看哪些变量修改了:
oracle.install.responseFileVersion=
/oracle/install/repfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=ora03
UNIX_GROUP_NAME=dba
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
INVENTORY_LOCATION=/ora01/orainst/11.2.0.1/database/stage/products.xml
SELECTED_LANGUAGES=en
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/oracle/app/oracle
DECLINE_SECURITY_UPDATES=true
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
应该确保根据自己的环境修改适当的参数。如果无法确定将ORACLE_HOME和ORACLE_BASE设置为何值,可参阅1.1节,该节介绍了OFA标准目录。
这些参数在某些版本中具有特殊的意义。例如,在Oracle Database 11g Release 2中,如果不想设定My Oracle Support(MOS)账号登录信息,那么就需要设置下列参数:
DECLINE_SECURITY_UPDATES=true
如果没有将DECLINE_SECURITY_UPDATES设置为true,那么就需要在将来提供MOS登录信息。如果无法提供该信息,Oracle安装就会失败。
将应答文件配置好后,就可以使用自动安装模式运行Oracle安装程序了。注意,必须输入应答文件的完整路径:
$ ./runInstaller -ignoreSysPrereqs -force -silent -responseFile \
/ora01/orainst/11.2.0.1/database/inst.rsp
上面的命令占了两行位置。可使用反斜杠(\)将第一行代码与第二行代码连接起来。
注意 在Windows中setup.exe命令就相当于Linux/UNIX中的runInstaller命令。
如果在安装过程中遇到了错误,可以查看相关的日志文件。每次运行安装程序,安装程序都会使用独一无二的名称和时间戳创建日志文件。日志文件位于oraInventory/logs目录中。当OUI向其中写入数据时,可以在屏幕上查看这些数据:
$ tail -f
下面是一个日志文件名称的例子:
installActions2012-04-33 11-42-52AM.log
如果所有步骤都成功执行,显示的信息就会提示需要以系统管理员身份运行root.sh脚本:
#Root scripts to run
/oracle/app/oracle/product/11.2.0.db_1/root.sh
用系统管理员登录,运行root.sh脚本。这样就可以创建Oracle数据库了(第2章介绍了创建数据库的方法)。
注意 在Linux/UNIX平台上,root.sh脚本中含有必须使用系统管理员权限运行的命令。该脚本需要修改某些Oracle可执行文件(如nmo可执行文件)的所有者和权限。某些版本的root.sh脚本会询问是否接受默认值。接受默认值可以适用于大多数情况。
自动安装Oracle Database 12c Release 1
切换到database目录,运行find命令找到样本应答文件。下面是Oracle Database 12c Release 1在Linux服务器上提供的应答文件:
$ find . -name "*.rsp"
./response/db_install.rsp
./response/netca.rsp
./response/dbca.rsp
复制这些应答文件中的一个,以便修改它。本例将db_install.rsp文件复制到当前的工作目录,并将其命名为inst.rsp:
$ cp response.db_install.rsp inst.rsp
修改这个inst.rsp文件。下面列出了Oracle Database 12c Release 1应答文件的部分内容(前两行代码实际上是一行代码,因篇幅所限将它们排成了两行)。我仅列出了修改了变量的代码。我删除了其中的注释,这样就可以更清楚地查看哪些变量修改了:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME_oraserv1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/orainst/12.1.0.1/database/stage/products.xml
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/produce/12.1.0.1/db_1
ORACLE_BASE=/U01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
DECLINE_SECURITY_UPDATES=true
应该确保根据自己的情况修改适当的参数。如果无法确定将ORACLE_HOME和ORACLE_BASE设置为何值,可参阅1.1节,该节介绍了OFA标准目录。
将应答文件配置好后,就可以使用自动安装模式运行Oracle安装程序了。注意,必须输入应答文件的完整路径:
$ ./runInstaller -ignoreSysPrereqs -force -silent -responseFile \
/home/oracle/orainst/12.1.0.1/database/inst.rsp
上面的命令占了两行位置。可使用反斜杠(\)将第一行代码与第二行代码连接起来。
如果在安装过程中遇到了错误,可以查看相关的日志文件。每次运行安装程序,安装程序都会使用独一无二的名称和时间戳创建日志文件。日志文件创建于oraInventory/logs目录中。当OUI向其中写入数据时,可以在屏幕上查看这些数据:
$ tail -f
下面是一个日志文件名称的例子:
installActions2012-11-04_02-57-29PM.log
如果所有步骤都成功执行,显示的信息就会提示需要以系统管理员身份,运行root.sh脚本:
/u01/app/oracle/product/12.1.0.1/db_1/root.sh
用系统管理员登录,运行root.sh脚本。这样就可以创建Oracle数据库了(第2章介绍创建数据库的方法)。