数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

redhat9,redhatELAS3/1,redatFC1上安装oracle10g


发布日期:2019年04月14日
 
redhat9,redhatELAS3/1,redatFC1上安装oracle10g

本文将指导大家安装以下内容:

Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)

Oracle g () on Red Hat Enterprise Linux Advanced Server (RHELAS)

Oracle g () on Red Hat (RH)

Oracle g () on Red Hat Fedora Core (FC)

从OTN上下载Oracleg for Linux 版

l

下载的文件shipdbcpiogz作如下处理:

如果你是在windows os下载的文件可以通过linux的samba功能直接拷贝shipdbcpiogz至你的linux目录下

做一下CRC (cyclic redundancy check)检查:

$cksum shipdbcpiogz

将shipdbcpiogz放在/tmp下解压shipdbcpiogz

$gunzip shipdbcpiogz

得到Disk这样的目录这就是oracleg For Linux的安装文件

===========

再做以下检查:

$grep MemTotal /proc/meminfo

检查swap空间的大小

$grep SwapTotal /proc/meminfo

请确保你的swap大小为内存的倍左右这样对于oracle的安装和使用有好处否则在建立资料库时会出问题我的内存为g 我的swap设为G

如果你安装linux时预先没有设定swap至足够大请照如下设定执行

$su root

#dd if=/dev/zero of=tmpswap bs=k count=

#chmod tmpswap

#mkswap tmpswap

#swapon tmpswap

=======

安装Oracle Universal Installer 需要在/tmp下至少 MB 的自由空间

检查/tmp:

$df /tmp

如果你在/tmp下没有足够空间 你可以在另一个分区中临时的建立一个tmp目录请看如下做法:

$su root

#mkdir /<AnotherFilesystem>/tmp

#chown rootroot /<AnotherFilesystem>/tmp

#chmod /<AnotherFilesystem>/tmp

#export TEMP=/<AnotherFilesystem> # 被oracle使用

#export TMPDIR=/<AnotherFilesystem> # 用于linux应用程序

当你安装完Oracleg 关闭Oracle并移除临时性的tmp目录如下作法:

$su root

#rmdir /<AnotherFilesystem>/tmp

#unset TEMP

#unset TMPDIR

=====

检查linux上的安装包(RPMS)主要检查与compatgcc compatlibstdc++等等兼容性因为在XWINDOWS下安装ORACLEg需要用到窗口api函数接口

检查linux核心RPMS

$uname –a

结果应该是以上的版本才行

检查glibc RPMs

对于RedHat ELAS 需要如下变更

$su – root

#rpm Uvh glibcirpm glibccommonirpm

检查gcc make and binutils RPMs

#rpm q gcc make binutils

查出以下RPMs是否被安装:

对于RHELAS 和RHELAS: make 或以上版本

对于RHELAS and RHELAS: binutils 或以上版本

对于RHELAS: gcc或以上版本

对于RHELAS: gcc或以上版本

RHELAS 系统中 make和binutils RPMs 已经被安装然而 还有以下一些RPMs 需要安装你能在RHELAS安装碟中的第个找到这些RPMs当然也可以下载新版的来装

$su root

#rpm Uvh gccirpm

glibcdevelirpm

glibcheadersirpm

glibckernheadersirpm

RHELAS系统中RedHat Advanced Server安装中如果你没有选择Software Development 将不会安装binutils 和gcc的RPMs为了满足oracle安装对于xwindows的需要相依性需要执行以下指令

$su root

#rpm ivh gccirpm

binutilsirpm

cppirpm

glibcdevelirpm

kernelheaderseirpm

RH系统中 make RPM 已经被安装 还有以下包需要再装请注意oracle不支持在RH上安装你应该努力去找到一些合适的RPM 以下需安装的包请先在你的RH的CD中找找如没有可以在中搜索到

$su root

#rpm Uvh gccirpm

glibcdevelirpm

cppirpm

glibckernheadersirpm

binutilsirpm

FC系统中 make RPM 已经被安装 还有以下包需要再装 注意FC的情况与RH类似都不被ORACLE支持 你应该努力去找到一些合适的RPM 以下需安装的包请先在你的RH的CD中找找如没有可以在中搜索到

$su root

#rpm Uvh gccirpm

glibcdevelirpm

cppirpm

glibcheadersirpm

glibckernheadersirpm

binutilsirpm

检查openmotif RPM

$rpm q openmotif (开放软体基金会的图形介面相关于linux下的Directx)

(以下各个文件请在RH的安装CD中找或去搜索我试过基本都能找到)

RHELAS 如果没有安装openmotif 请执行

$su root

#rpm ivh openmotifirpm (或更新版本)

RHELAS 如果没有安装openmotif 请执行

$su root

#rpm ivh openmotifirpm

RH 请执行

$su root

#rpm Uvh openmotifirpm

FC 请执行

$su root

#rpm Uvh openmotifirpm

检查setarch RPM

RHELAS 执行以下指令查核是否为setarch RPM 或更新版本:

#rpm q setarch

setarch是RHEL的一个新功能 用于模拟一个GB 的虚拟地址空间以允许如此的应用程式能够正常运作假如没有安装请执行:

$su root

#rpm Uvh setarchirpm

