一、问题的提出
目前的很多数据库应用程序是使用ORACLE数据库开发的client/server模式。众所周知,使用此种模式需要在终端上安装ORACLE客户端软件。应用程序可以使用InstallShield软件打包成安装程序,由用户自行安装。但ORACLE客户端软件一般需要有经验的开发人员通过人机交互的方法安装,安装完成后还需在Net8中配置服务名。这样当软件发布时,可能需要在不同地点的成千上万个终端上安装ORACLE客户端,让费了大量的人力及时间。
如何能在不需要人员干预的情况自动完成ORACLE客户端的安装及配置工作,是否能将此工作集成到应用程序的安装中去?
答案是肯定的,下面逐步阐述实现的过程。
二、实现步骤
1、共享ORACLE安装程序
可将ORACLE安装程序放置到一台应用服务器的光驱或拷贝到应用服务器的一个目录下并共享,在这里我们假定服务器名称为softserver,放置路径为oracle。
2、编写响应文件自动安装ORACLE客户端
ORACLE的缺省的安装模式为人机交互方式。即运行ORACLE安装盘上的setup.exe后,按照安装程序的提示一步一步的选择完成安装。ORACLE同时也提供了自动安装(非人机交互)方式。此种模式的前提是必须写一个响应文件。关于此种方式的说明可以在ORACLE安装盘中找到,文件名为docOutputadvance.htm。在response目录下有一些响应文件的模板,可以根据需要将模板修改成适合自己的响应文件。
在这里我们举一个只安装Net8的例子,文件名定为\softserveroraclenet8.rsp,内容如下:
[General]
RESPONSEFILE_VERSION=1.7.0
[SESSION]
#products.jar文件所在的路径(在ORACLE安装盘中)
FROM_LOCATION=”\softserveroraclestageproducts.jar”
#ORACLE安装目录
ORACLE_HOME=”C:oracleora81″
#ORACLE安装目录的别名
ORACLE_HOME_NAME=”ora8″
#顶级安装方式,这里选择客户端
TOPLEVEL_COMPONENT={“oracle.client”,”8.1.7.0.0″}
#是否显示动画,缺省为false
SHOW_SPLASH_SCREEN=false
#是否显示欢迎界面,缺省为false
SHOW_WELCOME_PAGE=false
#是否显示安装过程界面,缺省为true
SHOW_INSTALL_PROGRESS_PAGE=false
#是否显示需求信息,缺省为true
SHOW_REQUIRED_CONFIG_TOOL_PAGE=false
#
#ORACLE客户端选项
#
[oracle.client_8.1.7.0.0]
#语言,这里用英语,简体中文
COMPONENT_LANGUAGES={“en”,”zh_CN”}
#安装方式(缺省、定制、最小),这里用定制
INSTALL_TYPE=”Custom”
#要安装的产品列表,这里选择Net8
DEPENDENCY_LIST={ “oracle.networking.netcltprod”,”8.1.7.0.0″}
#
#Net8产品
#
[oracle.networking.netcltprod_8.1.7.0.0]
DEPENDENCY_LIST={ “oracle.networking.netclt”,”8.1.7.0.0″}
#
# Net8配置助手
#
[oracle.networking.netca_8.1.7.0.0]
#是否在安装后启动Net8配置助手,缺省为true
b_launchNETCA=false
此时,如果我们在命令行执行命令:
\softserveroraclesetup –responsefile \softserveroraclenet8.rsp –silent
则安装程序在后台自动安装,过一段时间(十多分钟,视机器配置和网络速度而定)后,我们可以在程序菜单中看到ORACLE的菜单,里面只有Net8,安装路径为C:oracleora81。
3、编写Net8配置文件
最简单的方法是用Net8 Assistant来生成,配置好所需的服务后,到ORACLE安装目录的networkADMIN路径下找到tnsnames.ora文件即可,文件格式为:
# TNSNAMES.ORA Network Configuration File: c:OracleOra81NETWORKADMINtnsnames.ora
# Generated by Oracle configuration tools.
ORA8 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.40.50.87)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = bigsun)
)
)
将此文件拷贝到\softserveroracle目录中去。
4、编写执行程序
可以使用各种方式编写可执行程序、VB程序等执行以下功能:
a)自动安装Net8
\softserveroraclesetup –responsefile \softserveroraclenet8.rsp –silent
b)拷贝Net8配置文件配置服务命名
copy \softserveroracletnsnames.ora c:oracleora81networkADMIN
5、将可执行程序打包到安装程序中
以InstallShield为例,在Custom Actions中添加新动作后,在File Name栏选择上一步中编写的执行程序。
此时,我们的目的已经达到。这样,在进行应用程序的安装时,ORACLE客户端软件的安装及配置工作将隐式的同时进行。安装工作完成后,应用程序就可以直接运行,而无须安装或配置ORACLE客户端。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
甲骨文自治数据库亮相 带来云计算新希望
早前甲骨文还不在云计算公司之列,而现在该公司正在迅速弥补其失去的时间。甲骨文的云计算核心是甲骨文自治数据库(O […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
2017年12月数据库流行度排行榜 定格岁末排名瞬间
数据库知识网站DB-engines最近更新的2017年12月份数据库流行度排名情况是否能提供更多的看点呢?TechTarget数据库网站将与您分享12月份的榜单排名情况,让我们拭目以待。