oracle 脚本

#!/bin/bash
oracle_yil=(
binutils
elfutils-libelf
elfutils-libelf-devel
elfutils-libelf-devel-static
gcc
gcc-c++
glibc #
glibc-common
glibc-devel
glibc-headers
kernel-headers
libaio #
libaio-devel #
libgcc #
libgomp
libstdc++ #
libstdc++-devel
make
numactl-devel
sysstat
unixODBC #
unixODBC-devel #
ksh
#pdksh
compat-libcap1
compat-libstdc++-33 #
)
function install(){
#rpm -ivh $i
yum -y install $i
local pid=$?
#安装rpm包
if [ $pid = 0 ];then
return 0
else
return 1
fi
}
function main(){
for i in ${oracle_yil[@]}
do
install $i
if [ $? != 0 ];then
echo -e "\e[1;31m 安装依赖- $i -失败!请手动尝试安装! \e[0m"
read -p "请手动开启另一个SSH窗口 尝试安装 $i ! 安装完成后请回车继续!"
fi
done
}

function pz(){

passwd="123.com"

groupadd oinstall
if [ $? != 0 ];then
if [ $? != 9 ];then
echo -e "\e[1;31m 用户组oinstall创建失败! \e[0m"
fi
fi
groupadd dba
if [ $? != 0 ];then
if [ $? != 9 ];then
echo -e "\e[1;31m 用户组dba创建失败! \e[0m"
fi
fi
useradd -g oinstall -G dba oracle
if [ $? != 0 ];then
if [ $? != 9 ];then
echo -e "\e[1;31m 用户oracle创建失败! \e[0m"
fi
fi
echo $passwd | passwd --stdin oracle

sed -i 's/fs.aio-max-nr/\#fs.aio-max-nr/' /etc/sysctl.conf
sed -i 's/fs.file-max/\#fs.file-max/' /etc/sysctl.conf
sed -i 's/kernel.shmall/\#kernel.shmall/' /etc/sysctl.conf
sed -i 's/kernel.shmmax/\#kernel.shmmax/' /etc/sysctl.conf
sed -i 's/kernel.shmmni/\#kernel.shmmni/' /etc/sysctl.conf
sed -i 's/kernel.sem/\#kernel.sem/' /etc/sysctl.conf
sed -i 's/net.ipv4.ip_local_port_range/\#net.ipv4.ip_local_port_range/' /etc/sysctl.conf
sed -i 's/net.core.rmem_default/\#net.core.rmem_default/' /etc/sysctl.conf
sed -i 's/net.core.rmem_max/\#net.core.rmem_max/' /etc/sysctl.conf
sed -i 's/net.core.wmem_default/\#net.core.wmem_default/' /etc/sysctl.conf
sed -i 's/net.core.wmem_max/\#net.core.wmem_max/' /etc/sysctl.conf
sed -i 's/vm.hugetlb_shm_group/\#vm.hugetlb_shm_group/' /etc/sysctl.conf


echo '
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 5368709123
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
vm.hugetlb_shm_group=501
'&>>/etc/sysctl.conf
sysctl -p

#echo "请将磁盘分区挂在到/opt/下"
mkdir /opt/oracle
chown -R oracle:oinstall /opt/oracle/
chmod -R 777 /opt/oracle/
sudo mkdir /opt/tmp
sudo chmod a+wr /opt/tmp/

echo '
umask 022
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2/db_1
export ORACLE_SID=orcl
export LANG=zh_CN.UTF-8
#export NLS_LANG=”AMERICAN_AMERICA”.ZHS16GBK(不可用)
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=:0.0
'&>>/home/oracle/.bash_profile
ls | grep zysong.ttf
if [ $? != 0 ];then
echo -e "\e[1;31m 没有发现字体包!请将字体放入/home下! zysong.ttf \e[0m"
read -p "!!!"
fi

mkdir -p /usr/share/fonts/zh_CN/TrueType
cp -pr /home/zysong.ttf /usr/share/fonts/zh_CN/TrueType/
chmod o+r /usr/share/fonts/zh_CN/TrueType/zysong.ttf

echo '

session required /lib/security/pam_limits.so
session required pam_limits.so

'&>>/etc/pam.d/login

echo '

#Oracle 一些用户限制
oracle soft nproc 8192
oracle hard nproc 16384
oracle soft nofile 32768
oracle hard nofile 65536
oracle soft stack 10240
'&>>/etc/security/limits.conf


echo '

if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi


unset i
unset -f pathmunge

'&>>/etc/profile
ulimit -u 16384 -n 65536

echo -e "\e[1;31m 请以oracle用户身份登陆安装ORACLE!环境已经配置完成!\e[0m"
}
function dd_swap(){
local SwapTotal=`grep SwapTotal /proc/meminfo | awk '{ print $2 }'`
local MemTotal=`grep MemTotal /proc/meminfo | awk '{ print $2 }'`
local sm=`bc <<< $MemTotal*2`
if [ $sm -gt $SwapTotal ];then
return 0
else
echo "您的交换分区空间不足!正在帮你创建!将会抽取系统根分区空间!耐心等待!"
if [ $1 = "swap" ];then
dd if=/dev/zero of=/oracle_swap bs=1024M count=$sm
mkswap /oracle_swap
swapon /oracle_swap
if [ $? = 0 ];then
echo ' /oracle_swap swap swap defaults 0 0'&>>/etc/fstab
fi
fi
fi
}
function create_swap(){
echo
}

main
pz

echo -e "\e[1;31m 请插入ORACLE光盘,cp数据到/opt/下 以root身份执行 ’chmod -R 777 /opt‘ \e[0m"
read -p “”
chmod -R 777 /opt
#https://localhost:1158/em

#elfutils-libelf-devel-static pdksh

posted @ 2016-05-25 11:34  Cjwuqidashi丶  阅读(131)  评论(0)    收藏  举报