Automated Installation Methods Using Response Files

Oracle 普通的安装方式,其实Oracle的OUI图形安装工具是提供字符界面的,OUI安装工具的字符界面安装又分两种:SilentMode和SuppressedMode。 SilentMode:可以不需要图形界面的显示自动完成Oracle的安装,中间不需要任何的信息输入,无需用户的手工参与,完全自动化完成整个Oracle安装过程(仅限于software-only式安装,即只安装Oracle数据库系统,不进行Oracle数据库实例创建等操作,因为创建Oracle数据库实例等其它操作需要使用到一些其它的图形界面工具,如DBCA、NetCA)。这样就为代码实现Oracle安装过程的自动化提供了可能,避免了用户自己手工完成复杂的Oracle安装过程。这个非常有用的功能是由一个配置文件respnseFile来完成的,responseFile说白了就是一个记录了Oracle安装时所需的一些必要配置信息的配置文件,普通的图形界面安装都是通过用户手工输入来获得的,这里只不过是实现写到了responseFile里了,安装时直接按项索引读取即是了。
    SuppressedMode:SlientMode和普通图形界面安装方式的中间产物,即responseFile中并没有给出所有的Oracle安装过程需要用到的配置信息,未给出的部分则还是通过图形界面显示,由用户手工输入来获取

 responseFile的创建: 1、Oracle安装包中提供的模板文件,拿过来根据自己的需要修改里面的一些配置信息就可以了(其实Oracle的大部分图形工具都提供字符界面接口,且在安装包中都提供了相应的responseFile模板文件,这些模板文件都放在安装包的response子目录中)
   2、通过图形界面手工安装一次,并将整个安装过程中的配置导出记录到一个文件中,这个文件就是一个responseFile了图形界面安装时记录相关配置的命令:
   ${ORACLE_PACKAGE_PATH}/runInstaller -record -destinationFileresponse_filename
   其中response_filename是指定导出保存的记录文件名,必须是文件的绝对路径。
   关于responseFile的使用。
   有了responseFile之后,就可以在字符界面安装时使用了,命令:
   ${ORACLE_PACKAGE_PATH}/runInstaller [-slient] [-noconfig]-responseFile response_filename
   其中-silent表示完全自动安装,所有配置信息都有responseFile提供,安装过程中不提示任何图形界面,该选项用来区分SilentMode和SuppressedMode。
   -noconfig表示只进行Oracle数据库系统的安装,不执行其它的配置工具(如DBCA、NetCA)。
   response_filename就是responseFile文件名。
 注:不论是SilentMode还是SuppressedMode,因为都无法通过OUI图形界面指定OracleInventory目录和Oracle安装群组并自动生成oraInst.loc文件(oraInst.loc中就记录了OracleInventory路径和Oracle安装用户群组),所以在启动安装之前,需要先手工配置一个oraInst.loc文件,在其中指定好OracleInventory路径和Oracle安装用户群组名,oraInst.loc文件的路径为/etc/oraInst.loc,以下为一个oraInst.loc示例文件:
   inventory_loc=/opt/oracle/oraInventory
   inst_group=root

 

Silent Mode安装命令如下:
在Windows平台上:
setup.exe -responseFile <FileName> <optional_parameters>
在Unix平台上:
runInstaller -responseFile <FileName> <optional_parameters>

 

 

 

Optional参数有两个:
-nowelcome:不显示安装过程中的欢迎界面
-silent:在Silent mode下运行Universal Installer,自动忽略欢迎界面


获得response file有两种方式


1、在安装光盘的response目录中有通用的response file的模板,如下是各种response file
可以拷贝一份,按照需要修改为Response file。
enterprise.rsp       Enterprise Edition Installation of Oracle9i Server
standard.rsp         Standard Edition Installation of Oracle9i Server
custom.rsp           Custom Edition Installation of Oracle9i Server
oms.rsp               Oracle Management Server installation of Oracle9i
                          Management and Integration
oid.rsp                Oracle Internet Directory installation of Oracle9i
                          Management and Integration
infrastructure.rsp     Custom installation of Oracle9i Management Infrastructure
clientadmin.rsp       Administrator installation of Oracle9i Client
clientruntime.rsp     Runtime installation of Oracle9i Client
clientcustom.rsp     Custom installation of Oracle9i Client
dbca.rsp                Database Configuration Assistant
netca.rsp               Oracle Net Configuration Assistant
emca.rsp              Oracle Enterprise Manager Configuration Assistant            
Response File按照定义的目的、关键字和变量分为多个部分。

 

 

对于错误的context,format和变量的值,OUI将自动忽略。
Response File的结构:
Response File Sections         Function
General                              ResponseFile的版本号
Include                              该ResponseFile中包含的其他response file列表
Session                              OUI的交互式对话信息
Components                       Component sections define public variables.
                                         They can also define installer variables.

 

2、通过运行如下命令:
E:\>setup -record -destinationFile YourResponseFile
通过OUI定制response file,并保存在指定文件中。只需要运行到SUMMARY退出OUI就可以了,不需要实际安装软件。但是Oracle10.1.0.3前,自定义安装生成的responsefile不能用,DEPENDENCY_LIST格式有问题:

利用OUI record生成的DEPENDENCY_LIST如下:

DEPENDENCY_LIST={oracle.rdbms_9.2.0.1.0,oracle.networking_9.2.0.1.0,oracle.emprod_9.2.0.1.0,oracle.p2k.devtools_9.2.0.1.0}

