深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

在Linux下安装Oracle


March 25,2004
由于Oracle自身比较复杂,在Linux环境下安装要涉及很多方面的因素。本文分两个方面介绍在Linux RedHat 6.0环境下Oracle 8.0.5的安装。

一、调整Linux核心与环境

在安装Oracle之前,应该先对RedHat 6.0的Linux内核与环境进行调整,要做以下工作:

1、在完成RedHat 6.0 Linux的缺省安装后,需要安装以下软件包。

kernel -source -2.2.5 -15.1386.rpm
Linux 2.2.5内核源码,主要用于修改核心参数后重生成内核。
tcl -8.0.4 -29.1386.rpm

该软件包是安装Oracle Intelligent Agent包所必需的。
Compat -binutils -5.2-2.9.0.23.1.1386.rpm
Compat -glibc -5.2-2.0.7.2.1386.rpm
Compat -egcs -5.2 -1.0.3a.1.1381.rpm
Compat -egcs -C++ -5.2 -1/0/3a.1.1386.rpm
Compat -libs -5.2 -1.1386.rpm

2、调整Linux核心参数

根据Oracle 8.0.5对Linux核心内存参数的要求,可对Linux核心参数进行调整。编辑修改/usr/src/linux/include/asm/shmparam.h文件,修改SHMMAX选项。Oracle推荐使用4294967295,这意味着系统的共享内存达到4G,这是不合适的。一般,SHMMAX的设置可略大于本机内存配置。
事实上,缺省安装的RedHat 6.0核心运行Oracle 8.0.5是没有问题的,一般情况下可不对这些参数作出调整。
如确需调整,在完成修改后,要按文档要求重生成核心,并用lilo命令指定用新的核心进行引导。

3、增加用户,创建安装目录

Oracle安装与运行需要创建一个属于dba组的Oracle用户,同时要创建一个属主为Oracle用户的安装点目录,例如/u0/oracle,并指定该目录为Oracle用户的缺省主目录。
为了设置Oracle用户的运行环境,在Oracle用户的主目录下要建立一个脚本文件,用于在以Oracle用户登录进自动设置环境变量。该脚本文件的命名与用户所使用的shell有关(在etc/passwd文件中定义)。如采用bash,则脚本文件是.bash_profile;如采用sh,则脚本文件名为.profile。以bash为例,在脚本文件.bash_profile中输入以下内容:

#ORACLE_HOME指定Oracle的安装目录
ORACLE_HOME=/u0/oracle; export ORACLE_HOME
#LD_LIBRARY_PATH指定Oracle的共享库目录
LD_LIBRARY_PATH=$ORACLE_HOME /lib;export LD_LIBRARY_PATH
ORACLE_BASE=$ORACLE_HOME; export ORACLE_BASE
#ORACLE_SID指定Oracle数据库实例名,Oracle建议小于或等于4个字符
ORACLE_SID=BROS;export ORACLE_SID
#ORACLE_TERM Oracle用户的终端类型
ORACLE_TERM=ansi; export ORACLE_TERM
PATH=$PATH: $ORACLE_HOME /bin; export PATH
#TMPDIR指定临时目录,Oracle要求至少20M的空间
TMPDIR=/var/tmp;export TMPDIR
umask 022
退出登录后,再以Oracle用户登录,测试环境变量是否符合要求。

二、安装Oracle

Oracle的安装可采用光盘或指定安装路径的方式。
对用Oracle for linux光盘来安装的,应执行以下命令:

mount -t iso9660 /dev/cdrom /home/Oracle

安装光盘介质。正常情况下,CDROM应安装在/mnt/cdrom目录下。
对指定原始安装路径安装的,应事先将压缩档案文件805ship.tgz解压缩到一个临时目录,如/home/Oracle,使用命令:

gunzip - c 805ship.tgz| tar xvf -

假设使用指定原始安装路径/home/Oracle,在该目录下执行:

cd orainst
sh oratab.sh

oratab.sh命令的主要目的是创建/etc/oratab。

由于RedHat 6.0使用的是glibc 2.0,因此在RedHat 6.0环境下安装Oracle 8.0.5需打补丁。方法是:卸载位于ftp.Oracle.com站点的/pub/www/otn/linux/glibcpatch.tgz文件,在完成Oracle基本系统安装后,对$ORACLE_HOME/bin目录下的执行程序进行修正。

做完上述工作后,即可以开始Oracle基本系统的安装。

1、进入/home/Oracle目录;

2、执行./orainst /c;

3、选择Custom安装。

根据提示进行以下选择:
Install,Upgrade or De -instal software
Install new product -DO NOTCREAT DB Objects。这一步非常重要,由于安装包中的执行程序与blibc2.0不兼容,因此,在打补丁前,无法启动Oracle引擎来创建数据库对象。
按照上述步骤招待完退出后,系统应提示:
Result:Success

4、对Oracle执行程序进行glibc修正。步骤如下:

* 建立$ORACLE_HOME/orapatch目录;
* 将glibcpatch.tgz拷贝至主目录;
* 执行tar -xvzf glibcpatch.tgz;
* 执行sh glibcpatch.sh。
完成 补丁程序安装后,要重新运行Oracle的安装程序,步骤如下:
* cd orainst;
* 执行orainst /c;
* 进行custom安装。
根据提示进行以下选择:
Create/upgrade Database objects
Create Database objicts
Oracle 8 Standard RDBMS 8.0.5.0.0
Create product DB Objicts
Filisystem -bases Database
直至提示:Rusult:Success

5、执行后安装处理

* 以Oracle用户登录;
* 执行su -p root,输入root用户密码;
* cd orainst;
* 执行sh root.sh;
* 编辑修改 /etc/oratab文件。
找到Oracle -SID指示行,如:
$BROS: /u0/Oracle:N
修改为:
$BROS: /u0/Oracle:Y
以允许Oracle服务器自启动。
*修改TNS相关的文件权限:
chown oracle.dba $ORACLE_HOME/bin/tnslsnr
chmod 750 $ORACLE_HOME/bin/tnslsnr
chown oracle.dba $ORACE_HOME/network/log
chmod 775 $ORACLE_HOME/network/log
chown root.dba $ORACLE_HOME/network/log/listener.log
chmod 664 $ORACLE_HOME/network/log/listener.log
至此,安装基本完成。

[原文发表在《计算机世界》2000年第14期上,作者是河北省任丘石油设计院(062552)李文龙([email protected] )]
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved