centos5 下用脚本安装oracle10g

提供了一个在CentOS5上自动安装Oracle10g的脚本,包括内存检查、软件依赖安装、SELinux禁用、内核参数修改、用户设置等步骤。脚本适用于多个版本的CentOS5,且会创建oracle用户并设置其密码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是本人写的一个安装oracle10g的安装脚本,已经在CentOS5的各个版本上运行过,没
有问题
使用方法是:
1、把下面的脚本考到一个文件里面,在root用户下运行这个脚本
2、脚本的运行过程中会给出运行提示。如果内存及临时空间检测不满足条件,也没有大的
问题。如果提示需要的软件包没有安装则要手动安装啦(一般相应的系统盘里面就有)

3、脚本运行成功会会给出提示“Oracle install pre-setting finish,please run orac
le installer as user oracle”。本脚本会添加一个oracle的用户,名称是oracle,密码
:000000
4、注销root,登录oracle,然后终端输入:export LANG=en_US.UTF-8
5、运行oracle的安装文件./runInstaller
6、再往下就是GUI界面啦,基本没有大的问题
ps:
不足:
1、没有解决中文乱码的问题,oracle用户是英文界面。
2、依赖的软件包到底有哪些没有搞明白,下面给出来的是个极大集合(没有时间仔细研究
啊,希望高手指点啦)。
3、还有些小的问题.例如 export DISPLAY变量是否必要等。本脚本没有执行,但是我的使用中没有发现问题。

仅供参考。有什么bug,希望高手赐教。

 

#!/bin/bash
#Memory infomation Check
echo Begin Meminfo Check... 
Meminfo=`awk  /MemTotal/{printf("%d",$2)}  /proc/meminfo`
if (( $Meminfo <  524288 ))
then
 echo "Memory Small!"
 #exit 1
else
 echo "Memory Check Succeed!"
fi
SwapMem=`awk  /SwapTotal/{printf("%d",$2)}  /proc/meminfo`
if [[ $SwapMem <  384420 ]]
then
 echo "Swap Memory Small!"
 #exit 1
else
 echo "Swap Memory Check Succeed!"
fi
Tempinfo=`df -h |awk  /tmpfs/{temp=$2;printf("%d",substr(temp,1,length(temp)-1
))} `
if (( $Tempinfo < 400 ))
then
  echo "Temp Memory Small"
  #exit 1
else
  echo "Temp Memory Check Succed!";
fi
echo "Meminfo Check Succed!"


#Soft Dependency Check
echo "Begin Soft Dependency Check..."
for package in gcc libgomp make binutils openmotif setarch compat-db compat-gc
c  compat-gcc-c++ compat-libstdc++ pdksh sysstat xscreensaver libaio 
do
  rpm -q $package >/dev/null
     if (( $? != 0 ))
       then
         echo $package is not installed!
         exit
		 #rpm -ivh "$package*" >/dev/null  
     fi
done
echo "Soft Dependency Check Succed!"
#disable Selinux
setenforce 0

#modify kernel parameters 
echo "Begin modify  kernel parameters..."
cp -r /etc/sysctl.conf /etc/sysctl.conf.save

#save original kernel paramters
sed -i  s/kernel.shmall/#kernel.shall/  /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/fs.file-max/#fs.file.max/  /etc/sysctl.conf
sed -i  s/net.ipv4.ip_local/#net.ipv4.ip_local/  /etc/sysctl.conf
sed -i  s/net.core./#net.core./ /etc/sysctl.conf
#add new parameters
echo "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 
     net.core.rmem_default=262144 
     net.core.rmem_max=262144 
     net.core.wmem_default=262144 
     net.core.wmem_max=262144">>/etc/sysctl.conf  
/sbin/sysctl -p
echo Modified kernel parameter succed!

#Set user shell limit
cp -r /etc/security/limits.conf /etc/security/limits.conf.save
echo Set User Shell Limit
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   

cp -r /etc/pam.d/login /etc/pam.d/login.save
echo session required /lib/security/pam_limits.so >>/etc/pam.d/login

cp -r /etc/profile /etc/profile.save
echo "if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl" >>/etc/profile
source /etc/profile

#modify os version parameter
cp -r /etc/redhat-release /etc/redhat-release.save
echo redhat-3 >/etc/redhat-release

#add user oracle
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
#set password for user oracle
echo "000000" |passwd oracle --stdin > /dev/null 2>&1

#make directory for oracle database
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 755 /u01/app/oracle

cp -r /home/oracle/.bash_profile /home/oracle/.bash_profile.save
echo  export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG= AMERICAN _america.ZHS16GBK
export LANG=en_US.UTF-8
export EDITOR=vi
export LD_LIBRARY_PATH=$ORACLE_HOME/lib >>/home/oracle/.bash_profile

echo "Oracle install pre-setting finish,
      please run oracle installer as user oracle"
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值