Oracle 11.2 静默安装脚本
cat db_init.sh.20190401
#!/bin/bash
####安装Oracle所需依赖包
function install_yum()
{
  yum -y install $1
}
i="perl-Data-Dumper lvm2* unzip rlwrap screen binutils binutils-devel compat-db control-center control-center-devel
compat-libstdc++-* elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static
expat expat-devel gcc gcc-c++ glibc libaio libaio-devel libgcc libstdc++ libstdc++-devel
libXp libXp-devel make openmotif openmotif-devel ksh unixODBC unixODBC-devel mdadm readline*"
for j in $i
do
  install_yum $j
done
################ 软raid 0
m1=`ls /dev/* |grep md0`
if [ ! -n "$m1" ]
then
  ra=`ls /dev/vd*|grep -v vda`
  rb=`ls /dev/vd*|grep -v vda|wc -l`
  if [ $rb -eq 0 ]
  then
    echo "no init partition storage"
  else
    mdadm -C /dev/md0 -l raid0 -n $rb $ra
    mkfs.ext4 /dev/md0
    mdadm -E -s -v >> /etc/mdadm.conf
    mkdir /u02
    mount /dev/md0 /u02
    echo '/dev/md0 /u02 ext4 defaults 0 0'>>/etc/fstab
  fi
else
  echo 'Md0 has been created'
fi
####配置/etc/hosts
ip_dir=`ifconfig |grep inet|grep -v '127.0.0.1'|awk '{print $2}'|sed -n '1p'`
hname=`hostname`
red=`cat /etc/hosts|grep "$hname"|wc -l`
if [ $red -eq 1 ]
then
  echo "/etc/hosts is OK Nothing to do"
else
  echo "$ip_dir" "$hname" >>/etc/hosts
  echo "/etc/hosts is OK"
fi
####创建Oracle数据库安装所需多个目录与Oracle账户
groupadd -g 501 oinstall
groupadd -g 502 dba
groupadd -g 503 oper
useradd  -u 501  -g  oinstall  -G dba,oper oracle
echo oracle:oracle | chpasswd
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
hostname=`hostname`
echo '
PATH=$PATH:$HOME/bin
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=paydb
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$HOME/bin:$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch/
export TMP=/tmp
export TMPDIR=/tmp
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LC_TYPE=en_US.UTF-8
export PATH
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"
alias trace="cd /u01/app/oracle/diag/rdbms/paydb/paydb/trace"
alias dbs="cd /u01/app/oracle/product/11.2.0/db_1/dbs"
alias tns="cd /u01/app/oracle/product/11.2.0/db_1/network/admin"
alias arch="cd /u02/paydb/archivelog"
alias backup="cd /u02/paydb/backup"
alias redo="cd /u02/paydb/redo"
alias data="cd /u02/paydb/oradata"
alias awr="cd /u01/app/oracle/product/11.2.0/db_1/rdbms/admin"
alias listener="cd /u01/app/oracle/diag/tnslsnr/"$hostname"/listener/trace/"
'>>/home/oracle/.bash_profile
su - oracle <<EOF
source .bash_profile
EOF
mkdir -p  /u01/app/oracle/product/11.2.0/db_1
mkdir -p  /u01/app/oraInventory
chown -R  oracle:oinstall /u01/app
chmod -R  775  /u01/app/oracle
#mkdir /u02
#mount /dev/md0 /u02
mkdir /u02/paydb/{oradata,archivelog,redo,standby,backup/{dump,rman}} -p
chown -R  oracle:oinstall /u02/paydb/
chmod -R  775  /u02/paydb/
mkdir -p /u04/oracle
id oracle
uid=`echo $?`
if [ $uid -eq 0 ]
then
  echo "User: Oracle is Created"
else
  echo "User: Oracle is Wrong"
  echo "Pleas check!"
  exit