RHELAS 和RH 不需要setarch RPM

对于FC 虽然用不到它也请执行:

$su root

#rpm Uvh setarchirpm

检查redhatrelease RPM

查出redhatrelease RPM 是否被安装:

$rpm q redhatrelease

这个RPM对于RHEL系列的LINUX很重要因为它将用于ORACLE的安装认证 没有这个包 Oracleg 将会认定该OS不被支持

对RHELAS 请执行(在RHELAS disk 中可找到此RPM):

$su root

#rpm ivh redhatreleaseASirpm

对 RHELAS 请执行(在RHELAS disk 中可找到此RPM):

$su root

#rpm ivh redhatreleaseasASnoarchrpm

但是对于RH 和FC 你只要编辑一下/etc/redhatrelease 这个文件就行了

$su root

#cp /etc/redhatrelease /etc/redhatreleasebackup

#cat > /etc/redhatrelease << EOF

#Red Hat Enterprise Linux AS release (Taroon)

#EOF

记得安装完Oracleg要还原该文件内容:

$su root

#cp /etc/redhatreleasebackup /etc/redhatrelease

好了做完以上的準备工作我们该开始令人激动的Oracelg安装! 安装前我们还需设定一下与Oracle相关的内核参数

先看看所有内核参数:

$su root

#sysctl a

安装执行指令在/tmp/Disk我们不建议直接执行

runInstaller ignoreSysPrereqs

对于Oracleg 需要设定为以下参数值可以设定更大一点的值:

查核结果可执行右边括号中内容

shmmax = (cat /proc/sys/kernel/shmmax)

这意味着系统的共享内存达到G这是不合适的一般SHMMAX的设置可略大于本机内存配置

事实上缺省安装的RedHat 核心运行Oracle 是没有问题的一般情况下可不对这些参数作出调整

如确需调整在完成修改后要按文档要求重生成核心并用lilo命令指定用新的核心进行引导

shmmni = (cat /proc/sys/kernel/shmmni)

shmall = (cat /proc/sys/kernel/shmall)

shmmin = (ipcs lm |grep min seg size)

shmseg = (被硬编码在kernel中缺省值更高)

semmsl = (cat /proc/sys/kernel/sem | awk {print $})

semmns = (cat /proc/sys/kernel/sem | awk {print $})

semopm = (cat /proc/sys/kernel/sem | awk {print $})

semmni = (cat /proc/sys/kernel/sem | awk {print $})

filemax = (cat /proc/sys/fs/filemax)

ip_local_port_range =

(cat /proc/sys/net/ipv/ip_local_port_range)

NOTE: Do not change the value of any kernel parameter on a system where it is already higher than listed as minimum requirement

On RHELAS RHELAS RH and on FC I had to increase the kernel parameters shmmax semopm and filemax to meet the minimum requirement

Oracle also recommends to set the local port range ip_local_port_range for outgoing messages to which is needed for highusage systems This kernel parameter defines the local port range for TCP and UDP traffic to choose from

I added the following lines to the /etc/nf file which is used during the boot process:

kernelshmmax=

kernelsem=

fsfilemax=

netipvip_local_port_range=

Adding these lines to the /etc/nf file will cause the system to change these kernel parameters after each boot using the /etc/rcd/rcsysinit script which is invoked by /etc/inittab But in order that these new added lines or settings in /etc/nf become effective immediately execute the following command:

su root

sysctl p

For more information on shmmax shmmni shmmin shmseg and shmall see Setting Shared Memory

For more information on semmsl semmni semmns and semopm see Setting Semaphores

For more information on filemax see Setting File Handles

<在/oracle//bin/dbshut 加入>

##自动关闭Listner

if [ f $ORACLE_HOME/bin/lsnrctl ] ; then

$ORACLE_HOME/bin/lsnrctl stop

fi

##自动关闭Oracle Apache Jserv

if [ f $ORACLE_HOME/Apache/Apache/bin/httpdsctl ] ; then

$ORACLE_HOME/Apache/Apache/bin/httpdsctl stop

fi

完成后请测试

$/oracle//bin/dbstart

$/oracle//bin/dbshut

开机自动启动 Oracle

请将oracleg这个script cp至/etc/rcd/initd

$cp oracleg /etc/rcd/initd

再加入开机服务程序中

#chkconfig add oracleg

#linuxconf

用linuxconf即可控制启动的层次

************

***oracleg 执行档

#!/bin/sh

#

# chkconfig:

# description: starts the oracle dabase de

#

echo Oracle g auto start/stop

ORA_OWNER=oracle

ORA_HOME=/oracle//db

case $ in

start)

echo n Starting Oracleg:

su $ORA_OWNER c $ORA_HOME/bin/dbstart

touch /var/lock/subsys/oracleg

echo

;;

stop)

echo n Shutting Oracleg:

su $ORA_OWNER c $ORA_HOME/bin/dbshut

rm f /var/lock/subsys/oracleg

echo

restart)

echo n Restarting Oracleg:

$ stop

$ start

echo

;;

*)

echo Usage: oracleg {start | stop | restart }

exit

esac

exit

               

上一篇:OracleDatabase12g将不支持裸设备

下一篇:oracle设置环境变量脚本