天天看点

CentOS 5.10安装Oracle 11G R2

操作系统:CentOS 5.10 64位

数据库:Oracle 11G R2(版本号为11.02)

安装操作系统的时候,注意交换分区的大小不得低于2G

1.同步时钟及修改/etc/hosts

yum -y install ntp

ntpdate time.nist.gov

echo "* */2 * * * /sbin/ntpdate time.nist.gov >/dev/null 2>&1" >> /etc/crontab

修改/etc/hosts

将机器名称加入,我这里的是node1,则,可以使用

echo "127.0.0.1 $HOSTNAME" >>/etc/hosts

<a href="http://blog.51cto.com/attachment/201311/160550538.png" target="_blank"></a>

2.关闭服务:

iptables

selinux

portmap

rpc.statd

cupsd

avahi-daemon

sendmail

killall iptables

chkconfig --level 2345 iptables off

killall portmap

chkconfig --level 2345 portmap off

killall avahi-daemon

chkconfig --level 2345 avahi-daemon off

killall sendmail

chkconfig --level 2345 sendmail off

如果是新服务器,可以执行:

for a in `chkconfig --list|grep 3:on|awk '{print $1}'`; do chkconfig $a off;done

for a in sshd crond network syslog messagebus haldaemon; do chkconfig $a on;done

3.安装oracle 11gR2 依赖的组件包

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers libaio-devel libaio libXp libXt compat-libcap1 unzip

/sbin/ldconfig

注意:如果你的系统是CentOS 6以上的话,需要单独安装pdksh

rpm -ivh http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm

如果出错,可能是因为安装了mksh冲突了,rpm -e --nodeps mksh

yum -y install libXt.i686 libXtst.i686 libXp libXp.i686 glibc-devel.i686 libaio-devel.i686 libstdc++.i686 libgcc.i686 compat-libstdc* unixODBC-devel.i686 compat-libstdc++-33.i686

4.调整内核参数

vi /etc/sysctl.conf

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1048842240

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

fs.aio-max-nr = 1048576

#让内核参数生效

sysctl -p

CentOS 6安装Oracle 10G R2在启动数据库的时候

RMAN &gt; startup nomount;

RMAN-04014: startup failed: ORA-27125: unable to create shared memory segment

Linux-x86_64 Error: 1: Operation not permitted

处理过程

$ id oracle

id oracle

uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)

echo "vm.hugetlb_shm_group = 501"&gt;&gt;/etc/sysctl.conf

5.修改limits.conf

vi /etc/security/limits.conf

#oracle settings

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

6.改/etc/pam.d/login

#添加以下内容:

session    required     /lib64/security/pam_limits.so

session    required     pam_limits.so

注意:如果使用的是32位的操作系统,则上面要写成

session    required     /lib/security/pam_limits.so

7.修改/etc/profile

vi /etc/profile

if [ $USER = "oracle" ]; then

  if [ $SHELL = "/bin/ksh" ]; then

     ulimit -p 16384

     ulimit -n 65536

  else

     ulimit -u 16384 -n 65536

  fi

fi

8.改/etc/csh.login

vi /etc/csh.login

#添加以下内容:

if ( $USER == "oracle" ) then

    limit maxproc 16384

    limit deors 65536

endif

9.创建oracle用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle     

mkdir -p /opt/oracle

mkdir -p /opt/oraInventory

mkdir -p /opt/software

chown -R oracle:oinstall /opt/oracle

chown -R oracle:oinstall /opt/software

chown -R oracle:oinstall /opt/oraInventory

10.设置用户环境变量

#su - oracle

$ vi .bash_profile 

ORACLE_SID=luke; export ORACLE_SID

ORACLE_BASE=/opt/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0; export ORACLE_HOME

PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin; export PATH

stty erase ^H

stty kill  ^U

说明:

ORACLE_BASE下是admin和product

ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。

这只是ORACLE自己的定义习惯。ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME=$ORACLE_BASE/product/version

ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。

简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个

全局数据库名用于区别分布式数据库各个不同机器上的实例。

SID用于区别同一台机器上的不同实例,

即一个用于外部区分。

一个用于内部区分。

$source .bash_profile

11.安装oracle

#可以使用winscp上传oracle安装文件到/data/software目录下,并解压

cd /data/software

unzip linux_11gR2_database_1of2.zip

unzip linux_11gR2_database_2of2.zip

xhost +   (这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界面)

xhost + localhost

su - oralce

cd /opt/software/database

$./runInstaller  #(到oracle安装文件所在目录执行该命令)

安装过程省略

12.开机启动设置

#自动启动和关闭数据库实例和监听

vi /opt/oracle/product/11.2.0/db_1/bin/dbstart

ORACLE_HOME_LISTNER=$1

#修改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME

vi /opt/oracle/product/11.2.0/db_1/bin/dbshut

vi /etc/init.d/oracle

#!/bin/sh

# chkconfig: 345 61 61

# description: Oracle 11g AutoRun Services

# /etc/init.d/oracle

#

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=luke

export PATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

    echo "Oracle startup: cannot start"

    exit 1

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

case "$1" in

start)

    # Oracle listener and instance startup

    su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

    echo "Oracle Start Succesful!OK."

    ;;

stop)

    # Oracle listener and instance shutdown

    su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

    echo "Oracle Stop Succesful!OK."

reload|restart)

    $0 stop

    $0 start

*)

    echo $"Usage: `basename $0` {start|stop|reload|reload}"

esac

exit 0

chmod 750 /etc/init.d/oracle

chkconfig --level 345 oracle on

chkconfig --add oracle

#启动oracle

service oracle start

自动启动和关闭 EM

vi /etc/init.d/oraemctl

# /etc/init.d/oraemctl

echo -n $"Starting Oracle EM DB Console:"

su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"

echo "OK"

;;

echo -n $"Stopping Oracle EM DB Console:"

su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"

echo $"Usage: $0 {start|stop}"

chmod 750 /etc/init.d/oraemctl

#启动EM

service oraemctl start

本文转自 rong341233 51CTO博客,原文链接:http://blog.51cto.com/fengwan/1330122