Oracle 11g 静默安装,参数小优化,脚本安装

官方下载链接:
https://www.oracle.com/middleware/technologies/goldengate-downloads.html

一、软件环境

CentOS7.5

二、脚本

shell-1

这里是root用户
注意,如果这里修改了里面的参数,请保持上下一致

vim 1.sh
cat >> /home/oracle/.bash_profile << EOF
umask 022
export ORACLE_TERM=xterm
#export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_HOSTNAME=oracledb
export ORACLE_BASE=/app/ora/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0
export ORACLE_SID=ORCL
export PATH=.:\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$ORACLE_HOME/jdk/bin:\$PATH
export LC_ALL="en_US"
export LANG="en_US"
#export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
EOF

# 修改shm的大小
sed -i -e '/\/dev\/shm/d' /etc/fstab
cat >> /etc/fstab << EOF
tmpfs /dev/shm tmpfs defaults,size=4096M 0 0
EOF

source /etc/profile
sh 1.sh

注意,必须等脚本执行结束才能执行下一个脚本

shell-2

这里是oracle用户

vim 2.sh
#!/bin/sh
hostname=oracledb
set -x

rm -rf /app/ora/etc/*
mkdir  /app/ora/etc/
cp /app/ora/database/response/db_install.rsp /app/ora/etc/
sed -i \
-e 's|^oracle.install.option=.*|oracle.install.option=INSTALL_DB_SWONLY|' \
-e 's|^UNIX_GROUP_NAME=.*|UNIX_GROUP_NAME=oinstall|' \
-e 's|^INVENTORY_LOCATION=.*|INVENTORY_LOCATION=/app/ora/oraInventory|' \
-e 's|^SELECTED_LANGUAGES=.*|SELECTED_LANGUAGES=en,zh_CN|' \
-e 's|^ORACLE_HOSTNAME=.*|ORACLE_HOSTNAME=${hostname}|' \
-e 's|^ORACLE_HOME=.*|ORACLE_HOME=/app/ora/oracle/product/11.2.0|' \
-e 's|^ORACLE_BASE=.*|ORACLE_BASE=/app/ora/oracle|' \
-e 's|^oracle.install.db.InstallEdition=.*|oracle.install.db.InstallEdition=EE|' \
-e 's|^oracle.install.db.isCustomInstall=.*|oracle.install.db.isCustomInstall=true|' \
-e 's|^oracle.install.db.DBA_GROUP=.*|oracle.install.db.DBA_GROUP=dba|' \
-e 's|^oracle.install.db.OPER_GROUP=.*|oracle.install.db.OPER_GROUP=dba|' \
-e 's|^oracle.install.db.config.starterdb.type=.*|oracle.install.db.config.starterdb.type=GENERAL_PURPOSE|' \
-e 's|^oracle.install.db.config.starterdb.globalDBName=.*|oracle.install.db.config.starterdb.globalDBName=orcl|' \
-e 's|^oracle.install.db.config.starterdb.SID=.*|oracle.install.db.config.starterdb.SID=orcl|' \
-e 's|^oracle.install.db.config.starterdb.memoryLimit=.*|oracle.install.db.config.starterdb.memoryLimit=512|' \
-e 's|^oracle.install.db.config.starterdb.password.ALL=.*|oracle.install.db.config.starterdb.password.ALL=oracle|' \
-e 's|^DECLINE_SECURITY_UPDATES=.*|DECLINE_SECURITY_UPDATES=true|' \
/app/ora/etc/db_install.rsp

cd /app/ora/database
./runInstaller -silent -responseFile /app/ora/etc/db_install.rsp -ignorePrereq
sh 2.sh

shell-3

这里是root用户

sh /app/ora/oraInventory/orainstRoot.sh
sh /app/ora/oracle/product/11.2.0/root.sh

这里是oracle用户

vim 3.sh

注意这里对文件内容参数的修改,请先自己执行其中的几条sed命令试试能不能修改,这里出现过同为11g版本,解压安装出现不同内容的情况,导致修改失败,万一也失败了,重新改完执行就基本问题不大

#!/bin/sh
set -x

source ${HOME}/.bash_profile
cp /app/ora/database/response/netca.rsp /app/ora/etc/
netca /silent /responsefile /app/ora/etc/netca.rsp
sleep 10
netstat -tnpl | grep 1521

cp /app/ora/database/response/dbca.rsp /app/ora/etc/
sed -i \
-e 's|.*RESPONSEFILE_VERSION\s*=.*|RESPONSEFILE_VERSION = "11.2.0"|' \
-e 's|.*OPERATION_TYPE\s*=.*|OPERATION_TYPE = "createDatabase"|' \
-e 's|.*GDBNAME\s*=.*|GDBNAME = "orcl"|' \
-e 's|.*SID\s*=.*|SID = "orcl"|' \
-e 's|.*SYSPASSWORD\s*=.*|SYSPASSWORD = "oracle"|' \
-e 's|.*SYSTEMPASSWORD\s*=.*|SYSTEMPASSWORD = "oracle"|' \
-e 's|.*SYSMANPASSWORD\s*=.*|SYSMANPASSWORD = "oracle"|' \
-e 's|.*DBSNMPPASSWORD\s*=.*|DBSNMPPASSWORD = "oracle"|' \
-e 's|.*DATAFILEDESTINATION\s*=.*|DATAFILEDESTINATION = /app/ora/oracle/oradata|' \
-e 's|.*RECOVERYAREADESTINATION\s*=.*|RECOVERYAREADESTINATION = /app/ora/oracle/fast_recovery_area|' \
-e 's|.*CHARACTERSET\s*=.*|CHARACTERSET = "AL32UTF8"|' \
-e 's|.*TOTALMEMORY\s*=.*|TOTALMEMORY = "1638"|' \
/app/ora/etc/dbca.rsp

dbca -silent -responseFile /app/ora/etc/dbca.rsp
sleep 10

ps -ef | grep ora_ | grep -v grep

lsnrctl status

cp -v $(find /app/ora/oracle/admin/orcl/pfile/ -name "init.ora*") /app/ora/oracle/product/11.2.0/dbs/initORCL.ora

exit
sh 3.sh

注:如果这里出现长时间不执行的情况,请手动执行每一条命令
正常执行完毕就可以登录oracle:sqlplus / as sysdba

shell-4

这里是root用户

vim 4.sh
#!/bin/sh

set -x

sed -i 's|^ORACLE_HOME_LISTNER=.*|ORACLE_HOME_LISTNER=\$ORACLE_HOME|' /app/ora/oracle/product/11.2.0/bin/dbstart
sed -i 's|^ORACLE_HOME_LISTNER=.*|ORACLE_HOME_LISTNER=\$ORACLE_HOME|' /app/ora/oracle/product/11.2.0/bin/dbshut

sed -i 's|:N$|:Y|' /etc/oratab

cat >> /etc/rc.d/init.d/oracle << EOF
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "\$1" in
'start')
   if [ -f \$LOCKFILE ]; then
      echo \$0 already running.
      exit 1
   fi
   echo -n \$"Starting Oracle Database:"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/lsnrctl start"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/dbstart \$ORACLE_HOME"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/emctl start dbconsole"
   touch \$LOCKFILE
   ;;
'stop')
   if [ ! -f \$LOCKFILE ]; then
      echo \$0 already stopping.
      exit 1
   fi
   echo -n \$"Stopping Oracle Database:"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/lsnrctl stop"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/dbshut"
   su - \$ORACLE_USER -c "\$ORACLE_HOME/bin/emctl stop dbconsole"
   rm -f \$LOCKFILE
   ;;
'restart')
   \$0 stop
   \$0 start
   ;;
'status')
   if [ -f \$LOCKFILE ]; then
      echo \$0 started.
      else
      echo \$0 stopped.
   fi
   ;;
*)
   echo "Usage: \$0 [start|stop|status]"
   exit 1
esac
exit 0
EOF

chmod +x /etc/init.d/oracle

systemctl enable oracle

chown -R oracle:oinstall /var/tmp/.oracle

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值