背景:因为最近的工作需要经常安装和部署Oracle,所以编写脚本以减少重复工作。 请注意,每个服务的情况可能不同,因此在运行时可能会报告错误。 如果报告了错误,可以手动按照说明进行。
# #! 精力充沛的帅哥/bash
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# #自动:人力#
# #数据:2019/11/18 #
# # 2019年11月20日
# # 2019年11月29日
# # log : v 1.0安装协议11g #
# # v2.0添加数据库#
# # v3.0固定的some bugs # #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
智商!=2); 沈恩
使用3360 sh $0/家庭/甲骨文/p 13390677 _ 112040 _ Linux-x86-64 _ 1of7.压缩/家庭/甲骨文/p 1390677 _
fi
# #修改/etc /主机
名称=`主机名称`
IP=` ifconfig|grep-o ' [0-9]{ 1,3\ [0-9] ,{2}0-9,{3}3
echo ' $ $ { IP } $ {名称} '/etc /主机
# #安装从属软件包
yum install -y身材魁梧的帅哥Utils Compat-Libcap1Compat-Libstdc-33.I 686 Glibc Glibc.I 686 Glibel Gligilibc-DC-33.I 686 Glibel . I 686 LIB X11 LIBX 11.I 686 LIBXAULIBXA.I 686 LIBXT ST.I 686 LIBGCC LIBCC 686 LIBSTDC-Devel LIBSTDC-Devel LIBSTDC-Devel t-toolssmartmontoolssysstatunixodbc-Devel IBX ext.I 686 Zlib-Devel Zlib-Devel.I 686 UnzipPSMisc
# #为用户和组创建用户组
组安装
组数据库
组操作者
统一数据库,超级d /家庭/甲骨文
echo ' 123456 '|passwd---- stdin Oracle
# #更改内核参数
# #如果之前修改过,则删除之前修改过的注释
sed-I ' s/^ fs .文件最大值/#/g '/etc /系统. conf
sed-I ' s/^ kernel.SEM/#/g '/etc/sysctl.conf
sed-I ' s/^ kernel.shmmni/#/g '/etc/sysctl.conf
sed-I ' s/^ kernel.shmall/#/g '/etc/sysctl.conf
sed-I ' s/^ kernel.shmmax/#/g '/etc/sysctl.conf
sed-I ' s/^ net.core.rmem _默认/#/g '/etc /系统. conf
sed-I ' s/^网络核心. rmem _ max/#/g '/etc /系统. conf
sed-I ' s/^ net.core.wmem _默认/#/g '/etc /系统. conf
sed-I ' s/^网络核心. wmem _ max/#/g '/etc /系统. conf
sed-I ' s/^ fs.AIO-max-NR/#/g '/etc /系统. conf
sed-I ' s/^ net.IP v4.IP _本地端口_范围/#/g '/etc /系统. conf
CAT/ETC /系统科学委员会
美国航空
o-max-nr = 1048576fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 = 1048576
EOF
##使修改生效
sysctl -p >>/dev/null
#创建数据库目录
mkdir -p /data/app/oracle/product/11.2.0/db_1 /data/app/oraInventory
chown -R oracle:oinstall /data
chmod -R 775 /data/app
#修改Oracle用户环境变量
su - oracle -c "
cat /home/oracle/.bash_profile <<EOF
ORACLE_SID=orcl
ORACLE_BASE=/data/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
PATH=$PATH:$HOME/健壮的帅哥:$ORACLE_HOME/健壮的帅哥
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID
EOF
source /home/oracle/.bash_profile
"
#解压压缩包
unzip ${1} -d /data
unzip ${2} -d /data
chown -R oracle:oinstall /data/database
chmod -R 775 /data/database
#编辑静默安装文件
cp /data/database/response/db_install.rsp /data/database/response/db_install_bak.rsp
sed -i "s/oracle.install.option=/oracle.install.option=INSTALL_DB_SWONLY/g" /data/database/response/db_install.rsp
sed -i "s/ORACLE_HOSTNAME=/ORACLE_HOSTNAME=${name}/g" /data/database/response/db_install.rsp
sed -i "s/UNIX_GROUP_NAME=/UNIX_GROUP_NAME=oinstall/g" /data/database/response/db_install.rsp
sed -i "s/INVENTORY_LOCATION=/INVENTORY_LOCATION=/data/app/inventory/g" /data/database/response/db_install.rsp
sed -i "s/SELECTED_LANGUAGES=en/SELECTED_LANGUAGES=en,zh_CN/g" /data/database/response/db_install.rsp
sed -i "s/ORACLE_HOME=/ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1/g" /data/database/response/db_install.rsp
sed -i "s/ORACLE_BASE=/ORACLE_BASE=/data/app/oracle/g" /data/database/response/db_install.rsp
sed -i "s/oracle.install.db.InstallEdition=/oracle.install.db.InstallEdition=EE/g" /data/database/response/db_install.rsp
sed -i "s/oracle.install.db.DBA_GROUP=/oracle.install.db.DBA_GROUP=dba/g" /data/database/response/db_install.rsp
sed -i "s/oracle.install.db.OPER_GROUP=/oracle.install.db.OPER_GROUP=dba/g" /data/database/response/db_install.rsp
sed -i 's/DECLINE_SECURITY_UPDATES=/DECLINE_SECURITY_UPDATES=true/g' /data/database/response/db_install.rsp
#安装
su - oracle <<EOF
cd /data/database;
./runInstaller -silent -responseFile /data/database/response/db_install.rsp -ignorePrereq;
EOF
sleep 480
sh /data/app/oracle/product/11.2.0/db_1/root.sh
echo "即将以静默方式启动监听。。。"
sleep 1
su - oracle
netca -silent -responsefile /data/database/response/netca.rsp
netstat -uantlp |grep 1521 |grep -v grep &>/dev/null
if [ $? == 0 ];then
echo "oracle 已通过静默方式启动监听。"
else
echo "可能存在某些问题,请根据错误提示解决。"
fi
read -p "是否需要进行静默建库,我将根据你的反馈选择是否进行后续操作:[y]es、[n]o" input_1
read -p "一般建库是由开发商操作,本脚本是使用Oracle自带的模板进行静默建库,是否继续:[y]es、[n]o" input_2
if [ $input_1 = "y" ];then
if [ $input_2 = "y" ];then
echo "即将以Oracle自带的模板进行静默建库。。。"
sleep 1
dbca -silent -createDatabase -templateName $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc -gdbName orcl -sid orcl -emConfiguration LOCAL -dbsnmpPassword 123456 -sysmanPassword 123456 -responseFile NO_VALUE
if [ $? == 0 ];then
echo "静默方式建库成功,数据库名:orcl,sys和system密码初始为123456,(密码请后续自行重置)"
else
echo "可能存在某些问题,请根据错误提示解决"
fi
else
echo "Oracle已安装完成,还未创建数据库实例"
exit
fi
else
echo "Oracle已安装完成,还未创建数据库实例"
exit
fi