在Linux下安装Oracle
来源:asp之家 发布时间:2010-07-30 12:46:00
由于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
至此,安装基本完成。


猜你喜欢
- 基于smtplib包制作而成,但在实践中发现一个不知道算不算是smtplib留的一个坑,在网络断开的情况下发送邮件时会抛出一个socket.
- #-*- coding:utf-8 -*-import osif __name__ == '__main__':
- 举例如下: 数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4
- 本文实例讲述了Python HTML解析器BeautifulSoup用法。分享给大家供大家参考,具体如下:BeautifulSoup简介我们
- 在使用Python多年以后,我偶然发现了一些我们过去不知道的功能和特性。一些可以说是非常有用,但却没有充分利用。考虑到这一点,我编辑了一些你
- JavaScript组件打包模式js组件通常带着css image ,但这样使用起来可能会有些小麻烦,为了让组件足够的solo,有了把css
- 导语哈喽!大家好,我是栗子,感谢大家的支持!新的一天,新气象,程序猿们的日常开始敲敲敲,改改改——今
- 废话不多说,我就直接上代码让大家看看吧!#!/usr/bin/env python# -*- coding: utf-8 -*-# @Fil
- pandas是什么?是它吗?。。。。很显然pandas没有这个家伙那么可爱。。。。我们来看看pandas的官网是怎么来定义自己的:panda
- 这篇文章主要介绍了Python遍历字典方式就实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友
- 前言JavaScript中一共有3种用来声明变量的关键字,分别是var、let和const。其中var关键字是ES5时代的产物,由于ES5对
- 问题现象: 当向mysql5.5插入中文时,会出现类似错误 ERROR 1366 (HY000): Incorrect string val
- 我们可以利用err对象来判断。当程序没有出现错误就说明已经执行了sql操作: sql="insert into
- 这篇博客将介绍使用Python,OpenCV获取、更改像素,修改图像通道,截取图像感兴趣ROI;单通道图,BGR三通道图,四通道透明图,不透
- 首先预览一下 PyCharm 在实际应用中的界面:(更改了PyCharm的默认风格)安装首先去下载最新的pycharm 2.7.3,进行安装
- wed的打印方法具我自己懂得知道的有: 1、JQuery插件Jqprint实现 2、JQery打印插件PrintArea实现网页打印 3、C
- function.js<!--function getObject(objectId) { &nbs
- 本文实例为大家分享了python实现飞机大战的具体代码,供大家参考,具体内容如下初学Python,写了一个简单的Python小游戏。师出bi
- 本文实例讲述了PHP5.6读写excel表格文件操作。分享给大家供大家参考,具体如下:测试环境:php5.6.24.这块没啥兼容问题。需要更
- asp网站程序在国内运用很广,但是类似于im286.asp?id=20050307213811这样的url有点不利于搜索引擎的收录,也就是说