fi
####配置系统内核
g=`free -b|grep Mem|awk '{print $2}'`
h=$(($g*4/5))
shmall=$(($h/4096))
echo "
#oracle
kernel.sysrq = 0
kernel.msgmnb = 65536
kernel.shmall = $shmall
fs.file-max = 6815744
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65536
kernel.sem = 250 32000 100 142
kernel.shmmni = 4096
kernel.shmmax = $h
kernel.sysrq = 0
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 3145728
net.ipv4.ip_local_port_range = 9000 65500
vm.min_free_kbytes = 51200" >> /etc/sysctl.conf
/sbin/sysctl -p
echo "session required pam_limits.so">> /etc/pam.d/login
echo "
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536" >>/etc/security/limits.conf
echo '
if [ $USER = "oracle" ]||[ $USER = "grid" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
 ulimit -p 16384
 ulimit -n 65536
 else
 ulimit -u 16384 -n 65536
 fi
 umask 022
fi'>>/etc/profile
source /etc/profile
##解压缩Oracle安装软件
udir=/u04/oracle/database
if [ -e $udir ]
then
  echo "Oracle soft has been created"
  exit
else
  unzip /tmp/p13390677_112040_Linux-x86-64_1of7.zip -d  /u04/oracle
  unzip /tmp/p13390677_112040_Linux-x86-64_2of7.zip -d  /u04/oracle
  ox=`echo $?`
  if [ $ox -eq 0 ]
  then
    echo "Unzip oracle soft is right"
  else
    echo "Unzip oracle soft is wrong"
    exit
  fi
fi
##安装Oracle软件
m=`find /u04 -name db_install.rsp`
function replace_install()
{
sed -i 's/'$1'/'$2'/g' $3
}
replace_install "oracle.install.option="  "oracle.install.option=INSTALL_DB_SWONLY"  $m
replace_install "ORACLE_HOSTNAME="        "ORACLE_HOSTNAME=$hname"  $m
replace_install "UNIX_GROUP_NAME="        "UNIX_GROUP_NAME=oinstall"  $m
replace_install "INVENTORY_LOCATION="     "INVENTORY_LOCATION=\/u01\/app\/oraInventory"  $m
replace_install "SELECTED_LANGUAGES=en"   "SELECTED_LANGUAGES=en,zh_TW,zh_CN"  $m
replace_install "ORACLE_HOME="            "ORACLE_HOME=\/u01\/app\/oracle\/product\/11.2.0\/db_1"  $m
replace_install "ORACLE_BASE="            "ORACLE_BASE=\/u01\/app\/oracle"  $m
replace_install "oracle.install.db.InstallEdition="  "oracle.install.db.InstallEdition=EE"  $m
replace_install "oracle.install.db.DBA_GROUP="       "oracle.install.db.DBA_GROUP=dba"  $m
replace_install "oracle.install.db.OPER_GROUP="      "oracle.install.db.OPER_GROUP=oper"  $m
replace_install "oracle.install.db.CLUSTER_NODES="   "#oracle.install.db.CLUSTER_NODES="  $m
replace_install "SECURITY_UPDATES_VIA_MYORACLESUPPORT="  "SECURITY_UPDATES_VIA_MYORACLESUPPORT=false"  $m
replace_install "DECLINE_SECURITY_UPDATES="              "DECLINE_SECURITY_UPDATES=true"  $m
replace_install "oracle.installer.autoupdates.option="   "oracle.installer.autoupdates.option=SKIP_UPDATES"  $m
n=`find /u04 -name runInstaller`
su - oracle >>ora_install.log <<EOF
$n -silent -responseFile $m -ignoreSysPrereqs -ignorePrereq
EOF
sleep 300
sh /u01/app/oraInventory/orainstRoot.sh
sh /u01/app/oracle/product/11.2.0/db_1/root.sh
p=`cat ora_install.log |grep -w 'Successfully Setup Software.'`
r='Successfully Setup Software.'
if [ "$p" = "$r" ]
then
  echo "ora_soft_install is right"
else
  echo "ora_soft_install is wrong"
  exit
fi
####create netca###netca -silent -responseFile /u04/oracle/database/response/netca.rsp
s=`find /u04 -name netca.rsp`
su - oracle >> net.log <<EOF
netca -silent -responseFile $s
EOF
t=`echo $?`
if [ $t -eq 0 ]
then
  echo "netca is right"
else
  echo "netca is wrong"
  exit
fi
echo '
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = paydb)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = paydb)
    )
  )
