CentOS 5.10安装Oracle 11G R2

wuyuntiandi 2016-01-22

操作系统: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

CentOS 5.10安装Oracle 11G R2

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

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

/sbin/ldconfig

4.调整内核参数
vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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

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
session    required     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/db_1; 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
ORACLE_HOME_LISTNER=$1
#修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME

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
fi

# 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}"
    exit 1
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
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oraemctl
#
# 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"

case "$1" in
start)
echo -n $"Starting Oracle EM DB Console:"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
echo -n $"Stopping Oracle EM DB Console:"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
*)
echo $"Usage: $0 {start|stop}"
esac

chmod 750 /etc/init.d/oraemctl
#启动EM
service oraemctl start

相关推荐