在linux下安装0racle10g的艰难之旅

在linux下安装0racle10g的艰难之旅,第1张

在linux下安装oracle是一件令人生畏的事情 其复杂程度远远超过安装linux *** 作系统本身 如果能够进行成功的安装oracle 那么同时也就顺便掌握了linux一些技术 本文介绍在redhat linux 下安装oracle g 的方法 在这里说明一 Oracle g的g是grid 的缩写 意为网格 目前较为前沿的网络计算技术

Oracle g 对软硬件的要求都非常的高 所以要玩转的话的花不少银子 首先来看看它对硬件的要求:内存 兆(建议 G) cpu 主频 G以上 硬盘转速 转以上(建议使用scsi硬盘) 依此条件 我看买台服务器才行 其次是软件要求:在oracle 官方的文档里 对于x 系列支持的 *** 作系统只有 种(radhat ES/AS (x ) redhat ES/AS (x ) unitedlinux (x ) ) 如果只有redhat 也是可以安装的 不过要麻烦一点点 当然oracle g需要更多的软件模块才能进行安装 这些软件模块我将在后面逐一说明 在本例中 使用RedHat ES (x )作为 *** 作平台 并且安装了xwindow

接下来 我们检查是否符合oracle g 的安装要求 以表格的形式列出 首先是硬件情况 以root登录系统 并且启动x window 如果用下表命令输出的值大于或等于建议值 请检查项目 命令/方法 建议值

内存 #grep MemTotal /proc/meminfo MB

交换分区 #grep SwapTotal /proc/meminfo GB

/tmp目录空闲区 #df –k /tmp MB

硬盘空闲空间 #df k GB

继续往下 检查软件需求 对redhat ES (x ) 需要如下的软件包:

&# Gnu gcc package gcc or 更高

下面的包也必须被安装:

·make ·binutils ·openmotif ·setarch ·pat db ·pat gcc ·pat gcc c++ ·pat libstdc++ ·pat libstdc++ devel

为了保证系统满足需求 执行下面的步骤检查安装的linux版本和安装的套件

检查项目 命令/方法 建议值

Linux 版本 #cat /etc/issue ES

已安装的包 #rpm q package_name 安装所需包(上表所列)

到这里我们已经全面的检查了安装oracle g所要求的软硬件环境 接着我们就要为安装创建组和用户

下面的组和用户必须存在

The oinstall group (the oracle inventory group) The dba group (the OSDBA group) The oracle user (the oracle owner)

如果上面的组和用户不存在 用下面的步骤创建它们

( )先查看这些组和用户是否存在:

#grep oinstall /etc/group

#grep dba /etc/group

( )创建安装oracle 所需的组和用户

#groupadd oinstall

#groupadd dba

#useradd –g oinstall –G dba oracle

