分类: LINUX
2010-09-02 15:45:38
在RedHat 5下安装Oracle 10g详解
必要的硬件 信息检查:
物理内存:512M:
# grep MemTotal /proc/meminfo
交换空间:1.0 GB或者2倍内存大小:
# grep SwapTotal /proc/meminfo
检查完如上各项之后, 应该修改核心参数.执行如下命令:
#vi /etc/sysctl.conf
#注释:
#表示使用root用户操作,$表示使用oracle 用户进行操作.提示符后面的蓝色部分表示需要输入的命令,以下同.
在该文件末尾加入如下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
编辑完之后,保存,执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效.
注:上面kernel.shmmax/kernel.sem等是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
关于这些核心参数的说明在Oracle的官方网站中有很详细的说明.
然后,应该检查一下上面的操作是否正确:
# /sbin/sysctl -a | grep sem
# /sbin/sysctl -a | grep shm
# /sbin/sysctl -a | grep file-max
# /sbin/sysctl -a | grep ip_local_port_range
为Oracle用户设定Shell的限制’
一般来说,出于性能上的考虑,还需要需要进行如下的设定,以便改进Oracle用户的有关 nofile(可打开的文件描述符的最大数)和nproc(单个用户可用的最大进程数量)
# vi /etc/security/limits.conf
# 添加如下的行
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
添加如下的行到/etc/pam.d/login 文件:
session required /lib/security/pam_limits.so
编辑 /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
之后,执行$ unlimit 验证一下.
一、 相关软件
环境:RedHat Enterprise Server 5
jdk-1_5_0_15-linux-i586-rpm.bin
oracle10.2.0.1-linux32.zip
其他安装包见文中
------------------------------------------------------------
RedHat Enterprise Server 5
红帽发行的Linux 服务器版最新版,Linux 2.6.18内核
下载地址:
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc1.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc2.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc3.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc4.iso[/url]
[url]ftp://60.232.126.152/os/linux/redhat/rhel5/rhel-5-server-i386-disc5.iso[/url]
更多介绍和下载地址可以查看
[url][/url]
安装序列号:2515dd4e215225dd
jdk-1_5_0_15-linux-i586-rpm.bin
下载地址:[url][/url]
oracle-xe-10.2.0.1-1.0.i386.rpm
Oracle 10g的rpm安装包
下载地址:
[url][/url]
二、 RHEL5介绍
在经历了两次跳票以后, Red Hat于2007年3月14日正式发布了RHEL5. RHEL 5将是Red Hat的商业服务器操作系统版本的第四次重要版本发布, Red Hat酝酿发布RHEL 5已经超过了两年, 主要变化包括Linux内核由2.6.9升级为2.6.18, 支持Xen虚拟化技术, 集群存储等.
RHEL5的版本主要分为Sever和Desktop两个版本。
具体来说,Server版本分为:
· Red Hat Enterprise Linux Advanced Platform - 对应以前的· Red Hat Enterprise Linux AS
· Red Hat Enterprise Linux - 对应以前的Red Hat Enterprise Linux ES
Desktop版本分为:
· Red Hat Enterprise Linux Desktop - 对应以前的Red Hat Desktop
· Red Hat Enterprise Linux Desktop with Workstation option - 对应以前的Red Hat Enterprise
三、 安装JDK(我把需要安装的软件都放在/usr/local下)
下载地址:
# cd /usr/local
# chmod 755 jdk-1_5_0_15-linux-i586.rpm.bin
# ./ jdk-1_5_0_15-linux-i586.rpm.bin
此步完成后,会生成jdk-1_5_0_15-linux-i586.rpm的文件
# chmod +x jdk-1_5_0_15-linux-i586.rpm
# rpm –ivh jdk-1_5_0_15-linux-i586.rpm
此时会出现授权协议,按Enter键接受。默认安装到/usr/java/jdk1.5.0_15
OK,接下来配置环境变量(提供二种方法)
1、修改/etc/proFile文件
一般都不推荐这种方法,因为这样做的话,所有用户的shell都会使用这些环境变量,可能会给系统带来安全性问题。但如果你的计算机仅仅作为开发使用时那就推荐使用这种方法。
# vi /etc/profile
在里面最后位置加入以下
JAVA_HOME=/usr/java/jdk1.5.0_15
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
# source /etc/profile
使修改的配置生效。
2、修改当前用户变量(推荐用此方法)
# cd
# vi .bashrc
然后一样把一下加进去
JAVA_HOME=/usr/java/jdk1.5.0_15
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
验证java的环境变量有没有生效,可以用以下命令查看一下:
# echo $JAVA_HOME (注意大小写,下同)
没问题的话,显示的是/usr/java/jdk1.5.0_15
# echo $PATH
/usr/java/jdk1.5.0_15/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
# echo $CLASSPATH
.:/usr/java/jdk1.5.0_15/lib/dt.jar:/usr/java/jdk1.5.0_15/lib/tools.jar
# java –version
java version "1.5.0_15"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)
Java HotSpot(TM) Server VM (build 1.5.0_15-b04, mixed mode)
如果没有生效,请检查以上配置。或干脆先reboot一下。
环境变量如果ok的话,再来测试JDK是否正常工作。写个测试文件如test.java
# vi test.java
class test
{
public static void main(String[] args)
{
System.out.println("Hi,[url][/url]!");
}
}
保存退出,下面来编译、执行;
# javac test.java
# java test
Hi,[url][/url]!
好了,这样就是正常了。
四、安装Oracle 10g
《在 Linux x86 上安装 Oracle 数据库 10g》地址是:
[url][/url]
1、验证一下系统所需的主要安装包版本:
# rpm -q gcc make binutils openmotif
gcc-4.1.1-52.el5
make-3.81-1.1
binutils-2.17.50.0.6-2.el5
openmotif-2.2.4-0.1
如果显示某个包没有安装的话,请先安装。安装包一般在redhat的安装盘里有(一般在第二张或第三张),如果没有找到的话,可以到官方下载,不过官方下载比较麻烦,给大家推荐个好地方下载:
[url][/url]
这个网站很简单明了,搜索框输入需要包的名称一部分或全部,就搜索出一堆的安装包链接地址,有很多镜像可以选择。
下面举例openmotif的安装,很简单
# cd /usr/local
# rpm –ivh openmotif-2.2.4-0.1.rpm
2、创建 Oracle 组和用户帐户
接下来,创建用于安装和维护 Oracle 10g的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。执行以下命令:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:输密码的时候都是没有回显的,输完就回车就好。
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
4、安装Oracle
由于默认情况下oracle 10g 不支持redhat as 5.0,所以我们需要手动地把redhat的版本临时给改动一下。
#su - root
#cp /etc/redhat-release /etc/redhat-release.backup
#cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF
安装完毕,执行如下操作:
#su - root
#cp /etc/redhat-release.backup /etc/redhat-release
这下就可以真正在开始安装数据库。
# cd /usr/local/database
# ./runInstaller
然后就安装它的提示走,
# /etc/init.d/oracle-xe configure
根据提示设置8080、1521端口,还有sys和system的密码,开机是否启动等。
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to [url][/url]
同样,把环境变量加上去
ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_HOME
方法如上
# reboot
OK,现在用netstat看看8080和1521是否已经监听了。
# netstat –tnl
如果有
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1521 0.0.0.0:* LISTEN
应该就ok了。
Oracle常用几个命令用法
# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl start //启动监听器
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 18-SEP-2007 00:27:51
Copyright (c) 1991, 2005, Oracle. All rights reserved.
TNS-01106: Listener using listener name LISTENER has already been started
然后
# /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl stat
没问题的话,最后会提示
The command completed successfully
其实这里是最容易出错的地方,可能和我一样刚接触oracle的朋友常会在这个地方发难。
这几天我也一直在这里徘徊。如果出错的话,注意查看日志文件,路径是network/log/listener.log。
如果是监听有问题可以查看network/admin/listener.ora和network/admin/tnsnames.ora的配置是否有问题,我装完redhat后,改了计算机名,监听的时候总是报错。但是我改了这2个配置文件里的HOST后还是不能监听,后来郁闷之极干脆重新装了一下redhat就没事了。
至此,在RedHat ES 5下用Tomcat作为jsp引擎和web服务器,数据库为Oracle 10g的jsp环境配置完成。