Oracle实现静默安装
本文档主要描述Oracle数据库静默安装技术,Oracle自身可以实现的静默安装和卸载包含:Oracle软件、Oracle实例、Oracle监听;而我们需要实现的是Oracle实例和监听的安装和卸载。本次也主要是描述实例和监听相关静默安装和卸载技术,安装和卸载需要按照部署类型区分单机和双机实现。故结合上面的部署类型,依次进行描述。
Oracle数据库静默技术总体概述:
静默安装指的是不需要值守和输入各项安装参数,且是通过命令行方式实现安装,而非通过GUI界面实现的安装方式,减少人工干预的一项技术。静默安装需要依赖响应文件和模板文件,而响应文件和模板文件均可以通过GUI界面操作是进行录制获取。Oracle安装包中会默认会有相应的响应文件,一般存放目录:oracle安装包/database/response;而模板文件默认是在oracle数据库安装根目录/assistants/dbca/templates。模板文件是非常重要的文件,不论是单机安装,还是双机安装,需要创建各自不同的模板文件。
主要的应用场景:
1:在某些特殊的情况下,如因为网络或者服务器配置的关系无法连接到服务器。
2:如果需要大规模部署,则静默安装将会大大减轻DBA的重复劳动力。
单机部署
数据库实例操作
数据库实例操作时需要使用响应文件,而响应文件中涉及到非常多的配置项,安装操作的类型不同,配置也不一致,这里主要介绍下响应文件中通用的配置项,如下:
数据库版本信息:RESPONSEFILE_VERSION
数据库实例操作类型:OPERATION_TYPE(创建实例为createDatabase,删除实例为deleteDatabase)
创建实例
实现实例创建非常简单,只需要一条命令即可。
创建实例时响应文件中涉及的配置项,如下:
数据库实例唯一标示名称:GDBNAME
数据库实例ID:SID
数据库实例对应模板文件:TEMPLATENAME(不同实例的安装方式不同,模板文件不相同)
数据库sys用户密码:SYSPASSWORD(默认sys)
数据库system用户密码:SYSTEMPASSWORD(默认system)
数据库实例对应字符集:CHARACTERSET(默认UTF-8)
数据库实例编码格式:NATIONALCHARACTERSET
数据库实例唯一标示名称:DB_UNIQUE_NAME(该值同SID保持一致)
数据库实例名称:INSTANCENAME(该值同SID保持一致)
数据库实例系统用户:SYSDBAUSERNAME(默认为sys用户)
数据库实例系统用户密码:SYSDBAPASSWORD (默认为sys用户对应密码)
创建实例的命令:
1:用oracle用户登录数据库服务器。
2:dbca -silent -responseFile create_instance.rsp[MS1]
删除实例
实现实例创建非常简单,也只需要一条命令即可。
删除实例时响应文件中涉及的配置项,如下:
数据库实例名称:SOURCEDB(该值同SID保持一致)
数据库实例唯一标示名称:DB_UNIQUE_NAME(该值同SID保持一致)
数据库实例名称:INSTANCENAME(该值同SID保持一致)
数据库实例系统用户:SYSDBAUSERNAME(默认为sys用户)
数据库实例系统用户密码:SYSDBAPASSWORD (默认为sys用户对应密码)
删除实例的命令:
1:用oracle用户登录数据库服务器。
2:dbca -silent -responseFile delete_instance.rsp[MS2]
数据库监听操作
创建监听
实现创建监听非常简单,只需要一条命令即可,创建监听时,只需要Oracle自带的默认响应文件即可,不涉及修改响应文件中的配置项。
:
创建监听的命令:
1:用oracle用户登录数据库服务器。
2:netca /silent /responseFile listener.rsp[MS3]
3:cat << APPCONTENT 2>/dev/null > /opt/oracle/product/11g[MS4] /network/admin/listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = ${db_service_ip[MS5] })(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_DESC =
(GLOBAL_DBNAME = tapsdev)[MS6]
(ORACLE_HOME = /opt/oracle/product/11g[MS7] )
(SID_NAME = tapsdev[MS8] )
)
APPCONTENT
删除监听
实现实例创建非常简单,也只需要删除监听文件即可。
删除实例的命令:
1:用oracle用户登录数据库服务器。
2:lsnrctl stop;
3:删除监听文件。
rm –rf /opt/oracle/product/11g[MS9] /network/admin/listener.ora
需要注意的问题
1:创建完实例后,需要创建监听、启动监听。
2:如果实例被mount,需要解绑释放。
3:删除实例时,不需要删除监听,停止监听。
4:模板文件同Oracle环境变量相关,需要关注。
双机部署
后续补充。