检查一下oracle 是否属于组 oinstall 和 dba (#id oracle) 再给oracle 设置一个用户口令 #passwd oracle 输入两次密码

创建安装所需的目录 /u /app/oracle (the oracle base directory) /u /oradata (an optional default directory ) 用下表的命令形式创建它 然后改变它的目录权限

创建目录 更改权限

#mkdir –p /u /app/oracle #chown –R oracle:Oinstall /u /app/oracle /u /oradata

#mkdir –p /u /oradata #chmod –R /u /app/oracle /u /oradata

配置内核参数 下表是oracle 推荐的内核参数值 请参考

Parameter Value File semmsl semmns semopm semmni /proc/sys/kernel/sem shmall /proc/sys/kernel/shmall shmmax Half the size of physical memory /proc/sys/kernel/shmmax shmmni /proc/sys/kernel/shmmni file max /proc/sys/fs/file max ip_local_port_range /proc/sys/net/ipv /ip_local_port_range

确保当前的参数值大于或等于上表所列 那么怎样查看这些参数值呢?用命令 #/ *** in/sysctl –a | grep <参数名>例如查看semmsl 用 #/ *** in/sysctl a | grep sem 余下的与此类似 逐个察看这些参数值 如果参数值不满足要求 就需要修改它们 请完成下面这些步骤

a 用文本编辑器 创建或者编辑/etc/nf文件 添加或修改如下的行

kernel shmall = kernel shmmax = kernel shmmni = kernel sem = fs file max = net ipv ip_local_port_range =

b 改变当前内核参数的值 用命令 #/ *** in/sysctl –p 来实现

为了提高在linux系统上运行软件的性能 必须对oracle用户设置下列shell 限定

Shell Limit Item in nf Hard Limit Maximum number of open file descriptors nofile Maximum number of processes available to a single user nproc

现在创建这些限定:

加入下面的行到文件/etc/security/nf

* soft nproc * hard nproc * soft nofile * hard nofile

加入下面的行到文件/etc/pam d/login 假如它不存在的话

session required /lib/security/pam_limits so

根据oracle 用户的默认shell 对默认 shell start up文件作如下改变 如果是Bourne Bash or Korn shell 修改环境变量/etc/profile文件如下:

if [ $USER = oracle ]then if [ $SHELL = /bin/ksh ]then ulimit p ulimit n else ulimit u n fi fi 如果是c shell 则环境变量文件 /etc/csh login的修改值如下: if ( $USER == oracle ) then limit maxproc limit descriptors endif

接下来挂接光盘 #mount /dev/cdrom /mnt/cdrom

以oracle 用户名登录系统 配置oracle 用户的环境 以oracle 帐号用安装器来安装oracle 但是开始运行安装器之前 还得设定oracle用户的环境变量 因此必须:

●设置shell startup文件的umask 为

●设置DISPLAY ORACLE_BASE and ORACLE_SID 的环境变量 下面这些步骤是对这些环境变量进行设置的方法:

开启一个终端会话

确认xwindow 能正常显示 #xhost +

改变用户为oracle $ su – oracle

检查oracle用户的默认shell $echo $SHELL

用文本编辑器修改oracle用户的环境变量 

●bash shell on redhat

$vi bash_profile

●c shell

%vi login

把下面的行插入上面编辑的文件中

umask

保存文件并退出

运行shell开始脚本:

●Bash shell on Red Hat $ / profile

●C shell % source / login

设置环境变量

●Bash shell

$ ORACLE_BASE=/u /app/oracle

$ ORACLE_SID=sales

$ export ORACLE_BASE ORACLE_SID

●c shell

% setenv ORACLE_BASE /u /app/oracle

% setenv ORACLE_SID sales

确认ORACLE_HOME and TNS_ADMIN 的环境变量不被用户设置

●Bash shell

$ unset ORACLE_HOME

$ unset TNS_ADMIN

●c shell

% unsetenv ORACLE_HOME

% unsetenv TNS_ADMIN

再检验一下上面设定的环境变量是否正确

$ umask

$ env | more

lishixinzhi/Article/program/Oracle/201311/17635

一台服务器上的一个用户下,可以有多个oracle实例,甚至是多个不同版本的。

可以通过创建不同的环境变量文件,来实现访问不同的实例。

比如,服务器上有10g、11g的实例,那就分别在oracle用户家目录下创建 .10g和 .11g 。里面分别是10g和11g实例所需的环境变量(path、ORACLE_SID/ORACLE_BASE/ORACLE_HOME等),在访问实例前,加载对应的环境变量(通过 ..10g或..11g)后,在就可以访问实例了。

纯手打。。。

echo $ORACLE_HOME 看看

如果是 空的

要配置 环境变量

1 在/etc/profile文件最后添加变量【对所有用户生效(永久的)】

ORACLE_HOME=你的变量

export ORACLE_HOME

注:修改文件后要想马上生效还要运行$ source/etc/profile不然只能在下次重进此用户时生效。

2 在用户目录下的.bash_profile文件最后增加变量【对单一用户生效(永久的)】

ORACLE_HOME=你的变量

export ORACLE_HOME

注:修改文件后要想马上生效还要运行$ source ~/.bash_profile不然只能在下次重进此用户时生效。

.3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

ORACLE_HOME=你的变量

export ORACLE_HOME

 shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11091924.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存