Oracle Linux 7.0上静默安装Oracle数据库
静默安装本人使用的也比较少,基本上不需要使用静默安装。就算是文本安装的系统,也使用Xmanager 来重定向图形化。但是万事总有个例外的,比如在MAC 操作系统上,貌似没有Xmananger , 那该上虚拟机如果只装了文本界面就只能静默安装了,如果再装个图形化那就另一个情况了。
1. 操作系统环境设置
根据不同操作系统安装不同Oracle数据库版本,配置有略微差别,此处不一一描述,大家根据自身环境进行设置即可。此处以Oracle Linux 7.0上Oracle 12C为例。
1.1 编辑/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax=913516544
kernel.panic_on_oops=1
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 900065500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
执行sysctl –p
1.2 创建目录用户
groupadd oinstall
groupadd dba
groupadd oper
groupadd asmadmin
groupadd asmdba
groupadd asmoper
useradd -g oinstall -Gdba,asmdba,asmadmin,asmoper grid
useradd -g oinstall -G dba,oper,asmdbaoracle
mkdir -p /u01/app/12.1.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown grid:oinstall /u01/app/12.1.0/grid
chown grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
chown -R grid:oinstall /u01
修改用户密码
passwd grid
passwd oracle
1.3配置/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
1.4 设置ORACLE环境变量
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1;
export ORACLE_SID=prod;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export NLS_DATE_FORMAT="yyyy-mm-ddHH24:MI:SS";
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;
1.5 修改/etc/hosts
增加主机名
2 静默安装
2.1 安装
2.1.1 编辑自动应答文件
ORACE安装本身需要和用户进行一些互动,如果想取消这些互动就必须提前将回复的内容写到一个文件中,这个文件就是自动应答文件,接下去我们开始制作该该文件。
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=slave
UNIX_GROUP_NAME=dba
INVENTORY_LOCATION=/u01/app/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/u01/app/oracle/product/12.1.0/db_1
ORACLE_BASE=/ u01/app/oracle/product/12.1.0
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.BACKUPDBA_GROUP=dba
oracle.install.db.DGDBA_GROUP=dba
oracle.install.db.KMDBA_GROUP=dba
oracle.install.db.isRACOneInstall=false
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
oracle.installer.autoupdates.option=SKIP_UPDATES
2.1.2 安装
命令如下:
./runInstaller-silent -noconfig -ignorePrereq -responseFile /home/oracle/database/db.rsp查看安装过程
可以到/opt/app/oraInventory/logs目录下查看安装进度
最后出现如下:
…………………..
INFO:Completed validating state <finish>
INFO:Terminating all background operations
INFO:Terminated all background operations
INFO:Successfully executed the flow in SILENT mode
INFO:Dispose the current Session instance
INFO:Dispose the install area control object
INFO:Update the state machine to STATE_CLEAN
INFO:Finding the most appropriate exit status for the current application
INFO:Exit Status is 0
INFO:Shutdown Oracle Database 12c Release 1 Installer
--------------------------------------------------------------------------------
安装成功提示执行脚本
l7database]$ You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2015-01-01_06-09-15PM.log
[oracle@oel7database]$ The installation of Oracle Database 12c was successful.
Pleasecheck '/u01/app/oraInventory/logs/silentInstall2015-01-01_06-09-15PM.log' formore details.
As aroot user, execute the following script(s):
1. /u01/app/oraInventory/orainstRoot.sh
2./u01/app/oracle/product/12.1.0/db_1/root.sh
SuccessfullySetup Software.
Asinstall user, execute the following script to complete the configuration.
1./u01/app/oracle/product/12.1.0/db_1/cfgtoollogs/configToolAllCommandsRESPONSE_FILE=<response_file>
Note:
1. This script must be run on the samehost from where installer was run.
2. This script needs a small passwordproperties file for configuration assistants that require passwords (refer toinstall guide documentation).
2.1.3 参数含义
-silent 表示以静默方式安装,不会有任何提示
-force 允许安装到一个非空目录
-noconfig 表示不运行配置助手netca
-responseFile 表示使用哪个响应文件,必需使用绝对路径
oracle.install.responseFileVersion 响应文件模板的版本,该参数不要更改
oracle.install.option 安装选项,本例只安装oracle软件,该参数不要更改
DECLINE_SECURITY_UPDATES 是否需要在线安全更新,设置为false,该参数不要更改
ORACLE_HOSTNAME 安装主机名
UNIX_GROUP_NAME oracle用户用于安装软件的组名
INVENTORY_LOCATION oracle产品清单目录
SELECTED_LANGUAGES oracle运行语言环境,一般包括引文和简繁体中文
ORACLE_HOME Oracle安装目录
ORACLE_BASE oracle基础目录
oracle.install.db.InstallEdition 安装版本类型,一般是企业版
oracle.install.db.isCustomInstall 是否定制安装,默认Partitioning,OLAP,RAT都选上了
oracle.install.db.customComponents 定制安装组件列表:除了以上默认的,可加上Label Security和Database Vault
oracle.install.db.DBA_GROUP oracle用户用于授予OSDBA权限的组名
oracle.install.db.OPER_GROUP oracle用户用于授予OSOPER权限的组名
2.2 静默配置监听
2.2.1 配置应答文件
[GENERAL]
RESPONSEFILE_VERSION="12.1"
CREATE_TYPE="CUSTOM"
[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"}
2.2.2 执行
#netca-silent -responseFile /home/oracle/netca.rsp
执行如下:
Parsingcommand line arguments:
Parameter "silent" = true
Parameter "responsefile" =/home/oracle/netca.rsp
Doneparsing command line arguments.
OracleNet Services Configuration:
Profileconfiguration complete.
OracleNet Listener Startup:
Running Listener Control:
/u01/app/oracle/product/12.1.0/db_1/bin/lsnrctl start LISTENER
Listener Control complete.
Listener started successfully.
Listenerconfiguration complete.
OracleNet Services configuration successful. The exit code is 0
2.2.3 配置本地tnsname.ora 文件
PROD3 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.203)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = prod3)
)
)
远程链接,节点关闭防火墙!
2.3 静默建库
2.3.1 生成响应文件模板:
$ vi $DISTRIB/db_create.rsp
#--------------------------------------------------------------------
#以下参数不要更改
[GENERAL]
RESPONSEFILE_VERSION = "12.1.0"
OPERATION_TYPE = "createDatabase"
#以下参数必须设置
[CREATEDATABASE]
GDBNAME = "ORCL"
TEMPLATENAME = "General_Purpose.dbc"
#以下参数不设置则使用默认值,建议设置
TOTALMEMORY = "512"
2.3.2 静默建库
种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/下, 即Seed_Database.dfb和Seed_Database.ctl文件, 实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的.
$ dbca -silent -responseFile $DISTRIB/db_create.rsp
Enter SYS user password:
<输入sys用户密码>
Enter SYSTEM user password:
<输入system用户密码>
各参数含义如下:
-silent 表示以静默方式安装
-responseFile 表示使用哪个响应文件,必需使用绝对路径
RESPONSEFILE_VERSION响应文件模板的版本,该参数不要更改
OPERATION_TYPE安装类型,该参数不要更改
GDBNAME 全局数据库名,点号前面默认是db_name,点号后面默认就是db_domain
TEMPLATENAME建库模板名,参考各模板定义:$ORACLE_HOME/assistants/dbca/templates/*.dbc
CHARACTERSET字符集,默认是WE8MSWIN1252
TOTALMEMORY实例内存,默认是服务器物理内存的40%
2.3.3 安装进度
$ tail -f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log
2.4 静默删库
2.4.1 生成响应文件模板:
$ vi $DISTRIB/db_delete.rsp
#以下参数无需修改更改
[GENERAL]
RESPONSEFILE_VERSION = "12.1.0"
OPERATION_TYPE = "deleteDatabase"
#以下参数根据实际情况更改
[DELETEDATABASE]
SOURCEDB = "ORCL"
#--------------------------------------------------------------------
2.4.2 删库
$ dbca -silent -responseFile $DISTRIB/db_delete.rsp
各参数含义如下:
-silent 表示以静默方式删除
-responseFile 表示使用哪个响应文件,必需使用绝对路径
RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改
OPERATION_TYPE 安装类型,该参数不要更改
SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain
3) 查看日志信息了解进度:
$ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log