今天开发部需要安装linux版的ORACLE,原来在虚拟机上装过,现在直接在PC上装出现了好多问题,现在已经解决了。原来的文章还是没有经过实践,郁闷。。。现在把安装好的过程发给大家把,哪里不对请大家指出。
 
一.安装centos 5.0<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一定要安装图形界面,最好不要启动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就可以了

 

在多说一下,在LINUX里整和tomcat和apche

vi /etc/httpd/conf/httpd.conf

在最下面添加

ProxyPass / ajp://127.0.0.1:8009/
ProxyPa***everse / ajp://127.0.0.1:8009/

 

这样就可以了