各个组件应该用""分开,并且oracle.rdbms_9.2.0.1.0也要用""分开,正确的格式如下:

DEPENDENCY_LIST={"oracle.rdbms","9.2.0.1.0","oracle.networking","9.2.0.1.0","oracle.emprod","9.2.0.1.0","oracle.p2k.devtools",".2.0.1.0"}

下面的perl脚本可以方便的格式用Record生成的ResponseFile:

 

#!C:\Perl\bin\perl
use warnings;
use strict;
my $file = shift;
open InFile, $file or die "Cann't open $file:$!";
foreach(<InFile>){
 
  next if (/^\s*$/) or (/^#/);
 
  if(/^DEPENDENCY_LIST={(.+)}/){
     my $temp=$1;
     $temp =~ s/_/,/g;
     my @Strings = split /,/,$temp;
     my $result = join "\",\"",@Strings;
     print "DEPENDENCY_LIST={","\"","$result","\"","}\n";
     next;    
  }
  
  print $_;
 }

 

下面我们就可以运行如下命令:

e:\setup.exe -responseFile  CustomResponse.txt -silent

采用Silent Mode安装Oracle软件。

 

原文链接:http://springyejian.blog.sohu.com/72958657.html

 

20130814

一、静默安装Oracle数据库10g软件

1、使用OUI录 制响应文件,记录安装过程

     执行以下命令,然后在OUI中根据提示执行安装数据库软件的操作

  

Linux代码
  1. [oracle@zhaozy-oracle database]$ ./runInstaller -record -destinationFile /home/oracle/install_db_e.rsp  

   注意:

  (1)录制过程中选择只安装数据库软件不创建数据库

  (2)当安装界面到达最后一步时选择cancel

       (3)取消后,需要手动删除$ORACLE_HOME下刚刚创建的文件以及oraInventory文件夹,否则报错:

     

Linux代码
  1. SEVERE:OUI-10029:You have specified a non-empty directory to install this product. It is recommended to specify either an empty or a non-existent directory. You may, however, choose to ignore this message if the directory contains Operating System generated files or subdirectories like lost+found.  

2、回放响应文件静默安装Oracle数 据库软件

      (1)执行以下命令静默安装Oracle数据库软件  

Linux代码
  1. [oracle@zhaozy-oracle database]$ ./runInstaller -silent -responseFile /home/oracle/install_db_e.rsp  

  (2)安装完成后切换成root用户执行以下脚本

Linux代码
  1. [root@zhaozy-oracle oracle]# /u01/app/oraInventory/orainstRoot.sh   
  2. Changing permissions of /u01/app/oraInventory to 770.   
  3. Changing groupname of /u01/app/oraInventory to oinstall.   
  4. The execution of the script is complete  

 

Linux代码
  1. [root@zhaozy-oracle oracle]# /u01/app/oracle/root.sh   
  2. Running Oracle10 root.sh script...   
  3.   
  4. The following environment variables are set as:   
  5.     ORACLE_OWNER= oracle   
  6.     ORACLE_HOME=  /u01/app/oracle   
  7.   
  8. Enter the full pathname of the local bin directory: [/usr/local/bin]:    
  9.    Copying dbhome to /usr/local/bin ...   
  10.    Copying oraenv to /usr/local/bin ...   
  11.    Copying coraenv to /usr/local/bin ...   
  12.   
  13.   
  14. Creating /etc/oratab file...   
  15. Entries will be added to the /etc/oratab file as needed by   
  16. Database Configuration Assistant when a database is created   
  17. Finished running generic part of root.sh script.   
  18. Now product-specific root actions will be performed.  

 3、静默卸载Oracle数据库软件

Linux代码
  1. [oracle@zhaozy-oracle database]$ ./runInstaller -silent -deinstall -removeallfiles -removeAllPatches -responseFile /home/oracle/install_db_e.rsp -invPtrLoc /u01/app/oraInventory/oraInst.loc  

    然后手动删除$ORACLE_HOME下所有文件以及oraInventory文件夹

二、静默安装Oracle数据库

1、DBCA建一个种子数据库

       (1) 创建初始数据库的时候选择Custom Database模板

  (2) 建议使用File System存储机制

  (3) 数据文件的存放地点建议选择

      Use Oracle-Managed Files

      Database Area: {ORACLE_BASE}/oradata

  (4) 内存建议选择Custom,指定SGA和PGA大小

  (5) 字符集根据实际需要设定

  (6) 数据库创建选项里面选择Create Database

   (7) 创建应用程序需要的表空间和用户,导入初始数据

 2、用DBCA根据种子数据库创建一个模板

  (1) 启动DBCA,选择Manage Templates

   (2) 按照提示创建一个模板

 

3、Oracle DB安装盘里面 response目录下的dbca.rsp贝到本机上

4、修改dbca.rsp文件,将模板名和DB名添加进去

  GDBNAME=albert

  SID= albert

  TEMPLATENAME=albert.dfb

  如果需要使用Oracle Enterprise Manager,则还需要修改以下参数如下:

  EMCONFIGURATION=”LOCAL”

  SYSMANPASSWORD=”password”

  DBSNMPPASSWORD=”password”

5、执行以下命令使用DBCA根据模 板创建新数据库

  $./dbca –silent –createdatabase –responseFile /home/oracle/database/response/dbca.rsp

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值