'>> $ORACLE_HOME/network/admin/listener.ora
su - oracle <<EOF
lsnrctl stop
lsnrctl start
EOF
####create database####dbca -silent -responseFile /u04/oracle/database/response/dbca.rsp
v=`find /u04 -name dbca.rsp`
sed -i 's/GDBNAME = "orcl11g.us.oracle.com"/GDBNAME = "paydb"/g' $v
sed -i 's/SID = "orcl11g"/SID = "paydb"/g' $v
sed -i 's/#SYSPASSWORD = "password"/SYSPASSWORD = "oracle"/g' $v
sed -i 's/#SYSTEMPASSWORD = "password"/SYSTEMPASSWORD = "oracle"/g' $v
sed -i 's/#EMCONFIGURATION = "NONE"/EMCONFIGURATION = "NONE"/g' $v
sed -i 's/#SYSMANPASSWORD = "password"/SYSMANPASSWORD = "oracle"/g' $v
sed -i 's/#DBSNMPPASSWORD = "password"/DBSNMPPASSWORD = "oracle"/g' $v
sed -i 's/#CHARACTERSET = "US7ASCII"/CHARACTERSET = "ZHS16GBK"/g' $v
sed -i 's/#MEMORYPERCENTAGE = "40"/MEMORYPERCENTAGE = "70"/g' $v
sed -i 's#{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}#/u02/paydb/oradata#g' /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc
red=`cat /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/General_Purpose.dbc|grep -w "/u02/paydb/oradata"|wc -l`
if [ $red -eq 10 ]
then
  echo "Sed dbca.rsp & General_Purpose.dbc is OK"
else
  echo "Sed dbca.rsp & General_Purpose.dbc is Wrong"
  exit
fi
su - oracle >>dbca.log <<EOF
dbca -silent -responseFile $v
EOF
x=$?
if [ $x -eq 0 ]
then
  echo "dbca is right!"
else
  echo "dbca is wrong!"
  exit
fi
####变更Oracle参数
su - oracle <<EOF
sqlplus / as sysdba << S
alter system set processes=5000 scope=spfile;
alter system set session_cached_cursors=1000 scope=spfile;
alter system set open_cursors=1000 scope=spfile;
alter system set log_archive_dest_1='location=/u02/paydb/archivelog';
create pfile from spfile;
shutdown immediate;
exit;
S
sqlplus / as sysdba << Z
startup mount;
alter database archivelog;
alter database open;
create pfile from spfile;
create directory dump as '/u02/paydb/backup/dump/';
alter tablespace users add datafile '/u02/paydb/oradata/users02.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users03.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users04.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users05.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users06.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users07.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users08.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users09.dbf' size 10G;
alter tablespace users add datafile '/u02/paydb/oradata/users10.dbf' size 10G;
create tablespace DBADMIN datafile '/u02/paydb/oradata/dbadmin_data01' size 500M;
create user dbadmin identified by QazWsx12 default tablespace DBADMIN;
grant dba to dbadmin;
grant read,write on directory dump to dbadmin;
grant select on v\_\$database to dbadmin;
grant select on v\_\$instance to dbadmin;
grant select on dba_free_space to dbadmin;
grant select on DBA_HIST_SYSMETRIC_SUMMARY to dbadmin;
grant select on v\_\$archived_log to dbadmin;
grant select on dba_data_files to dbadmin;
grant select on V\_\$SGAINFO to dbadmin;
grant select on dba_temp_free_space to dbadmin;
grant select on dba_temp_files to dbadmin;
GRANT SELECT ON V\_\$SQLAREA TO dbadmin;
grant select on v\_\$sqlarea to dbadmin;
exit;
Z
EOF
echo "Oracle install is OK!"
#################################################################flyway init
yum -y install java
mkdir -p  /u10/flyway
unzip     /tmp/flyway-commandline-4.2.0-windows-x64.zip -d /u10/flyway
flyway_home=/u10/flyway/flyway-4.2.0/
flyway_conf=/u10/flyway/flyway-4.2.0/conf/flyway.conf
flyway_sql=/u10/flyway/flyway-4.2.0/sql/db/migration
flyway_drivers=/u10/flyway/flyway-4.2.0/drivers
cp        /tmp/ojdbc6.jar  $flyway_drivers
ln -s /u10/flyway/flyway-4.2.0/flyway /usr/bin/flyway
cd /u10/flyway/flyway-4.2.0
chmod 777 sql
#a=`who|awk '{print $1}'`
#cd
echo "alias fly='cd /u10/flyway/flyway-4.2.0'" >>/etc/profile
source /etc/profile
ip_dir=`ifconfig |grep inet|grep -v '127.0.0.1'|awk '{print $2}'|sed -n '1p'`
echo "
flyway.url= jdbc:oracle:thin:@$ip_dir:1521:paydb
flyway.user=DBADMIN
flyway.password=QazWsx12
flyway.schemas=DBADMIN
flyway.table=SCHEMA_VERSION
flyway.baselineOnMigrate=true" >> $flyway_conf
flyway  migrate
##########################安装配置Oracle管理
mkdir /u01/dba_scripts -p
mkdir /u01/dba_scripts/db_performance -p
mkdir /u01/dba_scripts/delete_archlog/log -p
mkdir /u01/dba_scripts/tabsusage/log -p
mkdir /u01/dba_scripts/rman/log -p
mkdir /u01/dba_scripts/db_info -p
mkdir /u01/dba_scripts/dbms_stats/log -p
mkdir /u01/dba_scripts/other -p
mv /tmp/db_performance_metric.sh   /u01/dba_scripts/db_performance
mv /tmp/delete_archivelog.sh       /u01/dba_scripts/delete_archlog
mv /tmp/update_tbs_info.sh         /u01/dba_scripts/tabsusage
mv /tmp/rman_full.sh               /u01/dba_scripts/rman
mv /tmp/db_information_output.sh   /u01/dba_scripts/db_info
mv /tmp/dbms_stats_tables.sh       /u01/dba_scripts/dbms_stats
cat /tmp/crontab.txt >> /var/spool/cron/oracle
chown oracle.  /u01/dba_scripts -R
chown oracle.  /var/spool/cron/oracle
mkdir /u01/dba_scripts/nmon_tool -p
mv /tmp/{nmon_x86_64_rhel6,value_nmon.sh} /u01/dba_scripts/nmon_tool/
cat /tmp/crontab_root.txt >>/var/spool/cron/root
mkdir /home/oracle/db_monitor -p
cp -a /tmp/dba_* /home/oracle/db_monitor/
chown oracle. /home/oracle/db_monitor/dba_*

