来源:
ChinaUnix博客 作者:
ChinaUnix博客 发布时间:2007-01-01 18:13:00


#! /bin/bash
echo "#########oracle10G 的一个简单的安装脚本 ##############################"
#
# 为系统添加oracle的用户和用户组
#
groupadd oinstall
groupadd dba
useradd oracle -g oinstall -G dba
# 创建oracle 的安装目录
mkdir -p /opt/oracle/product/10g
mkdir /opt/oracle/database
#改变目录连同其下任何目录,文档的属主为oracle,并设定其权限
chown -R oracle.oinstall /opt/oracle
chmod 775 /opt/oracle/
#
#通过编辑 /home/oracle/.bash_profile文档来配置用户环境变量
echo "############ everoment for oracle################" >> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/opt/oracle" >> /home/oracle/.bash_profile
echo "export ORACLE_HOME=/opt/oracle/product/10g/" >> /home/oracle/.bash_profile
echo "export ORACLE_SID=orcl" >> /home/oracle/.bash_profile
echo "export PATH=$PATH:/tmp/OPatch:$ORACLE_HOME/bin" >> /home/oracle/.bash_profile
echo "export TNS_ADMIN=$ORACLE_HOME/network/admin" >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
echo "export LANG=AMERICAN_AMERICA.ZHS16GBK" >> /home/oracle/.bash_profile
#使 /home/oracle/.bash_profile 文档生效
source /home/oracle/.bash_profile
#
#
#
# 通过编辑 /etc/sysctl.conf文档来修改内核参数
echo "#################################################### " >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
# shmmax内核参数定义单个共享内存段的最大值,假如该参数配置小于Oracle SGA配置,
# 那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。
# 假如没有修改shmmax参数,Oracle在启动过程中就可能会报出以下错误:
##############################################################################
# Starting ORACLE instance (normal)
# Thu Nov 17 09:27:29 2005
# WARNING: EINVAL creating segment of size 0x0000000033400000
# fix shm parameters in /etc/system or equivalent
##############################################################################
#这里我们设为 2G
echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
#单个共享内存段的最小值
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
# kernel.sem中的四个值分别 是指
# 1:SEMMSL(每个用户拥有信号量最大数量),
# 2:SEMMNS(系统信号量最大数量),
# 3:SEMOPM(每次semop系统调用操作数),
# 4:SEMMNI(系统信号量集最小数量)
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
#系统允许同时打开的最大文档数为65536
echo "fs.file-max = 65536" >> /etc/sysctl.conf
# 本地主机在ipv4下可用端口范围
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
#接收网络数据时的一个window 的默认值
# 能够看 http://hi.baidu.com/ptmx/blog/item/1ae6acca45147745f21fe79c.html
#
echo "net.core.rmem_default = 1048576" >> /etc/sysctl.conf
#最大值
echo "net.core.rmem_max = 1048576" >> /etc/sysctl.conf
#发送网络数据时一个window的默认值
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
# 最大值
echo "net.core.wmem_max = 262144" >> /etc/sysctl.conf
# 使/etc/sysctl.conf 文档生效
/sbin/sysctl -p
#这里您能够看 /etc/security/limits.conf文档本身,里面的注释已很周详了,
#看不明白的话,有位前辈说能够翻翻词典,金山,星际译王之类的
echo "##################################################### " >> /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
#能够参见http://blog.chinaunix.net/u/20647/showart.php?id=396889 里面关于pam部分讲的很周详
echo "##################################################### " >> /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 "####################################################################"
echo "配置结束,您能够转换到oracle用户,进入oracle的解压目录运行 oracle的 runinstaller"
本文来自ChinaUnix博客,假如查看原文请点:http://blog.chinaunix.net/u/11989/showart_422320.html
|
还没有关于此文章的相关评论!