Oracle数据库静默安装总结
在学习数据库的时候,不知道dbca的命令用了多少遍,但是越是安装也是觉得自己会的越少,因为图形界面的清晰直白反而不知道哪些准备工作是需要特别准备的,如果在远程支持的环境中,图形界面就会受到网络带宽的影响,如果在本地的环境中学习的时候,总是提示少这个包,那个包的。其实有很多的安装包如果不使用图形界面都不是必须的。个人感触比较深的一个例子就是安装的时候缺少报了libXp.so相关的错误,结果自己折腾了半天,从网上下载安装包费了很大的周折才算搞定,最后发现使用静默安装就不需要这个包了,基于学习的环境,摆脱图形界面也是一个好的开始,你需要考虑的东西越多,你就学到的越多。
说到静默安装,就不得不提到响应文件,就是所谓的response file。在Oracle,db2的安装中都有提供响应文件,这个响应文件其实就是一个配置文件。里面可以配置一些安装的细节,像dbca里面能够看到的安装选项,在响应文件中都有体现。你可以通过响应文件来设置安装企业版,个人版,标准被,安装的语言包,安装的字符集等等。
响应文件可以通过安装目录获得,比如得到解压后的安装包。响应文件的模板就是db_install.rsp
[oracle@rac1 database]$ pwd
/u02/ora11g/database
[oracle@rac1 database]$ ll
total 64
drwxr-xr-x 12 ora11g dba 4096 Sep 18 2011 doc
drwxr-xr-x 4 ora11g dba 4096 Sep 22 2011 install
-rwxr-xr-x 1 ora11g dba 28122 Sep 22 2011 readme.html
drwxr-xr-x 2 ora11g dba 4096 Sep 22 2011 response
drwxr-xr-x 2 ora11g dba 4096 Sep 22 2011 rpm
-rwxr-xr-x 1 ora11g dba 3226 Sep 22 2011 runInstaller
drwxr-xr-x 2 ora11g dba 4096 Sep 22 2011 sshsetup
drwxr-xr-x 14 ora11g dba 4096 Sep 22 2011 stage
-rwxr-xr-x 1 ora11g dba 5466 Aug 22 2011 welcome.html
[oracle@rac1 database]$ cd response
[oracle@rac1 response]$ ll
total 80
-rwxr-xr-x 1 ora11g ora11g 44533 Sep 22 2011 dbca.rsp
-rwxr-xr-x 1 ora11g ora11g 24992 Sep 22 2011 db_install.rsp
-rwxr-xr-x 1 ora11g ora11g 5871 Sep 22 2011 netca.rsp
以下标黄的部分是在响应文件中需要格外注意的。可以根据自己的需求和环境来设置
####################################################################
## Copyright(c) Oracle Corporation 1998,2011. All rights reserved.##
## ##
## Specify values for the variables listed below to customize ##
## your installation. ##
## ##
## Each variable is associated with a comment. The comment ##
## can help to populate the variables with the appropriate ##
## values. ##
## ##
## IMPORTANT NOTE: This file contains plain text passwords and ##
## should be secured to have read permission only by oracle user ##
## or db administrator who owns this installation. ##
## ##
####################################################################
#------------------------------------------------------------------------------
# Do not change the following system generated value.
#------------------------------------------------------------------------------
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
#------------------------------------------------------------------------------
# Specify the installation option.
# It can be one of the following:
# 1. INSTALL_DB_SWONLY
# 2. INSTALL_DB_AND_CONFIG
# 3. UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=INSTALL_DB_SWONLY
#-------------------------------------------------------------------------------
# Specify the hostname of the system as set during the install. It can be used
# to force the installation to use an alternative hostname rather than using the
# first hostname found on the system. (e.g., for systems with multiple hostnames
# and network interfaces)
#-------------------------------------------------------------------------------
ORACLE_HOSTNAME=rac1
#-------------------------------------------------------------------------------
# Specify the Unix group to be set for the inventory directory.
#-------------------------------------------------------------------------------
UNIX_GROUP_NAME=dba
#-------------------------------------------------------------------------------
# Specify the location which holds the inventory files.
# This is an optional parameter if installing on
# Windows based Operating System.
#-------------------------------------------------------------------------------
INVENTORY_LOCATION=/home/oracle
#-------------------------------------------------------------------------------
# Specify the languages in which the components will be installed.
#
# en : English ja : Japanese
# fr : French ko : Korean
# ar : Arabic es : Latin American Spanish
# bn : Bengali lv : Latvian
# pt_BR: Brazilian Portuguese lt : Lithuanian
# bg : Bulgarian ms : Malay
# fr_CA: Canadian French es_MX: Mexican Spanish
# ca : Catalan no : Norwegian
# hr : Croatian pl : Polish
# cs : Czech pt : Portuguese
# da : Danish ro : Romanian
# nl : Dutch ru : Russian
# ar_EG: Egyptian zh_CN: Simplified Chinese
# en_GB: English (Great Britain) sk : Slovak
# et : Estonian sl : Slovenian
# fi : Finnish es_ES: Spanish
# de : German sv : Swedish
# el : Greek th : Thai
# iw : Hebrew zh_TW: Traditional Chinese
# hu : Hungarian tr : Turkish
# is : Icelandic uk : Ukrainian
# in : Indonesian vi : Vietnamese
# it : Italian
#
# all_langs : All languages
#
# Specify value as the following to select any of the languages.
# Example : SELECTED_LANGUAGES=en,fr,ja
#
# Specify value as the following to select all the languages.
# Example : SELECTED_LANGUAGES=all_langs
#------------------------------------------------------------------------------
SELECTED_LANGUAGES=en,zh_CN,th,zh_TW
#------------------------------------------------------------------------------
# Specify the complete path of the Oracle Home.
#------------------------------------------------------------------------------
ORACLE_HOME=/home/oracle/ORAHOME
#------------------------------------------------------------------------------
# Specify the complete path of the Oracle Base.
#------------------------------------------------------------------------------
ORACLE_BASE=/home/oracle
#------------------------------------------------------------------------------
# Specify the installation edition of the component.
#
# The value should contain only one of these choices.
# EE : Enterprise Edition
# SE : Standard Edition
# SEONE : Standard Edition One
# PE : Personal Edition (WINDOWS ONLY)
#------------------------------------------------------------------------------
oracle.install.db.InstallEdition=EE
#------------------------------------------------------------------------------
# This variable is used to enable or disable custom install and is considered
# only if InstallEdition is EE.
#
# true : Components mentioned as part of 'optionalComponents' property
# are considered for install.
# false : Value for 'optionalComponents' is not considered.
#------------------------------------------------------------------------------
oracle.install.db.EEOptionsSelection=true
#------------------------------------------------------------------------------
# This variable is considered only if 'EEOptionsSelection' is set to true.
#
# Description: List of Enterprise Edition Options you would like to enable.
#
# The following choices are available. You may specify any
# combination of these choices. The components you choose should
# be specified in the form "internal-component-name:version"
# Below is a list of components you may specify to enable.
#
# oracle.oraolap:11.2.0.3.0 - Oracle OLAP
# oracle.rdbms.dm:11.2.0.3.0 - Oracle Data Mining
# oracle.rdbms.dv:11.2.0.3.0 - Oracle Database Vault
# oracle.rdbms.lbac:11.2.0.3.0 - Oracle Label Security
# oracle.rdbms.partitioning:11.2.0.3.0 - Oracle Partitioning
# oracle.rdbms.rat:11.2.0.3.0 - Oracle Real Application Testing
#------------------------------------------------------------------------------
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.3.0,oracle.oraolap:11.2.0.3.0,oracle.rdbms.dm:11.2.0.3.0,oracle.rdbms.dv:11.2.0.3.0,oracle.rdbms.lbac:11.2.0.3.0,oracle.rdbms.rat:11.2.0.3.0
###############################################################################
# #
# PRIVILEGED OPERATING SYSTEM GROUPS #
# ------------------------------------------ #
# Provide values for the OS groups to which OSDBA and OSOPER privileges #
# needs to be granted. If the install is being performed as a member of the #
# group "dba", then that will be used unless specified otherwise below. #
# #
# The value to be specified for OSDBA and OSOPER group is only for UNIX based #
# Operating System. #
# #
###############################################################################
#------------------------------------------------------------------------------
# The DBA_GROUP is the OS group which is to be granted OSDBA privileges.
#------------------------------------------------------------------------------
oracle.install.db.DBA_GROUP=dba
#------------------------------------------------------------------------------
# The OPER_GROUP is the OS group which is to be granted OSOPER privileges.
# The value to be specified for OSOPER group is optional.
#------------------------------------------------------------------------------
oracle.install.db.OPER_GROUP=dba
#------------------------------------------------------------------------------
# Specify whether user doesn't want to configure Security Updates.
# The value for this variable should be true if you don't want to configure
# Security Updates, false otherwise.
#
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example : DECLINE_SECURITY_UPDATES=false
#------------------------------------------------------------------------------
DECLINE_SECURITY_UPDATES=true
对于静默安装 runInstaller是必须的执行文件,脚本本身提供了大量的选项。可以通过./runInstaller -help来看到
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-11-18_04-00-22AM. Please wait ...[oracle@rac1 database]$ Usage:
runInstaller [-options] [(<CommandLineVariable=Value>)*]
Where options include:
-clusterware oracle.crs,<crs version>
Version of Cluster ready services installed.
-crsLocation <Path>
Used only for cluster installs, specifies the path to the crs home location. Specifying this overrides CRS information obtained from central inventory.
-invPtrLoc <full path of oraInst.loc>
Unix only. To point to a different inventory location. The orainst.loc file contains:
inventory_loc=<location of central inventory>
inst_group=<>
-jreLoc <location>
。。。。。
安装的时候,可以使用如下命令。
[oracle@rac1 database]$ ./runInstaller -silent -responsefile /home/oracle/new.rsp -ignoreSysPrereqs
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 993 MB Passed
Checking swap space: must be greater than 150 MB. Actual 3967 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-11-18_04-15-07AM. Please wait ...[oracle@rac1 database]$ [WARNING] [INS-32008] Oracle base location cant be same as the user home directory.
CAUSE: The specified Oracle base is same as the user home directory.
ACTION: Provide an Oracle base location other than the user home directory.
[WARNING] [INS-13014] Target environment do not meet some optional requirements.
CAUSE: Some of the optional prerequisites are not met. See logs for details. /u04/app/oraInventory/logs/installActions2014-11-18_04-15-07AM.log
ACTION: Identify the list of failed prerequisite checks from the log: /u04/app/oraInventory/logs/installActions2014-11-18_04-15-07AM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
You can find the log of this install session at:
/u04/app/oraInventory/logs/installActions2014-11-18_04-15-07AM.log
如果响应文件出现问题,就会出现类似下面的问题。
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-11-18_04-06-16AM. Please wait ...[oracle@rac1 database]$ [FATAL] [INS-10105] The given response file /home/oracle/new.rsp is not valid.
CAUSE: Syntactically incorrect response file. Either unexpected variables are specified or expected variables are not specified in the response file.
ACTION: Refer the latest product specific response file template
SUMMARY:
- cvc-enumeration-valid: Value '1' is not facet-valid with respect to enumeration '[INSTALL_DB_SWONLY, INSTALL_DB_AND_CONFIG, UPGRADE_DB]'. It must be a value from the enumeration.
cvc-type.3.1.3: The value '1' of element 'oracle.install.option' is not valid.
这个问题很明显就是因为响应文件中的设置错误。有INSTALL_DB_SWONLY, INSTALL_DB_AND_CONFIG, UPGRADE_DB3个选项,但是相应文件里设置错误。
查看响应文件的配置,确实有问题。
# Specify the installation option.
# It can be one of the following:
# 1. INSTALL_DB_SWONLY
# 2. INSTALL_DB_AND_CONFIG
# 3. UPGRADE_DB
#-------------------------------------------------------------------------------
oracle.install.option=1 --这个地方设置错误,需要写为INSTALL_DB_SWONLY..不是数字
如果大体没有问题,就可以看到一个后台进程在执行安装。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12298 oracle 20 0 1494m 160m 22m R 194.5 8.1 0:40.84 /tmp/OraInstall2014-11-18_04-15-07AM/jdk/jre/bin/java -Doracle.installer.library_loc=/tmp/OraInstall2014-1
通过日志文件也能看到安装的一些细节。
查看安装目录,也会看到在逐渐增大。
[oracle@rac1 ORAHOME]$ du -sh .
1.8G .
[oracle@rac1 ORAHOME]$ du -sh .
2.2G .
[oracle@rac1 ORAHOME]$ du -sh .
4.0G
如果在日志文件中看到如下的内容,证明安装已经完成。
INFO: Finding the most appropriate exit status for the current application
INFO: Exit Status is 6
INFO: List of warnings encountered in this Application:
INFO: PREREQS_FAILED_WITH_WARNING
INFO: Shutdown Oracle Database 11g Release 2 Installer
INFO: Unloading Setup Driver
同时,也可以通过sqlplus来测试安装进度
[oracle@rac1 bin]$ ./sqlplus
./sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory --这个时候说明安装还在继续
[oracle@rac1 bin]$ ./sqlplus
Error 6 initializing SQL*Plus
SP2-0667: Message file sp1<lang>.msb not found --这个时候说明安装已经完成,需要设置的就是ORACLE_HOME了
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
[oracle@rac1 ~]$ export ORACLE_SID=A --设置ORACLE_HOME以后,可以简单的测试是否sqlplus一切正常
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 18 04:34:08 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.