`
vipshichg
  • 浏览: 266752 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Linux下Oracle环境配置及自动安装脚本

阅读更多

大家可以根据自己的需要修改安装路径位置,以及根据服务器内存大小修改对应的参数值 "kernel.shmmax = 2147483648”

#!/bin/bash
echo "back file to oraclerpm"
cp /etc/redhat-release oraclerpm/back/etc_redhat-release
cp /etc/sysctl.conf oraclerpm/back/etc_sysctl.conf
cp /etc/security/limits.conf oraclerpm/back/etc_security_limits.conf
cp /etc/pam.d/login oraclerpm/back/etc_pam.d
echo "back over /etc/redhat-release /etc/sysctl.conf"
if [ $USER != "root" ] ; then
echo "the user must be root ,and now you user is '$USER',plaese su to root"
exit 0
else
echo "setup 1:check root ,OK!" | tee -a oracle.log
######send to display and oracle.log
fi
######check weather have edit kernel

#exg:if grep -q "your string" /your/file; then echo yes; else echo no; fi¡¡

if grep -c "kernel.shmall" /etc/sysctl.conf >>/dev/null; then
echo "you have already edit the Kernel" | tee -a oracle.log
else
cat >> /etc/sysctl.conf << EOF
kernel.shmall = 2097152 
kernel.shmmax = 2147483648 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
fs.file-max = 65536 
net.ipv4.ip_local_port_range = 1024 65000
EOF
fi
/sbin/sysctl -p >>/dev/null
echo ""setup 2:edit kernel,PASS!"" | tee -a oracle.log
cp /etc/redhat-release /etc/redhat-release.backup1
cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
echo "setup 3:edit the release,OK!" |tee -a oracle.log
if grep 'oinstall' /etc/group > /dev/null;then
echo "the group oinstall already existed!"
else
/usr/sbin/groupadd oinstall
fi
if grep 'dba' /etc/group > /dev/null;then
 echo "The group dba already existed!"
else
 /usr/sbin/groupadd dba
fi


if test -e /u01/app/oracle >/dev/null;then
echo "the setup_path for oracle "/u01/app/oracle" already have exits" | tee -a oracle.log
else
mkdir -p /u01/app/oracle
echo "/u01/app/oracle make" | tee -a oracle.log
fi
if test -e /data/oradata >/dev/null;then
echo "the data_path for oracle "/data/oradata" already have exits" | tee -a oracle.log
else
mkdir -p /data/oradata 
echo "/data/oradata make" | tee -a oracle.log
chown -R oracle:oinstall /u01/app/oracle /data/oradata
chmod -R 775 /u01/app/oracle /data/oradata
fi

#if grep /data/ "oracle"; then

#echo "the data_path for oracle "/data/oradata" already have given to user oracl"

#fi

echo "setup 3:add the oracle user,dba,install group ,oracle setup path,oracle data path OK!" | tee -a oracle.log
echo "now check for need rpm" | tee -a oracle.log
if rpm -q gcc make binutils openmotif setarch compat-db compat-gcc-32 openmotif compat-gcc-32-c++ compat-libstdc++-33 glibc | grep "not" >>oracle.log;then
echo "install rpm -----------------------" | tee -a oracle.log
rpm -ivh oraclerpm/*.rpm
else
echo "the rpm had install,then check it again!" | tee -a oracle.log
fi
if rpm -q gcc make binutils openmotif setarch compat-db compat-gcc-32 openmotif compat-gcc-32-c++ compat-libstdc++-33 glibc | grep "not" >>oracle.log;then
echo "install have wrong ,please check the log oracle.log" | tee -a oracle.log
exit 0;
else
echo "setup 5:rpm check OK!" | tee -a oracle.log
fi
#the rpm list: gcc make binutils openmotif setarch compat-db compat-gcc openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

#but the compat-gcc is not need thought the book said it is impartant

#at cenots46 compat-gcc ->compat-gcc-32 ,compat-gcc-c++ ->compat-gcc-c++-32,compat-libstdc++ ->compat-libstdc++33 compat-libstdc++-devel is not need

#if cat /etc/security/limits.conf | grep ^[^#];then

if grep "oracle" /etc/security/limits.conf >>/dev/null;then
echo "/etc/security/limits.conf have edited" | tee -a oracle.log
else
echo "/etc/security/limits.conf is going to edit"
echo "##############################oracle ####################### " >> /etc/security/limits.conf
echo "oracle soft nofile 65536" >> /etc/security/limits.conf 
echo "oracle hard nofile 65536" >> /etc/security/limits.conf 
echo "oracle soft nproc 16384" >> /etc/security/limits.conf 
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "####################################################################"
echo "##########################oracle########################### " >> /etc/pam.d/login 
echo "session required /lib/security/pam_limits.so" >> /etc/pam.d/login 
echo "session required pam_limits.so" >> /etc/pam.d/login 
echo "####################################################################"
fi
echo "setup 6:security have been set" | tee -a oracle.log
if grep "ORACLE_BASE" /home/oracle/.bash_profile >>/dev/null;then
echo "/home/oracle/.bash_profile have already been edited" | tee -a oracle.log
else
echo "now edit the /home/oracle/.bash_profile" | tee -a oracle.log
sid=orcl
read -p "Please type the oracle_sid in 20 minutes,if you dont type any,the default oracle_sid is orcl: " -t 20 sid
sed '/unset USERNAME/d' /home/oracle/.bash_profile >>/dev/null
sed '/PATH/d' /home/oracle/.bash_profile >>/dev/null
cat >> /home/oracle/.bash_profile <<"EOF"
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.1.0/Db_1
EOF
echo "ORACLE_SID=$sid" |tee -a oracle.log
echo "ORACLE_SID=$sid">>/home/oracle/.bash_profile
cat >> /home/oracle/.bash_profile <<"EOF"
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_BASE/product/10.1.0/Db_1/bin:
export PATH
unset USERNAME
EOF
fi
echo "setup 7:/home/oracle/.bash_profile OK!" | tee -a oracle.log
echo "now begain to install oracle" | tee -a oracle.log
echo "===========now put all the important message to oracle.log===========" |tee -a oracle.log
echo "============rpm -q gcc make binutils openmotif setarch compat-db compat-gcc-32 openmotif compat-gcc-32-c++ compat-libstdc++-33 glibc========" >> oracle.log
rpm -q rpm -q gcc make binutils openmotif setarch compat-db compat-gcc-32 openmotif compat-gcc-32-c++ compat-libstdc++-33 glibc >> oracle.log
echo "============ /etc/sysctl.conf====================" |tee -a oracle.log
cat /etc/sysctl.conf >>oracle.log 
echo "============ /etc/redhat-release====================" |tee -a oracle.log
cat /etc/redhat-release >>oracle.log
echo "============ id oracle====================" |tee -a oracle.log
id oracle>>oracle.log
echo "============ /etc/security/limits.conf====================" |tee -a oracle.log
cat /etc/security/limits.conf >>oracle.log
echo "============ /etc/pam.d/login ====================" |tee -a oracle.log
cat /etc/pam.d/login >>oracle.log
echo "============ /home/oracle/.bash_profile====================" |tee -a oracle.log
cat /home/oracle/.bash_profile>>oracle.log

 

4
4
分享到:
评论
1 楼 魔力猫咪 2013-09-06  
不建议这样。如果Oracle可以做这个东西应该早做了。既然没有做那么就表示很多东西还是自己配置比较安全。

相关推荐

    Linux下Oracle11g自动化安装脚本和过程

    本文主要讲解如何通过shell脚本实现Oracle 11g在Linux系统下的自动化安装和初始化。 首先,我们需要了解Oracle 11g的传统图形化安装流程,这包括但不限于系统检查、组件选择、安装位置设定、网络配置以及数据库参数...

    linux-oracle环境变量及自启动脚本

    本文将深入探讨与"linux-oracle环境变量及自启动脚本"相关的知识点。 一、Oracle环境变量 1. ORACLE_HOME:这是Oracle软件安装的位置,指向包含所有Oracle产品目录的根目录。 2. ORACLE_SID:Oracle System ...

    Linux-Oracle安装脚本

    下面将详细解释Linux环境下Oracle的安装脚本涉及的知识点。 首先,Linux环境的准备至关重要。这包括选择合适的Linux发行版(如Red Hat Enterprise Linux或CentOS),更新系统到最新版本,确保系统满足Oracle的硬件...

    linux下oracle的安装与配置

    在Linux环境下安装和配置Oracle数据库是一个涉及多个步骤的过程,需要对操作系统和数据库软件有深入的理解。以下将详细阐述这个过程中的关键知识点。 1. **系统环境检查** - 首先,你需要确认你的Linux系统环境。...

    linux下自动安装oracle脚本以及补丁

    在Linux环境下,自动安装Oracle数据库是一项复杂而繁琐的任务,但通过编写适当的脚本,可以显著简化这个过程。这里,我们关注的是"linux下自动安装oracle脚本以及补丁"的主题,这涉及到对Linux操作系统和Oracle...

    Linux oracle 自动备份脚本

    本文详细介绍了一个适用于Linux环境下的Oracle数据库自动备份脚本,包括了环境配置、备份执行、旧备份清理及定时任务设置等多个方面。通过对该脚本的学习和实践,不仅可以提高数据库管理员的工作效率,还能有效提升...

    LInux系统 oracle数据库安装前各项参数脚本化一键自动配置

    经过数天的修改与调试终于以跳板机的方式实现LInux系统 oracle数据库安装前各项参数脚本话一键自动配置,包含单向互信的添加与删除,asm磁盘对的绑定和limits和sysctl.conf,grid和oracle用户的添加及环境配置。

    Linux安装oracle(静默模式脚本)

    静默模式(Silent Mode)允许我们通过自动化脚本来执行安装,减少人为交互,提高效率。以下是一份详细的关于如何在Linux上使用静默模式安装Oracle数据库的知识点概述。 一、环境准备 在开始安装前,确保你的Linux...

    linux下批量执行oracle脚本的shell脚本

    在Linux环境下,对Oracle数据库进行批量操作是一项常见的任务,尤其对于系统管理员和DBA来说,高效地执行SQL脚本可以显著提升工作效率。本篇将详细讲解如何利用shell脚本来批量执行Oracle数据库脚本,以及涉及的相关...

    oracle自动安装脚本

    本文将深入探讨Oracle自动安装脚本的原理、使用方法及注意事项。 首先,Oracle自动安装脚本通常基于shell脚本语言编写,如bash或sh,它包含了执行Oracle安装所需的一系列命令和参数。这些命令可能包括设置环境变量...

    linux一键初始化oracle11g安装环境脚本(centos)

    设置基础安装环境工序太多,所以写了一个脚本起到能在linux一键初始化oracle11g安装环境脚本的目的,其中主要更改主机名、关闭防火墙、禁用Selinx、配置用户和组、创建目录、更改核心参数,配置Oracle环境变量等,...

    Linux下Oracle自启动脚本

    本文详细介绍了如何在Linux环境下设置Oracle数据库的自启动脚本,包括环境变量配置、数据库启动逻辑、权限配置、添加服务至自启动列表以及验证测试等关键步骤。通过这些步骤,可以有效地实现Oracle数据库的自动启动...

    Linux Oracle12c静默安装脚本

    本主题聚焦于在Linux环境下对Oracle 12c的静默安装过程,这通常是为了实现自动化部署,提高效率并减少人为错误。以下是对这个静默安装脚本的详细解释。 首先,"Linux Oracle12c静默安装脚本"意味着我们将利用命令行...

    linux下oracle10安装准备和设置

    ### Linux 下 Oracle 10g 安装准备与设置 #### 一、概述 本文将详细介绍如何在 Ubuntu 操作系统上进行 Oracle 10g 的安装准备工作,包括系统选择、安装必要的软件包、用户组及用户的创建、系统配置文件的调整以及...

    oracle11g一键安装脚本

    oracle11g centos7一键安装脚本,脚本里面有完整安装提示说明。大概步骤如下 1、关闭防火墙 2、设置服务器名称并增加映射 3、安装Oracle所需的依赖 4、解压oracle安装包 5、创建用户和组 6、修改内核参数 7、修改用户...

    linux下oracle数据库备份的脚本文件

    Oracle数据库备份脚本文件在Linux平台下的实现 在 Linux 操作系统中,Oracle 数据库的备份是至关重要的一步骤,以确保数据的安全和完整性。为实现 Oracle 数据库的备份,我们可以使用脚本文件来自动化备份过程。在...

    Linux下Oracle安装配置步骤

    以上是Linux下Oracle安装配置的基本步骤,实际操作中可能需要根据具体环境进行调整。在整个过程中,确保遵循最佳实践,保持良好的日志记录习惯,以便于问题排查和优化。在安装完成后,记得进行充分的测试,确保...

    Linux 7.6 安装19c rac 环境一键准备脚本

    Linux 7.6 安装19c 环境一键准备脚本,自动创建用户,安装目录 ,修改 sysctl.cnf ,修改limit

    centos6.5下自动安装oracle11的shell脚本

    本篇文章将详细讲解如何在CentOS 6.5环境下,通过shell脚本来自动化安装Oracle 11g。 首先,让我们理解为何要使用shell脚本进行自动化安装。在手动安装Oracle的过程中,需要执行一系列复杂的命令和配置,包括环境...

    Linux下安装Oracle完美解决版

    在Linux环境下安装Oracle数据库是一项复杂的过程,涉及到多个步骤和组件的配置。Oracle数据库与Linux操作系统结合,为企业提供了高性能和稳定性的解决方案。以下是根据标题、描述和部分内容生成的详细知识点: 1. *...

Global site tag (gtag.js) - Google Analytics