oracle脚本安装,Linux脚本自动安装Oracle
#该脚本包含以下模块
#sys_check,系统检查
#evn_check,配置系统环境变量
#oracle_check,对Oracle安装目录进行检查
#silent_check, 对静默安装的配置文件进行配置。
#oracle_ins,安装模块
#clean_check,清除模块
#rollback,回滚模块
#!/bin/bash
set -o nounset
set -o errexit
set -o pipefail
ora_DIR=${1:-"/oracle"}
ora_HOME=$ora_DIR/product/11.2.0/db_1
ora_USER=oracle
ora_z1=${2:-"linux.x64_11gR2_database_1of2.zip"}
ora_z2=${3:-"linux.x64_11gR2_database_2of2.zip"}
host_NAME=${4:-"/oracledb"}
ora_rsp=$ora_DIR/database/response/db_install.rsp
USER_PASSW=${5:-"oracle"}
USER_HOME=${6:-"/oracle"}
FTP=${8:-"10.243.124.6"}
#sys_check,
function sys_check() {
if grep 'Red Hat' /etc/system-release>/dev/null 2>&1 && [ $(awk 'BEGIN {FS=" "} {print int($7)}' /etc/system-release) -ge 6 ];then
echo "$(date "+%Y-%m-%d"): check $(grep "Red Hat" /etc/system-release) supported"
elif grep 'CentOS' /etc/system-release>/dev/null 2>&1 && [ $(awk 'BEGIN {FS=" "} {print int($4)}' /etc/system-release) -ge 6 ];then
echo "$(date "+%Y-%m-%d"): check $(grep 'CentOS' /etc/system-release) supported"
else
echo "$(date "+%Y-%m-%d"): Our installing shell support 'Redhat 6 or later' and 'centos 6or later'."
echo ' Please check your system`s release.'
echo ' the installing shell exit'
exit
fi
}
#evn_check,
function evn_check() {
touch $ora_DIR/.bash_profile
if grep 'ORACLE_BASE=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i "s#ORACLE_BASE=.*#ORACLE_BASE=$ora_DIR#g" $ora_DIR/.bash_profile
#echo "ORACLE_BASE=$ora_DIR modified"
else
echo "export ORACLE_BASE=$ora_DIR">>$ora_DIR/.bash_profile
#echo "ORACLE_BASE=$ora_DIR imported"
fi
if grep 'ORACLE_HOME=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i "s#ORACLE_HOME=.*#ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1#g" $ora_DIR/.bash_profile
#echo "ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 modified"
else
echo "export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1">>$ora_DIR/.bash_profile
#echo "ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 imported"
fi
if grep 'PATH=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i 's#PATH=.*#PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin#g' $ora_DIR/.bash_profile
#echo "PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin modified"
else
echo 'export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin'>>$ora_DIR/.bash_profile
#echo "PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin imported"
fi
if grep 'ROACLE_PID=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i 's#ROACLE_PID=.*#ROACLE_PID=ora11g#g' $ora_DIR/.bash_profile
#echo "ROACLE_PID=ora11g modified"
else
echo 'export ROACLE_PID=ora11g'>>$ora_DIR/.bash_profile
#echo "ROACLE_PID=ora11g imported"
fi
if grep 'NLS_LANG=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i 's#NLS_LANG=.*#NLS_LANG=AMERICAN_AMERICA.AL32UTF8#g' $ora_DIR/.bash_profile
#echo "NLS_LANG=AMERICAN_AMERICA.AL32UTF8 modified"
else
echo 'export NLS_LANG=AMERICAN_AMERICA.AL32UTF8'>>$ora_DIR/.bash_profile
#echo "NLS_LANG=AMERICAN_AMERICA.AL32UTF8 imported"
fi
if grep 'LD_LIBRARY_PATH=' $ora_DIR/.bash_profile>/dev/null 2>&1;then
sed -i 's#LD_LIBRARY_PATH=.*#LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib#g' $ora_DIR/.bash_profile
#echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib modified"
else
echo 'export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib'>>$ora_DIR/.bash_profile
#echo "LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib imported"
fi
echo "$(date "+%Y-%m-%d"): check system EVN and profile of user overwrited"
}
#silent_check
function silent_check(){
# local ora_rsp='$ora_DIR'/database/response/db_install.rsp
if [ -e $ora_home ] ;then
echo "$(date "+%Y-%m-%d"): found $ora_home "
else
mkdir -p $ora_DIR/product/11.2.0/db_1
fi
sed -i 's#oracle.install.option=.*#oracle.install.option=INSTALL_DB_SWONLY#g' $ora_rsp >/dev/null 2>&1
sed -i 's#ORACLE_HOSTNAME=.*#ORACLE_HOSTNAME='$host_NAME'#g' $ora_rsp >/dev/null 2>&1
sed -i 's#UNIX_GROUP_NAME=.*#UNIX_GROUP_NAME=oinstall#g' $ora_rsp >/dev/null 2>&1
sed -i 's#INVENTORY_LOCATION=.*#INVENTORY_LOCATION='$ora_DIR'/oraInventory#g' $ora_rsp >/dev/null 2>&1
sed -i 's#SELECTED_LANGUAGES=.*#SELECTED_LANGUAGES=en,zh_CN#g' $ora_rsp >/dev/null 2>&1
sed -i 's#ORACLE_HOME=.*#ORACLE_HOME='$ora_HOME'#g' $ora_rsp >/dev/null 2>&1
sed -i 's#ORACLE_BASE=.*#ORACLE_BASE='$ora_DIR'#g' $ora_rsp >/dev/null 2>&1
sed -i 's#oracle.install.db.isCustomInstall.*#oracle.install.db.isCustomInstall=false#g' $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.DBA_GROUP=.*#oracle.install.db.DBA_GROUP=dba#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.OPER_GROUP=.*#oracle.install.db.OPER_GROUP=oinstall#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.type=.*#oracle.install.db.config.starterdb.type=GENERAL_PURPOSE#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.globalDBName=.*#oracle.install.db.config.starterdb.globalDBName=ora11g#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.SID=.*#oracle.install.db.config.starterdb.SID=ora11g#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.characterSet=.*#oracle.install.db.config.starterdb.characterSet=AL32UTF8#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.memoryOption=.*#oracle.install.db.config.starterdb.memoryOption=true#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.memoryLimit=.*#oracle.install.db.config.starterdb.memoryLimit=1500#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.password.ALL=.*#oracle.install.db.config.starterdb.password.ALL=oracle#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.storageType=.*#oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=.*#oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false#g" $ora_rsp >/dev/null 2>&1
sed -i "s#oracle.install.db.config.starterdb.automatedBackup.enable=.*#oracle.install.db.config.starterdb.automatedBackup.enable=false#g" $ora_rsp >/dev/null 2>&1
sed -i "s#DECLINE_SECURITY_UPDATES=.*#DECLINE_SECURITY_UPDATES=true#g" $ora_rsp >/dev/null 2>&1
echo "silent_check,is ok"
}
#oracle_ins,
function oracle_ins(){
echo "$(date "+%Y-%m-%d"): begining install oracle"
trap rollback INT TERM EXIT
if [ -e $ora_z1 ] ;then
echo "$(date "+%Y-%m-%d"): found $ora_z1 "
else
echo "$(date "+%Y-%m-%d"): download $ora_z1 "
{ curl -s ftp://$FTP/oracle/p10404530_112030_Linux-x86-64_1of7.zip -o $ora_z1;wait; } || { echo "$(date "+%Y-%m-%d"): download $ora_zip1 failed"; exit; }
{ unzip -o -d $ora_DIR $ora_z1 >/dev/null 2>&1;wait; } || { echo "$(date "+%Y-%m-%d"): unzip $ora_z1 failed"; exit; }
fi
if [ -e $ora_z2 ] ;then
echo "$(date "+%Y-%m-%d"): found $ora_z2 "
else
echo "$(date "+%Y-%m-%d"): download $ora_z2 "
{ curl -s ftp://$FTP/oracle/p10404530_112030_Linux-x86-64_1of7.zip -o $ora_z2;wait; } || { echo "$(date "+%Y-%m-%d"): download $ora_zip2 failed"; exit; }
{ unzip -o -d $ora_DIR $ora_z2 >/dev/null 2>&1;wait; } || { echo "$(date "+%Y-%m-%d"): unzip $ora_z2 failed"; exit; }
fi
silent_check
cd $ora_DIR >/dev/null 2>&1
#{"./database/runInstaller -silent -force -responseFile $ora_DIR/database/response/db_install.rsp > $ora_DIR/oinstall.log" >/dev/null 2>&1;wait;} || { echo "install oracle failed"; exit; }
{ bash -c "./database/runInstaller -silent -force -responseFile $ora_DIR/database/response/db_install.rsp > $ora_DIR/oinstall.log">/dev/null 2>&1;wait; } || { echo "install weblogic failed"; exit; }
wait
sleep 1m
trap - INT TERM EXIT
grep "Successfully Setup Software." $ora_DIR/oinstall.log
echo "oracle_ins is ok"
}
#clean_all
function clean_all(){
rm -rf $ora_DIR/database
#rm -rf $ora_DIR/oinstall.log >/dev/null 2>&1
rm -rf $ora_DIR/checkpoints >/dev/null 2>&1
rm -rf $ora_DIR/diag >/dev/null 2>&1
rm -rf $ora_DIR/oraInventory >/dev/null 2>&1
echo "clean_all"
}
#rollback!
function rollback() {
if [ -e $ora_HOME ]; then
rm -rf $ora_HOME/.*
echo "rollback!"
fi
exit
}
sys_check
user_check
evn_check
oracle_ins
clean_all
oracle脚本安装,Linux脚本自动安装Oracle相关推荐
- linux一键安装脚本编写,Linux中自动安装脚本
如何让你的主机自动的完成安装,自动的回答系统提出的问题,编写自动安装脚本即可实现,如下将详细解释自动脚本安装方法. systemd-config-kickstart ##自动应答脚本制作工具 安装成 ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- PXE实现Linux的自动安装
转载自:http://hucwuhen.blog.51cto.com/6253667/1266420 PXE实现Linux的自动安装 安装过linux的人都知道,在只对一台机器进行linux的安装,很 ...
- 用Kickstart批量安装Linux系统、Kickstart安装,linux批量安装;Linux的Kickstart的 无人值守安装;linux pxe自动安装linux系统...
用Kickstart批量安装Linux|Kickstart,批量安装:Linux的Kickstart的 无人值守安装:linux pxe自动安装linux系统: KickStart + DHCP + ...
- aix oracle备份命令,Aix/Linux下自动备份oracle数据库
曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...
- 安卓手机用AidLux安装Linux免Root,安装到Debian 10不能安装docker
最近看到安卓手机可以安装Linux, 试了一下AidLux这个APP,可以免Root安装Linux,看了一下它内置的是Debian 10 buster; 还用了Linux deploy, Linux ...
- RIS服务器的安装和远程自动安装操作系统(二)
RIS服务器的安装和远程自动安装操作系统 在完成了安装RIS服务器之后,需要做一些设置才能够让RIS正常工作. 第二步设置: 1.首先需要创建一个或多个用户使用具有使用远程安装计算机的权限(这些实在服 ...
- 安装Linux出现致命错误,安装liunx出现致命错误,为什么,如何解决?
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到Linux服务器rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令行工具,windows端需要支持ZModem的 ...
- linux系统下的oracle数据库,在Linux系统下安装Oracle数据库
在Linux系统下安装Oracle数据库:1.约定:linux系统为Linux.5.4-server-x86_64,数据库为linux.x64_11gR1_database_1013 linux 在L ...
最新文章
- sql 存储过程和函数
- mysql xid原理_MySQL数据库分布式事务XA实现原理分析
- 每日一皮:某程序员对书法十分感兴趣。一日饭后突生雅兴...
- 你应该知道的jQuery技巧【收藏】
- MOSS中自定义WebService
- 数据结构杂谈(五)——栈
- jQuery中的函数汇总1
- 【LeetCode】剑指 Offer 61. 扑克牌中的顺子
- django 1.8 官方文档翻译:13-1-3 密码管理
- activate tensorflow_“量子固件”来了!利用 TensorFlow 提升量子计算硬件性能
- [动态规划] leetcode 10 正则表达式匹配
- 9.Tideways和xhgui
- Jmeter使用教程(图文并茂)|实战干货
- JavaWeb如何判断账户密码
- RabbitMQ消息队列(九):Publisher的消息确认机制
- 计算机视频DVI接口,HDMI、DVI 电脑为什么会有这么多种视频接口?
- CZ880到手第一天测试,安装Windows11 To Go
- verilog读入txt文件
- 数据结构 第5章 树和二叉树 课后答案
- 梆梆安全加固企业版分析
热门文章
- jMeter HTTP Request Defaults 的学习笔记
- SAP Spartacus Sample Data Extension
- ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号
- SAP Spartacus delivery mode页面两个一模一样的cart API请求
- SAP Spartacus的cxComponentWrapper指令
- SAP Spartacus storefrontapp不是运行在简单的tomcat服务器上
- 对Angular使用了HttpClient的服务进行单元测试
- SAP Fiori globalization实现原理之Number显示的格式原理
- 使用ant触发Tomcat的reload操作
- Kyma Lambda Function的GATEWAY_URL是做什么的?