Oracle 11.2 静默安装脚本的更多相关文章

  1. Oracle 12c 静默安装(脚本自动化)

    oracle 12C 自动化静默安装脚本 项目地址: github: https://github.com/spdir/oracle-single-install 下载安装脚本 wget https: ...

  2. oracle 19c dataguard silent install (oracle 19c dataguard 静默安装)

    环境说明 1.关闭透明大页 RHEL  6: # cat /sys/kernel/mm/redhat_transparent_hugepage/enabled [oracle@rhel 6 ~]$ c ...

  3. Oracle 12c RAC 静默安装文档

    参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...

  4. 【Oracle 11gR2】静默安装 db_install.rsp文件详解

    #################################################################### ## Copyright(c) Oracle Corporat ...

  5. Oracle 11g 静默安装脚本

    #!/bin/bash####安装Oracle所需依赖包function install_yum(){  yum -y install $1} i="perl-Data-Dumper lvm ...

  6. IIS命令行静默安装脚本-python

    #coding=utf8 import platform from subprocess import Popen,PIPE,STDOUT import sys,os def run_cmd(cmd, ...

  7. CentOS静默安装Oracle 11gR2(x64)

    环境 OS: CentOS 7.4; hosts: L134; IP: 192.168.1.134 DB: linux.x64_11gR2_database 安装依赖包 yum install -y ...

  8. [转]Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) --有部份地方有问题

    Oracle 11g 基于CentOS7静默安装教程(无图形界面,远程安装) [转载]原文地址:http://canonind.blog.51cto.com/8239025/1883066 一.安装前 ...

  9. Oracle 11g 静默安装过程(centos7)

    开启机器,本次实例分配的ip是:192.168.3.197(Xshell ssh连接) 2 安装unzip 工具.vim编辑器(个人习惯,vi也可以) 3 在/etc/hosts文件中添加本机IP跟主 ...

随机推荐

  1. 排查java 内存CPU报警

    #!/bin/bash source /etc/profile #接收外部传入PID,任选一种 #servicePid=$1 headPid=`ps auxw|sort -rn -k3|head -4 ...

  2. SAS学习笔记28 非参数秩和检验

    在总体分布已知的前提下对参数进行的检验,即参数检验方法(parametric test). 然而,在实际中有些资料总体分布类型未知,或者不符合参数检验的适用条件,这时可以使用不以特定的总体分布为前提, ...

  3. 将物理机系统转为虚拟机系统 p2v

    ref : https://blog.csdn.net/gsls200808/article/details/77932713 背景: 在公司有台机子主要负责某产品的升级与维护,出于各种原因,该产品需 ...

  4. Go part 4 数据容器(数组,slice,string,map,syncMap,list)

    数组 数组是值类型,因此改变副本的值,不会影响到本身 数组的定义:var 变量名 [元素数量] T 变量名(符合标识符要求即可) 元素数量(整型,可以是const中的值) T(可以是任意基本类型,包括 ...

  5. C++标准库里自带的数值类型和字符串互相转换函数

    需要包含头文件 #include <string> 数值类型转成string类型: string to_string(int val); string to_string(unsigned ...

  6. 转:基于Maven管理的JavaWeb项目目录结构参考

    通常在创建JavaWeb项目时多多少少都会遵循一些既定的比较通用的目录结构,下面分享一张基于Maven管理的JavaWeb项目目录结构参考图: 上图仅是参考,不同项目不同团队都有自己的约定和规范. 个 ...

  7. css Cascading Style Sheet 层叠样式表

    作用 :实现网页布局,美化页面元素 CSS 在文档中的三种方式 1 行内样式/内联样式 特点:在具体的html标签中引入css 代码 语法: 所有的html标签都具有一个style属性,属性值就可以使 ...

  8. JDK8 dockerfile

    # AlpineLinux with a glibc-2.28-r0 and Oracle Java 8FROM hub.devops.docker.com/library/alpine-glibc: ...

  9. jdk在window系统中的配置

    其实配置很简单,百度上很多配置的复杂化了,今天办公室的某小白百度了半天也没有配置好.   我使用的是Linux ,就很多简单了很多编译器都是集成的,尤其是现在kali linux 系统觉得做得越来也好 ...

  10. Scyther-Semantics and verification of Security Protocol 翻译 (第二章 2.2.2----2.3)

    2.2.2  事件顺序 协议中的每个角色对应于事件列表,换句话说, 在属于角色 R 的协议事件集上施加结构,总的排序表示为 $ \prec $ , 如此任何角色 R∈Role 和 $\varepsil ...