在Linux平台下DB2 UDB V8.1图形界面的安装过程需要人工干预,耗时相对较长,并且在内核较新的Linux版本下还存在无法启动GUI安装界面的问题,虽然可以通过设置环境变量进行解决,还是显得有些麻烦。如果你用命令行方式手动安装,需要完成很多步骤,在安装或卸载比较频繁的情况下,就不如把整个安装过程写入shell脚本执行方便。
在Linux平台下DB2 UDB V8.1提供了命令行和图形界面两种安装方式,图形界面虽然通过交互简化了安装的复杂性,但安装过程需要人工干预,耗时相对较长,并且在内核较新的Linux版本下还存在无法启动GUI安装界面的问题,虽然可以通过设置环境变量进行解决,还是显得有些麻烦。
当然如果你用命令行方式手动安装就不存在这个问题,不过需要手动完成很多步骤,如果安装或卸载比较频繁的情况下,就不如把整个安装过程写入shell脚本执行方便。
下面是我完成的一个用于安装和卸载的shell脚本,在数据库安装时,只需指定安装文件的源路径,即可完成全部安装。包括创建必要的用户和组,创建DAS服务以及实例,在系统注册服务名和服务端口,设置注册表变量,设置自动启动等。
另外可以通过三个可选的参数指定忽略拷贝安装文件,或者忽略创建用户或者组,以节约安装时间。
卸载功能可以用于卸载使用本安装脚本安装的数据库,包括删除实例和DAS服务,清除前面创建的用户和组,恢复系统的配置文件等,可通过可选的参数指定同时删除安装时拷贝的package文件。
在脚本的开始部分,有一些参数可以自行根据实际环境修改,比如要创建的实例名、用于DAS的用户名及组名、数据库的默认建立路径等,在使用本脚本之前可以先进行修改。
将本脚本保存为文件,本例存为instdb.sh,添加可执行属性,在root权限下运行,例如:
使用源路径'/mnt/DB2UDB8FORLINUX' 进行安装;
# ./instdb2 -d /mnt/DB2UDB8FORLINUX
删除已经进行的DB2安装,同时删除所有已经拷贝到安装目录的package文件。
# ./instdb2 -d /mnt/DB2UDB8FORLINUX -remove -all
本文中脚本在如下环境测试通过:RedHat Enterprise Linux 3.0、DB2 V8.1 for Linux