# 脚本仅供交流学习使用!

# 脚本当前版本为1.0.实现了物理内存&交换空间的检测,RPM包的自动安装(需配置Yum或者挂载光盘,如果你复制了所有需要的RPM包到某个目录,也OK.),用户&用户组的创建,软件环境变量的配置,系统内核参数配置等功能.脚本执行成功后,即可将Oracle安装包解压然后runInstaller开启图形化安装了.
# 脚本已在Red Hat Enterprise Linux 5.4 64bit上测试通过(Oracle 10g/Oracle11g).原则上适用于RHEL 5和RHEL 6.
# 欢迎提出改进意见.

# 脚本可通过附件下载

#!/bin/bash
# Version 1.0
# AUTHOR:   Xin23   http://weibo.com/231988
#1.Oracle Version and System
GetOracleVersion() {read -p "Which Version of Oracle You Will Install? [11|10]?     " VERSION
}
GetOracleVersion
SetVersion() {
if       [ $VERSION -eq 11 ]then echo 'Oracle Version is 11!        '
elif [ $VERSION -eq 10 ]then echo 'Oracle Version is 10!        '
elseecho 'Please Retype The Version of Oracle You Will Install!     'GetOracleVersionSetVersion
fi
}
SetVersion
MEMORY=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')
SWAP=$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}')
MEMORY_REQ=1048576
if [ $MEMORY -lt $MEMORY_REQ ]then echo 'Physical Memory is too small! 'exit 1
elseecho 'Physical Memory Check OK! '
fi
if [ $VERSION -eq 10 ]thenif [ $MEMORY -lt 2097152 ]then if [ $SWAP -lt $(echo "$MEMORY*3/2"|bc) ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fielif [ $MEMORY -gt 2097152 ] || [ $MEMORY -lt 8388608 ]then if [ $SWAP -lt $MEMORY ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fielif    [ $MEMORY -gt 8388608 ]then if [ $SWAP -lt $(echo "$MEMORY*3/4"|bc) ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fifi
elif  [ $VERSION -eq 11 ]thenif         [ $MEMORY -lt 2097152 ]then if [ $SWAP -lt  $(echo "$MEMORY*3/2"|bc) ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fielif    [ $MEMORY -gt 2097152 ] || [ $MEMORY -lt 16777216 ]then if [ $SWAP -lt $MEMORY ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fielif    [ $MEMORY -gt 16777216 ]then if [ $SWAP -lt 16777216 ]then echo 'Swap is too small! 'exit 2elseecho 'Swap Check OK! 'fifi
fi
echo 'Oracle Version and System hardware has been checked! '
#2.Software
Rpm() {
rpm -ivh compat-libstdc++*
rpm -ivh compat-libstdc++*
rpm -ivh elfutils-libelf*i386.rpm
rpm -ivh elfutils-libelf*x86_64.rpm
rpm -ivh elfutils-libelf-devel-static*x86_64.rpm elfutils-libelf-devel*x86_64.rpm
rpm -ivh elfutils-libelf-devel-static*i386.rpm elfutils-libelf-devel*i386.rpm
rpm -ivh libaio-devel*
rpm -ivh sysstat*
rpm -ivh unixODBC-[[:digit:]]*
rpm -ivh unixODBC-devel*
rpm -ivh kernel-headers*
rpm -ivh glibc-headers*
rpm -ivh glibc-devel*
rpm -ivh libgomp*
rpm -ivh libstdc++-devel*x86_64.rpm
rpm -ivh libstdc++-devel*i386.rpm
rpm -ivh gcc-[[:digit:]]*
rpm -ivh gcc-c++*
rpm -ivh libXp-[[:digit:]]*
}
Yum() {yum -y install  compat-libstdc++yum -y install  elfutils-libelf-devel-staticyum -y install  elfutils-libelf-develyum -y install  libaio-develyum -y install  sysstatyum -y install  unixODBCyum -y install  unixODBC-develyum -y install  kernel-headersyum -y install  glibc-headersyum -y install  glibc-develyum -y install  libgompyum -y install  gccyum -y install  gcc-c++yum -y install  libstdc++-develyum -y install  libXp
}
GetYum() {read -p "Have you config the yum? [y|n] " YUM}
GetYum
RetroYum() {
if [ $YUM = y ]then Yum
elif [ $YUM = n ]then read -p "Please input rpm package's location: " MEDIA_DIRcd $MEDIA_DIRRpm
elseGetYumRetroYum
fi
}
RetroYum
echo 'Necessary RPM Package has been installed! '
#3.User and Groups
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
mkdir -p /u01/app/oracle;chown -R oracle:oinstall /u01
read -p "Please input password for user oracle: " PASSWORD
echo "$PASSWORD" | passwd --stdin oracle
echo 'User and Group has been Created! '
#4.Environment
read -p "Please input ORACLE SID: " SID
su -c "echo 'export ORACLE_BASE=/u01/app/oracle' >> ~/.bash_profile" oracle
su -c "echo 'export ORACLE_SID=$SID' >> ~/.bash_profile" oracle
export ORACLE_BASE=/u01/app/oracle
if [ $VERSION = 11 ]then su -c 'echo "export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1" >> ~/.bash_profile' oracleexport ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
elif [ $VERSION = 10 ]then su -c 'echo "export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1" >> ~/.bash_profile' oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
elseexit 3
fi
su -c 'echo "export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin" >> ~/.bash_profile' oracle
echo 'Software Enviroment has been finished! '
#5.Operate System and Kernel Parameters
read -p "Please input your ip address: " IP_ADDRESS
echo "$IP_ADDRESS $(hostname)" >> /etc/hosts
echo 'fs.aio-max-nr = 1048576' >> /etc/sysctl.conf
echo 'fs.file-max = 6815744' >> /etc/sysctl.conf
echo 'kernel.shmmni = 4096' >> /etc/sysctl.conf
echo 'kernel.sem = 250 32000 100 128' >> /etc/sysctl.conf
echo 'net.core.rmem_default = 262144' >> /etc/sysctl.conf
echo 'net.core.rmem_max = 4194304' >> /etc/sysctl.conf
echo 'net.core.wmem_default = 262144' >> /etc/sysctl.conf
echo 'net.core.wmem_max = 1048586' >> /etc/sysctl.conf
if [ $VERSION = 11 ]then echo 'net.ipv4.ip_local_port_range = 9000 65500' >> /etc/sysctl.conf
elif [ $VERSION = 10 ]then echo 'net.ipv4.ip_local_port_range = 1024 65000' >> /etc/sysctl.conf
fi
sysctl -p
echo 'oracle soft nproc 2047' >>  /etc/security/limits.conf
echo 'oracle hard nproc 16384' >> /etc/security/limits.conf
echo 'oracle soft nofile 1024' >> /etc/security/limits.conf
echo 'oracle hard nofile 65536' >>    /etc/security/limits.conf
echo 'oracle soft stack 10240' >> /etc/security/limits.conf
echo 'Operate System and Kernel Parameter has been finished! '
echo 'Now You Can Run runInstaller to start Installation of Oracle! '

THE END

转载于:https://blog.51cto.com/xin23/1183371

Linux平台Oracle安装脚本相关推荐

  1. Linux平台 Oracle 18c RAC安装Part2:GI配置

    三.GI(Grid Infrastructure)安装 3.1 解压GI的安装包 3.2 安装配置Xmanager软件 3.3 共享存储LUN的赋权 3.4 使用Xmanager图形化界面配置GI 3 ...

  2. Linux平台 Oracle 18c RAC安装Part3:DB配置

    四.DB(Database)配置 4.1 解压DB的安装包 4.2 DB软件配置 4.3 ASMCA创建磁盘组 4.4 DBCA建库 4.5 验证crsctl的状态 Linux平台 Oracle 18 ...

  3. Linux平台 Oracle 11gR2 RAC安装Part1:准备工作

    一.实施前期准备工作 1.1 服务器安装操作系统 1.2 Oracle安装介质 1.3 共享存储规划 1.4 网络规范分配 二.安装前期准备工作 2.1 各节点系统时间校对 2.2 各节点关闭防火墙和 ...

  4. dg建立linux分区,Linux平台 Oracle 11g DG测试环境快速搭建参考

    Linux平台 Oracle 11g DG测试环境快速搭建参考 环境现状: 两台虚拟主机A和B: 1. A机器已安装ASM存储的Oracle 11g 实例 参考: 2. B机器已安装系统,配置以及目录 ...

  5. goldengate Linux平台Oracle RAC-Oracle

    Standalone复制   3.1  目标概述 在Vmware虚拟机模拟环境下利用GoldenGate实现数据同步,GoldenGate可以复制DML和DDL操作. (1)Oracle RAC环境见 ...

  6. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境. 进入网页: http://www.o ...

  7. Arduino可穿戴教程Linux平台下安装Arduino IDE

    Arduino可穿戴教程Linux平台下安装Arduino IDE Linux平台下安装Arduino IDE Linux平台下的安装方式和Windows下的zip形式安装是类似的,只是Linux下的 ...

  8. boost linux 测试程序,Linux平台下安装 boost 库

    Linux平台下安装boost库 今天在给师弟们设计新一代软件框架的时候,需要实现一种功能:存在一种容器,里面存放着不同的数据类型,例如int, double, char,以及一些自己定义的类等等.后 ...

  9. Linux下Oracle安装宝典(转)

    Linux下Oracle安装宝典(转) 笔者用的是Linux版的Oracle V8.1.6,安装在RedHat Linux 6.0上. ??Oracle的安装包括企业版服务器端和客户端两部分,用户可以 ...

最新文章

  1. 一对一直播app源码功能操详解方案分享
  2. android 工厂方法模式应用场景,Android设计模式(四)- 工厂方法模式
  3. nginx多进程,日志不乱序
  4. 【Android 应用开发】BluetoothClass详解
  5. 倒计时 3 天 | 神策 2019 数据驱动大会即将开幕
  6. 编译时和运行时、OC中对象的动态编译机制
  7. “CEPH浅析”系列之七——关于CEPH的若干想法
  8. 快速判断一个数是否是2的幂次方
  9. 2019递归实现字符串的逆序存储(C++)
  10. python中的for else语句
  11. 单级离心压缩机行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  12. 亚马逊不仅将弃用 Oracle,还要抢 Java 饭碗!
  13. php 近五天日期_PHP获取本周所有日期或者最近七天所有日期
  14. win8系统下用VMware虚拟机启动Windows Server 2008报错问题解决方法
  15. iOS,多媒体,地图相关
  16. 基于JSP的鲜花商城源码
  17. 局域网ip扫描工具_IP Scanner Pro——ip局域网扫描工具
  18. uniapp文件体积超过 500KB报错
  19. 今日头条视频采集方法
  20. 618年中大促八大情景话术大全(赶紧收藏)

热门文章

  1. 2020中国人工智能年度评选报名即将截止!4大类别7大奖项开放申请
  2. 中国AI服务器,刷新全球18项性能基准测试纪录
  3. 只需2.5W功耗,就能达到5TOPS算力!地平线新一代AIoT芯片「旭日3」发布
  4. 打开摄像头,2D插画实时变动画,中国程序媛出品,Demo在线可玩
  5. 从16.6%到74.2%,谷歌新模型刷新ImageNet纪录,第一作者是上海交大毕业生谢其哲...
  6. 特斯拉员工自曝:为应付产能不惜偷工减料,出厂测试得过且过
  7. GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了
  8. S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下
  9. Android—监听器
  10. linux虚拟文件系统浅析