1.响应文件如何工作的呢
当您启动Oracle通用安装程序(OUI)时,您可以使用一个响应文件来自动安装和配置Oracle软件,可以是全部的,也可以是部分的。OUI使用响应文件中包含的值为一些或所有安装提示提供答案。
通常,安装程序以交互模式运行,这意味着它会提示您在图形用户界面(GUI)屏幕中提供信息。当您使用响应文件提供此信息时,您可以通过命令提示符以下模式之一运行安装程序:
-
Silent模式:
如果在响应文件中包含对所有提示的响应,并在启动安装程序时指定-silent选项,则安装程序将以静默模式运行。在静默模式安装期间,安装程序不显示任何屏幕。相反,它在用于启动它的终端中显示进度信息。 -
响应文件模式:
如果在响应文件中包含对部分或所有提示的响应并省略-silent选项,则安装程序将以响应文件模式运行。在响应文件模式安装期间,安装程序将显示所有屏幕,其中包括您在响应文件中指定信息的屏幕,以及没有在响应文件中指定所需信息的屏幕。
2.使用静默模式或响应文件模式的原因
| 模式 | 使用场景 |
|---|---|
| Silent | 对以下安装使用静默模式: (1)完成无人值勤的安装,您可以使用at等操作系统实用程序来安排该安装。 (2)在没有用户交互的情况下在多个系统上完成几个类似的安装 (3)在未安装X Window系统软件的系统上安装软件 该安装模式只显示进度信息,并不显示任何安装屏幕信息。 |
| Response File | 使用响应文件模式在多个系统上完成类似的Oracle软件安装,为一些安装提示提供默认答案,但不是所有的安装提示。 该模式还是会显示图形用户界面,只是会对图形屏幕中的相关提示自动填入响应文件中提供的信息。 |
所以本次安装,我们以Silent模式尝试安装Oracle 19.3.0.0。
3.准备响应文件
(1)编辑模板响应文件
Oracle为每个产品和每个配置工具提供响应文件模板。对于Oracle数据库,响应文件模板位于$ORACLE_HOME/install/response目录下。对于Oracle Grid Infrastructure,响应文件模板位于Grid_home/install/response目录中。
其中,Grid_home为Oracle Grid Infrastructure家目录路径。
所有响应文件模板都包含注释条目、示例格式、示例和其他有用的说明。阅读响应文件说明,了解如何为响应文件变量指定值,以便自定义安装。
下表列出了相关的响应文件:
| Response File | Description |
|---|---|
| db_install.rsp | 静默安装Oracle数据库 |
| dbca.rsp | 使用Oracle DBCA静默创建和配置Oracle数据库。 |
| netca.rsp | 使用Oracle NETCA静默配置Oracle Net。 |
| gridsetup.rsp | Oracle Grid Infrastructure安装的静默配置。 |
注意:当您修改响应文件模板并保存文件以供使用时,响应文件可能包含纯文本密码。响应文件的所有权应该只授予Oracle软件安装所有者,对响应文件的权限应该更改为600。Oracle强烈建议数据库管理员或其他管理员在不使用响应文件时删除或保护响应文件。
说明:Oracle数据库安装的完全指定的响应文件包含数据库管理帐户的密码和OSDBA组成员的密码(自动备份时需要)
按照相应文件模板中的说明进行编辑。
(2)记录响应文件
您可以在交互模式下使用OUI来记录响应文件,然后您可以编辑这些文件并使用它们来完成静默模式或响应文件模式的安装。说白了想要进行静默安装,需要配置响应文件,但是参数很多,我们还是得通过图形界面模式生成一个响应文件,之后就可以使用这个响应文件在一些没有安装X服务得系统上静默安装oracle数据库,步骤如下:
-
1),标准安装前完成安装前任务
当您运行安装程序来记录响应文件时,它将检查系统以验证它是否满足安装软件的要求。 -
2),在你运行安装程序时,请确保Oracle软件所有者用户(通常是Oracle)对Oracle家路径有创建或写入权限。
-
3),在每个安装屏幕上,指定所需的信息。
-
4),当安装程序显示Summary界面时,执行以下步骤:
– a,单击“Save Response File”。在窗口中,为新的响应文件指定文件名和位置。单击Save会将你输入的响应信息记录到响应文件中。
– b,单击Finish继续安装。
如果不想继续安装,则单击Cancel。安装停止,但是记录的响应文件被保留。在本次实验中,我们点击Cancel,静默安装oracle 数据库。
说明:确保您的响应文件名具有.rsp后缀。 -
5),在另一个系统上使用保存的响应文件之前,请编辑该文件并进行必要的更改。在编辑文件时,使用文件中的说明作为指导。
实践操作:
安装前的操作就不进行赘述,《Oracle—安装部署一(图形界面安装Oracle 11.2.0.1 CentOS7.6)》一文中已经做了详细说明,接下来直接执行安装程序:
xhost +
su - oracle
cd $ORACLE_HOME
export DISPLAY=10.0.0.1:0.0
./runInstaller.sh
## 经过一系列的安装屏幕,在Summary界面点击保存响应文件,然后取消安装
编辑后的响应文件信息如下所示:
#去掉注释信息如下所示:
[oracle@oracle3 ~]$ grep -Ev "^#|^$|^ " db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.rootconfig.configMethod=
oracle.install.db.rootconfig.sudoPath=
oracle.install.db.rootconfig.sudoUserName=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.ConfigureAsContainerDB=true
oracle.install.db.config.PDBName=orclpdb
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1573
oracle.install.db.config.starterdb.installExampleSchemas=true
oracle.install.db.config.starterdb.password.ALL=oracle123
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.password.PDBADMIN=
oracle.install.db.config.starterdb.managementOption=DEFAULT
oracle.install.db.config.starterdb.omsHost=
oracle.install.db.config.starterdb.omsPort=
oracle.install.db.config.starterdb.emAdminUser=
oracle.install.db.config.starterdb.emAdminPassword=
oracle.install.db.config.starterdb.enableRecovery=true
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_area
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
# 在模板响应配置文件中对于每个参数都有详细说明
# 修改响应文件的权限
chmod 600 db_install.rsp
# 顺便配置一下oracle用户的环境变量信息
su - oracle
vim .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
source .bash_profile
4.使用响应文件运行Oracle通用安装程序
su - oracle
cd $ORACLE_HOME
# 在命令行运行Oracle Universal Installer,指定您创建的响应文件。
# 如果是Oracle Grid Infrastructure,则执行如下命令
# /u01/app/oracle/product/19.0.0/grid/gridSetup.sh -silent -responseFile responsefilename
# 如果您正在完成静默模式安装,则不必设置DISPLAY环境变量。
# 如果正在完成响应文件模式安装,那么为运行安装的用户设置操作系统DISPLAY环境变量。
$ORACLE_HOME/runInstaller -silent -responseFile /home/oracle/db_install.rsp
# 执行命令之后输出信息如下所示:
[oracle@oracle3 /u01/app/oracle/product/19.3.0/dbhome_1]$ ./runInstaller -silent -responseFile /home/oracle/db_install.rsp
Launching Oracle Database Setup Wizard...
The response file for this session can be found at:
/u01/app/oracle/product/19.3.0/dbhome_1/install/response/db_2022-09-23_02-31-03PM.rsp
You can find the log of this install session at:
/tmp/InstallActions2022-09-23_02-31-03PM/installActions2022-09-23_02-31-03PM.log
As a root user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2. /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes:
[oracle3]
Execute /u01/app/oracle/product/19.3.0/dbhome_1/root.sh on the following nodes:
[oracle3]
Successfully Setup Software.
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2022-09-23_02-31-03PM
# 根据提示使用root用户执行orainstRoot.sh和root.sh脚本
su - root
[root@oracle3 /software]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle3 /software]# /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
Check /u01/app/oracle/product/19.3.0/dbhome_1/install/root_oracle3_2022-09-23_14-36-17-939139067.log for the output of root script
由于响应文件中设置安装选项为INSTALL_DB_SWONLY,所以数据库软件安装成功。
5.运行配置助手使用响应文件
在系统上安装Oracle软件后,可以以响应文件或静默模式运行配置助手来配置和启动Oracle软件。要以响应文件或静默模式运行配置助手,必须复制并编辑响应文件模板。
(1)使用响应文件运行网络配置助手
您可以以静默模式运行Net Configuration Assistant,在系统上配置并启动Oracle Net Listener,配置命名方法,配置Oracle Net服务名称。
要以静默模式运行Net Configuration Assistant,必须复制并编辑响应文件模板。Oracle在$ORACLE_HOME/assistants/netca目录下提供了一个名为netca.rsp的响应文件模板。
操作如下:
# 1.复制一份响应文件模板
[oracle@oracle3 ~]$ cp $ORACLE_HOME/assistants/netca/netca.rsp .
# 2.按照文件中的说明编辑上述文件(按需修改,可以不进行修改,使用默认配置)
[oracle@oracle3 ~]$ grep -Ev "^$|^#" netca.rsp
[GENERAL]
RESPONSEFILE_VERSION="19.0"
CREATE_TYPE="CUSTOM"
SHOW_GUI=false
[oracle.net.ca]
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
NSN_NUMBER=1
NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
NSN_SERVICE={"PLSExtProc"}
NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
# 3.输入类似于下面的命令以静默模式运行Net Configuration Assistant:
[oracle@oracle3 ~]$ netca -silent -responseFile /home/oracle/netca.rsp
Parsing command line arguments:
Parameter "silent" = true
Parameter "responsefile" = /home/oracle/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
Running Listener Control:
/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listener configuration complete.
Oracle Net Services configuration successful. The exit code is 0
## 简单说明:
# 1.执行netca命令之后,会对命令行参数进行检查
# 2.对依据响应文件对oracle 网络服务进行配置
# 3.启动oracle网络监听(lsnrctl start LISTENER)
(2)使用响应文件运行Oracle DBCA
您可以在响应文件模式下运行Oracle数据库配置助手(Oracle DBCA),以在系统上配置和启动Oracle数据库。
要在响应文件模式下运行Oracle DBCA,必须复制并编辑一个响应文件模板。Oracle在ORACLE_HOME/assistant/dbca目录中提供了一个名为dbca.rsp的响应文件模板。要在响应文件模式下运行Oracle DBCA,您必须l联合使用-responseFile标志与-silent标志;如果想要使用图形,必须设置DISPLAY变量。
操作如下:
# 1.拷贝并编辑dbca.rsp响应文件
[oracle@oracle3 ~]$ cp $ORACLE_HOME/assistants/dbca/dbca.rsp .
# 2.按照文件中的说明编辑文件
## 注意:响应文件中Mandatory=Yes的参数都需要配置上,这里就不展示我的配置信息了,直接下一步
# 3.执行dbca命令,带上-silent选项之后报如下错
[oracle@oracle3 ~]$ dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
[FATAL] [DBT-10503] Template file is not specified.
## 报这个错的原因:响应文件中的参数templateName未指定,该值可以设置为New_Database.dbt。
## 也就是$ORACLE_HOME/assistants/dbca/templates目录下的一个文件名
## 注意:执行命令之后:
## 1.检查使用的响应文件中相关参数的值是否配置正确
## 2.Mandatory为Yes的参数是否手动指定
# 4.响应文件dbca.rsp中配置完整之后再次执行dbca建库
[oracle@oracle3 ~]$ dbca -silent -createDatabase -responseFile /home/oracle/dbca.rsp
[WARNING] [DBT-06208] The 'SYS' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
[WARNING] [DBT-06208] The 'SYSTEM' password entered does not conform to the Oracle recommended standards.
CAUSE:
a. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
b.The password entered is a keyword that Oracle does not recommend to be used as password
ACTION: Specify a strong password. If required refer Oracle documentation for guidelines.
Prepare for db operation
5% complete
Creating and starting Oracle instance
6% complete
9% complete
Creating database files
10% complete
14% complete
Creating data dictionary views
15% complete
18% complete
19% complete
22% complete
23% complete
25% complete
27% complete
Oracle JVM
34% complete
41% complete
48% complete
50% complete
Oracle Text
51% complete
54% complete
55% complete
Oracle Multimedia
68% complete
Oracle OLAP
69% complete
70% complete
71% complete
72% complete
73% complete
Oracle Spatial
74% complete
82% complete
Completing Database Creation
85% complete
86% complete
Executing Post Configuration Actions
100% complete
Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/orcl.
Database Information:
Global Database Name:orcl
System Identifier(SID):orcl
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
## 根据输出可知,建库成功
从输出信息可知,dbca建库过程如下:
- 1)设置sys、system用户密码(会进行密码复杂度检查,不符合规则只是给出警告信息,并不影响建库)
- 2)创建并启动数据库实例
- 3)创建数据库文件
- 4)创建数据字典视图
- 5)Oracle JVM
- 6)Oracle Multimedia
- 7)Oracle OLAP
- 8)Oracle Spatial
- 9)完成数据库的安装
说明:dbca建库的日志记录位于$ORACLE_BASE/cfgtoollogs/dbca/orcl目录下,更多详细信息请看相关日志。
6. 查看进程信息
ps -ef | grep ora
# 登录
sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Sep 25 18:28:53 2022
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
## 查看实例状态
SQL> select status from v$instance;
STATUS
------------
OPEN
=============== end ================




