2009年3月25日星期三

CentOS 5综合服务器安装详记(4)再战Oracle

一.安装centos 5.0
一定要安装图形界面,最好不要启动selinux

二.准备安装的软件:(这个很重要,第一次安装失败就是因为软件包没有打全)
binutils
compat-libstdc++
elfutils-libelf
elfutils-libelf-devel
glibc
glibc-common
glibc-devel
gcc
gcc-c++
libaio
libaio-devel
libgcc
libstdc++
libstdc++-devel
make
sysstat
unixODBC
unixODBC-devel

这些软件直接从安装光盘上找就可以(名字后面的版本没写全,用CENTOS5光盘的就可以正常安装)

三.建立用户和组
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle


四.建立目录和权限
mkdir /oracle
mkdir /oracle/10g
chown -R oracle:oinstall /oracle


五.编辑变量
1.
# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144


2.
# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536


3.
# vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so


4.
# 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

5.
# cd /home/oracle
# vi .bash_profile
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/10g
ORACLE_SID=wilson
PATH=$ORACLE_HOME/bin:$PATH

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH


6.安装libXp
# yum -y install libXp


7.
# vi /etc/redhat-release
将CentOS release 5 (Final) 修改成redhat 4

六.用oracle用户进入linux
进入终端
sh /ORACLE的目录/runInstaller
正常安装就可以,关于权限的错误可以忽略

七.安装后运行
由于安装后ORACLE不可以自动启动,需要手动启动ORACLE,方法有2种。

1.手动启动
su - oracle
export ORACLE_HOME=/oracle安装目录
export ORACLE_SID=sid名字
sqlpuls /nolog
出现
sql> conn sys/密码 as sysdba
sql> startup
sql> exit

cd /oracle目录/bin
./lsnrctl start
应该不会报错了,这下ORACLE就应该完全启动起来了。


2.自动启动,有时候会出问题,不知道怎么回事
第2种需要添加脚本
cd /etc/init.d/
touch oracle
vi oracle
写入:
#!/bin/bash
#
# chkconfig: 2345 80 05
# description: Oracle 10g Server
# /etc/init.d/dbora
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface

export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/10g
export ORACLE_SID=resume
export PATH=$PATHORACLE_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
echo -n "Starting Oracle: "
# su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle

su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
# su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle

su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0

保存退出

直接运行service oracle start就可以了

没有评论:

发表评论