oracle 11g 自动安装
ps:真的费了很大的精力写成了交互式的自动安装,分成了两个部分
一:
#!/bin/bash
#uthor : shan dong jia you
# create date : 2018-05-22
# oracle version : 11gr2
# linux version : redhat 7.4
# ram : 2G
############################################################
isroot()
{
if [[ ${user} -lt root ]];then
echo -e”\n\e[1;31mthis script must be executed as root. \e[0m”
exit 1
else
echo -e “\n\e[1;36muser is root ! \e[0m”
fi
}
mount_iso()
{
if [ -f /usr/local/src/rhel-server-7.4-x86_64-dvd.iso ];then
echo -e “\n\e[1;36m rhel-server-7.4-x86_64-dvd.iso file is exsit! \e[0m”
mkdir -p /media/iso && mount -t iso9660 -o loop /usr/local/src/rhel-server-7.4-x86_64-dvd.iso /media/iso >> /dev/null
if [ $? -eq 0 ];then
echo -e “\n\e[1;36m mounted is secussful! \e[0m”
fi
else
echo -e “\n\e[1;31m rhel-server-7.4-x86_64-dvd.iso file is not exsit!”
exit 3
fi
}
yum_repo()
{
rm -rf /etc/yum.repos.d/* && cat << EOF >>/etc/yum.repos.d/iso.repo
[ISO]
name=myrepo
baseurl=file:///media/iso
enabled=1
gpgcheck=0
gpgkey=file:///media/iso/RPM-GPG-KEY-redhat-release
EOF
if [ $? -eq 0 ];then
echo -e “\n\e[1;36mcreate iso.repo secussful! \e[0m”
else
echo -e “\n\e[1;31mcreate iso.repo fail! \e[0m”
fi
}
packagecheck()
{
for package in binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
do
rpm -qa $package 2 > /dev/null
if [[ $? -eq 0 ]];then
yum -y install $package
echo -e “\n\e[1;36m $package in already installed! \e[0m”
else
echo -e “\n\e[1;31m install is error! \e[0m”
fi
done
cd /usr/local/src
rpm -ivh –force –nodeps compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -ivh –force –nodeps compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh –force –nodeps libaio-devel-0.3.105-2.i386.rpm
rpm -ivh –force –nodeps libgcc-3.4.6-3.i386.rpm
rpm -ivh –force –nodeps libstdc++-3.4.6-3.1.i386.rpm
rpm -ivh –force –nodeps unixODBC-2.2.11-7.1.i386.rpm
rpm -ivh –force –nodeps unixODBC-devel-2.2.11-7.1.i386.rpm
yum -y install bc >> /dev/null
}
#修改主机名
hostname()
{
hostnamectl set-hostname $1
}
#主机名与IP解析
hosts()
{
echo $1 $2 >> /etc/hosts
}
#设置selinux宽松模式
setenforce 0
#不要用useradd命名函数
iuseradd()
{
if [[ `cat /etc/group | grep “oinstall” | awk -F : ‘{print $1}’` = “” ]];then
groupadd oinstall
echo -e “\n\e[1;36m create group oinstall succsess! \e[0m”
else
echo -e “\n\e[1;31mgroup oinstall is already! \e[0m”
fi
if [[ `cat /etc/group | grep “dba” | awk -F : ‘{print $1}’` = “” ]];then
groupadd dba
echo -e “\n\e[1;36m create group dba succsess! \e[0m”
else
echo -e “\n\e[1;31mgroup dba is already! \e[0m”
fi
if [[ `cat /etc/passwd | grep “oracle” | awk -F : ‘{print $1}’` = “” ]];then
useradd -g oinstall -G dba oracle
echo -e “\n\e[1;36m create user oracle is success! \e[0m”
else
echo -e “\a\n\e[1;31moracle用户已存在!\e[0m”
fi
if [ $? -eq 0 ];then
echo $1 | passwd oracle –stdin
else
echo -e “\n\e[1;31m create is fail \e[0m”
fi
}
sysctl_1()
{
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $1
kernel.shmmax = $2
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048575
EOF
sysctl -p
}
ilimits()
{
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF
}
ologin()
{
abc=`find / -name pam_limits.so`
sleep 5
cat >> /etc/pam.d/login << EOF
session required ${abc}
EOF
}
iprofile()
{
path=`cat /home/oracle/.bash_profile | grep PATH | awk -F = ‘{print $2}’`
cat >> /home/oracle/.bash_profile << EOF
export ORACLE_BASE=$1
export ORACLE_HOME=$2
export ORACLE_SID=orcl
export PATH=\$PATH:\$ORACLE_HOME/bin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib
EOF
source /home/oracle/.bash_profile
}
idir()
{
mkdir -p ${ioracle_home}
chmod 755 -R ${ioracle_home}
chown -R oracle:oinstall ${ibase}
}
yum_unzip()
{
yum -y install unzip
}
unzip_oracle()
{
cd $1
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
}
isroot
mount_iso
yum_repo
packagecheck
echo -e “\a\n\e[1;36m请输入你的主机名:\e[0m”
#修改了输入后无法修改的问题
stty erase ^H
read name
hostname $name
echo -e “\a\n\e[1;36m请输入你的ip: \e[0m”
stty erase ^H
read ip
hosts ${ip} ${name}
echo -e “\n\e[1;36m请输入oracle用户密码: \e[0m”
stty erase ^H
read oracle_passwd
iuseradd ${oracle_passwd}
echo -e “\a\n\e[1;31m请输入你的系统内存(以G为标准,只输入数字): \e[0m”
stty erase ^H
read iram
ishmall=`echo “scale=1;${iram} * 1024 * 1024 / 4 * 0.6” | bc`
ishmmax=`echo “scale=1;${iram} * 1024 * 1024 * 1024 * 0.6” | bc`
sysctl_1 ${ishmall%.*} ${ishmmax%.*}
ilimits
ologin
echo -e “\n\e[1;36m请输入 ORACLE_BASE: \e[0m”
stty erase ^H
read ibase
echo -e “\n\e[1;36m请输入 ORACLE_HOME: \e[0m”
stty erase ^H
read ioracle_home
iprofile ${ibase} ${ioracle_home}
idir
yum_unzip
echo -e ‘\n\e[1;36m请输入你的源码存放路径(/usr/local/src): \e[0m’
stty erase ^H
read sound_code
unzip_oracle ${sound_code}
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
INSTALL_DB_SWONLY
INSTALL_DB_AND_CONFIG
UPGRADE_DB
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e “\a\n\e[1;36m填写你需要安装类型:\e[0m”
stty erase ^H
read a
case $a in
INSTALL_DB_SWONLY)
sed -i ‘s/oracle.install.option=/&INSTALL_DB_SWONLY/’ /usr/local/src/database/response/db_install.rsp
;;
INSTALL_DB_AND_CONFIG)
sed -i ‘s/oracle.install.option=/&INSTALL_DB_AND_CONFIG/’ /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;31m填写错误 \e[0m”
exit 1
esac
sed -i “s/ORACLE_HOSTNAME=/&${name}/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入oracle的附属主组:\e[0m’
stty erase ^H
read c
sed -i “s/UNIX_GROUP_NAME=/&$c/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入oracle产品清单的路径:\e[0m’
stty erase ^H
read z
#所赋值为路径,分隔符用%
sed -i “s%INVENTORY_LOCATION=%&$z%” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
en
zh_CN
en,zh_CN
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入数据库的语言: \e[0m’
stty erase ^H
read e
case $e in
en)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
zh_CN)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
en,zh_CN)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;31m输入有误\e[0m”
exit 1
esac
sed -i “s%ORACLE_HOME=%&${ioracle_home}%” /usr/local/src/database/response/db_install.rsp
sed -i “s%ORACLE_BASE=%&${ibase}%” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
EE (企业版)
SE(标准版)
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入你要安装oracle数据库的版本:\e[0m’
stty erase ^H
read h
case $h in
EE)
sed -i “s/oracle.install.db.InstallEdition=/&$h/” /usr/local/src/database/response/db_install.rsp
;;
SE)
sed -i “s/oracle.install.db.InstallEdition=/&$h/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e ‘\a\n\e[1;36m输入有误 \e[0m’
exit 1
esac
echo -e ‘\a\n\e[1;36m请输入数据库管理组:\e[0m’
stty erase ^H
read i
sed -i “s/oracle.install.db.DBA_GROUP=/&$i/” /usr/local/src/database/response/db_install.rsp
sed -i “s/oracle.install.db.OPER_GROUP=/&$c/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
GENERAL_PURPOSE
DATA_WAREHOUSE
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入你的数据库用途: \e[0m’
stty erase ^H
read k
case $k in
GENERAL_PURPOSE)
sed -i “s/oracle.install.db.config.starterdb.type=/&$k/” /usr/local/src/database/response/db_install.rsp
;;
DATA_WAREHOUSE)
sed -i “s/oracle.install.db.config.starterdb.type=/&$k/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;32m输入错误 \e[0m”
esac
echo -e ‘\a\n\e[1;36m请输入全局数据库的名字: \e[0m’
stty erase ^H
read l
sed -i “s/oracle.install.db.config.starterdb.globalDBName=/&$l/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入SID:\e[0m’
stty erase ^H
read m
sed -i “s/oracle.install.db.config.starterdb.SID=/&$m/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
AL32UTF8
ZHS16GBK
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入字符集:\e[0m’
stty erase ^H
read n
case $n in
AL32UTF8)
sed -i “s/oracle.install.db.config.starterdb.characterSet=/&$n/” /usr/local/src/database/response/db_install.rsp
;;
ZHS16GBK)
sed -i “s/oracle.install.db.config.starterdb.characterSet=AL32UTF8/oracle.install.db.config.starterdb.characterSet=ZHS16GBK/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e ‘\a\n\e[1;31m输入有误 \e [0m’
exit 1
esac
echo -e ‘\a\n\e[1;36m设置数据库密码:\e[0m’
stty erase ^H
read o
sed -i “s/oracle.install.db.config.starterdb.password.ALL=/&$o/” /usr/local/src/database/response/db_install.rsp
sed -i “s/DECLINE_SECURITY_UPDATES=/&true/” /usr/local/src/database/response/db_install.rsp
su – oracle -c ‘cd /usr/local/src/database;./runInstaller -silent -force -responseFile /usr/local/src/database/response/db_install.rsp’
二:
#!/bin/bash
#uthor : shan dong jia you
# create date : 2018-05-22
# oracle version : 11gr2
# linux version : redhat 7.4
# ram : 2G
############################################################
isroot()
{
if [[ ${user} -lt root ]];then
echo -e”\n\e[1;31mthis script must be executed as root. \e[0m”
exit 1
else
echo -e “\n\e[1;36muser is root ! \e[0m”
fi
}
mount_iso()
{
if [ -f /usr/local/src/rhel-server-7.4-x86_64-dvd.iso ];then
echo -e “\n\e[1;36m rhel-server-7.4-x86_64-dvd.iso file is exsit! \e[0m”
mkdir -p /media/iso && mount -t iso9660 -o loop /usr/local/src/rhel-server-7.4-x86_64-dvd.iso /media/iso >> /dev/null
if [ $? -eq 0 ];then
echo -e “\n\e[1;36m mounted is secussful! \e[0m”
fi
else
echo -e “\n\e[1;31m rhel-server-7.4-x86_64-dvd.iso file is not exsit!”
exit 3
fi
}
yum_repo()
{
rm -rf /etc/yum.repos.d/* && cat << EOF >>/etc/yum.repos.d/iso.repo
[ISO]
name=myrepo
baseurl=file:///media/iso
enabled=1
gpgcheck=0
gpgkey=file:///media/iso/RPM-GPG-KEY-redhat-release
EOF
if [ $? -eq 0 ];then
echo -e “\n\e[1;36mcreate iso.repo secussful! \e[0m”
else
echo -e “\n\e[1;31mcreate iso.repo fail! \e[0m”
fi
}
packagecheck()
{
for package in binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
do
rpm -qa $package 2 > /dev/null
if [[ $? -eq 0 ]];then
yum -y install $package
echo -e “\n\e[1;36m $package in already installed! \e[0m”
else
echo -e “\n\e[1;31m install is error! \e[0m”
fi
done
cd /usr/local/src
rpm -ivh –force –nodeps compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -ivh –force –nodeps compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
rpm -ivh –force –nodeps libaio-devel-0.3.105-2.i386.rpm
rpm -ivh –force –nodeps libgcc-3.4.6-3.i386.rpm
rpm -ivh –force –nodeps libstdc++-3.4.6-3.1.i386.rpm
rpm -ivh –force –nodeps unixODBC-2.2.11-7.1.i386.rpm
rpm -ivh –force –nodeps unixODBC-devel-2.2.11-7.1.i386.rpm
yum -y install bc >> /dev/null
}
#修改主机名
hostname()
{
hostnamectl set-hostname $1
}
#主机名与IP解析
hosts()
{
echo $1 $2 >> /etc/hosts
}
#设置selinux宽松模式
setenforce 0
#不要用useradd命名函数
iuseradd()
{
if [[ `cat /etc/group | grep “oinstall” | awk -F : ‘{print $1}’` = “” ]];then
groupadd oinstall
echo -e “\n\e[1;36m create group oinstall succsess! \e[0m”
else
echo -e “\n\e[1;31mgroup oinstall is already! \e[0m”
fi
if [[ `cat /etc/group | grep “dba” | awk -F : ‘{print $1}’` = “” ]];then
groupadd dba
echo -e “\n\e[1;36m create group dba succsess! \e[0m”
else
echo -e “\n\e[1;31mgroup dba is already! \e[0m”
fi
if [[ `cat /etc/passwd | grep “oracle” | awk -F : ‘{print $1}’` = “” ]];then
useradd -g oinstall -G dba oracle
echo -e “\n\e[1;36m create user oracle is success! \e[0m”
else
echo -e “\a\n\e[1;31moracle用户已存在!\e[0m”
fi
if [ $? -eq 0 ];then
echo $1 | passwd oracle –stdin
else
echo -e “\n\e[1;31m create is fail \e[0m”
fi
}
sysctl_1()
{
cat >> /etc/sysctl.conf << EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $1
kernel.shmmax = $2
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048575
EOF
sysctl -p
}
ilimits()
{
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
EOF
}
ologin()
{
abc=`find / -name pam_limits.so`
sleep 5
cat >> /etc/pam.d/login << EOF
session required ${abc}
EOF
}
iprofile()
{
path=`cat /home/oracle/.bash_profile | grep PATH | awk -F = ‘{print $2}’`
cat >> /home/oracle/.bash_profile << EOF
export ORACLE_BASE=$1
export ORACLE_HOME=$2
export ORACLE_SID=orcl
export PATH=\$PATH:\$ORACLE_HOME/bin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/usr/lib
EOF
source /home/oracle/.bash_profile
}
idir()
{
mkdir -p ${ioracle_home}
chmod 755 -R ${ioracle_home}
chown -R oracle:oinstall ${ibase}
}
yum_unzip()
{
yum -y install unzip
}
unzip_oracle()
{
cd $1
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
}
isroot
mount_iso
yum_repo
packagecheck
echo -e “\a\n\e[1;36m请输入你的主机名:\e[0m”
#修改了输入后无法修改的问题
stty erase ^H
read name
hostname $name
echo -e “\a\n\e[1;36m请输入你的ip: \e[0m”
stty erase ^H
read ip
hosts ${ip} ${name}
echo -e “\n\e[1;36m请输入oracle用户密码: \e[0m”
stty erase ^H
read oracle_passwd
iuseradd ${oracle_passwd}
echo -e “\a\n\e[1;31m请输入你的系统内存(以G为标准,只输入数字): \e[0m”
stty erase ^H
read iram
ishmall=`echo “scale=1;${iram} * 1024 * 1024 / 4 * 0.6” | bc`
ishmmax=`echo “scale=1;${iram} * 1024 * 1024 * 1024 * 0.6” | bc`
sysctl_1 ${ishmall%.*} ${ishmmax%.*}
ilimits
ologin
echo -e “\n\e[1;36m请输入 ORACLE_BASE: \e[0m”
stty erase ^H
read ibase
echo -e “\n\e[1;36m请输入 ORACLE_HOME: \e[0m”
stty erase ^H
read ioracle_home
iprofile ${ibase} ${ioracle_home}
idir
yum_unzip
echo -e ‘\n\e[1;36m请输入你的源码存放路径(/usr/local/src): \e[0m’
stty erase ^H
read sound_code
unzip_oracle ${sound_code}
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
INSTALL_DB_SWONLY
INSTALL_DB_AND_CONFIG
UPGRADE_DB
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e “\a\n\e[1;36m填写你需要安装类型:\e[0m”
stty erase ^H
read a
case $a in
INSTALL_DB_SWONLY)
sed -i ‘s/oracle.install.option=/&INSTALL_DB_SWONLY/’ /usr/local/src/database/response/db_install.rsp
;;
INSTALL_DB_AND_CONFIG)
sed -i ‘s/oracle.install.option=/&INSTALL_DB_AND_CONFIG/’ /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;31m填写错误 \e[0m”
exit 1
esac
sed -i “s/ORACLE_HOSTNAME=/&${name}/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入oracle的附属主组:\e[0m’
stty erase ^H
read c
sed -i “s/UNIX_GROUP_NAME=/&$c/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入oracle产品清单的路径:\e[0m’
stty erase ^H
read z
#所赋值为路径,分隔符用%
sed -i “s%INVENTORY_LOCATION=%&$z%” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
en
zh_CN
en,zh_CN
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入数据库的语言: \e[0m’
stty erase ^H
read e
case $e in
en)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
zh_CN)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
en,zh_CN)
sed -i “s/SELECTED_LANGUAGES=/&$e/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;31m输入有误\e[0m”
exit 1
esac
sed -i “s%ORACLE_HOME=%&${ioracle_home}%” /usr/local/src/database/response/db_install.rsp
sed -i “s%ORACLE_BASE=%&${ibase}%” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
EE (企业版)
SE(标准版)
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入你要安装oracle数据库的版本:\e[0m’
stty erase ^H
read h
case $h in
EE)
sed -i “s/oracle.install.db.InstallEdition=/&$h/” /usr/local/src/database/response/db_install.rsp
;;
SE)
sed -i “s/oracle.install.db.InstallEdition=/&$h/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e ‘\a\n\e[1;36m输入有误 \e[0m’
exit 1
esac
echo -e ‘\a\n\e[1;36m请输入数据库管理组:\e[0m’
stty erase ^H
read i
sed -i “s/oracle.install.db.DBA_GROUP=/&$i/” /usr/local/src/database/response/db_install.rsp
sed -i “s/oracle.install.db.OPER_GROUP=/&$c/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
GENERAL_PURPOSE
DATA_WAREHOUSE
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入你的数据库用途: \e[0m’
stty erase ^H
read k
case $k in
GENERAL_PURPOSE)
sed -i “s/oracle.install.db.config.starterdb.type=/&$k/” /usr/local/src/database/response/db_install.rsp
;;
DATA_WAREHOUSE)
sed -i “s/oracle.install.db.config.starterdb.type=/&$k/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e “\a\n\e[1;32m输入错误 \e[0m”
esac
echo -e ‘\a\n\e[1;36m请输入全局数据库的名字: \e[0m’
stty erase ^H
read l
sed -i “s/oracle.install.db.config.starterdb.globalDBName=/&$l/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\a\n\e[1;36m请输入SID:\e[0m’
stty erase ^H
read m
sed -i “s/oracle.install.db.config.starterdb.SID=/&$m/” /usr/local/src/database/response/db_install.rsp
echo -e ‘\n\e[1;36m============================== \e[0m’
cat << EOF
AL32UTF8
ZHS16GBK
EOF
echo -e ‘\n\e[1;36m============================== \e[0m’
echo -e ‘\a\n\e[1;36m请输入字符集:\e[0m’
stty erase ^H
read n
case $n in
AL32UTF8)
sed -i “s/oracle.install.db.config.starterdb.characterSet=/&$n/” /usr/local/src/database/response/db_install.rsp
;;
ZHS16GBK)
sed -i “s/oracle.install.db.config.starterdb.characterSet=AL32UTF8/oracle.install.db.config.starterdb.characterSet=ZHS16GBK/” /usr/local/src/database/response/db_install.rsp
;;
*)
echo -e ‘\a\n\e[1;31m输入有误 \e [0m’
exit 1
esac
echo -e ‘\a\n\e[1;36m设置数据库密码:\e[0m’
stty erase ^H
read o
sed -i “s/oracle.install.db.config.starterdb.password.ALL=/&$o/” /usr/local/src/database/response/db_install.rsp
sed -i “s/DECLINE_SECURITY_UPDATES=/&true/” /usr/local/src/database/response/db_install.rsp
su – oracle -c ‘cd /usr/local/src/database;./runInstaller -silent -force -responseFile /usr/local/src/database/response/db_install.rsp’
转载自:https://blog.csdn.net/victorM_A/article/details/81075791