在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登录系统并且启动xwindow如果用下表命令输出的值大于或等于建议值请检查项目 命令/方法 建议值
内存 #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 ·compatdb ·compatgcc ·compatgccc++ ·compatlibstdc++ ·compatlibstdc++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 Filesemmslsemmnssemopmsemmni /proc/sys/kernel/semshmall /proc/sys/kernel/shmallshmmax Half the size of physical memory /proc/sys/kernel/shmmaxshmmni /proc/sys/kernel/shmmnifilemax /proc/sys/fs/filemax ip_local_port_range /proc/sys/net/ipv/ip_local_port_range
确保当前的参数值大于或等于上表所列那么怎样查看这些参数值呢?用命令 #/sbin/sysctl –a | grep <参数名>例如查看semmsl用 #/sbin/sysctl a | grep sem余下的与此类似逐个察看这些参数值如果参数值不满足要求就需要修改它们请完成下面这些步骤
a用文本编辑器创建或者编辑/etc/nf文件添加或修改如下的行
kernelshmall = kernelshmmax = kernelshmmni = kernelsem = fsfilemax = netipvip_local_port_range =
b改变当前内核参数的值用命令 #/sbin/sysctl –p 来实现
为了提高在linux系统上运行软件的性能必须对oracle用户设置下列shell 限定
Shell Limit Item in nf Hard LimitMaximum 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/pamd/login 假如它不存在的话
session required /lib/security/pam_limitsso
根据oracle 用户的默认shell对默认 shell startup文件作如下改变如果是Bourne Bash or Korn shell修改环境变量/etc/profile文件如下:
if [ $USER = oracle ]; thenif [ $SHELL = /bin/ksh ]; thenulimit p ulimit n elseulimit u n fifi如果是c shell则环境变量文件 /etc/cshlogin的修改值如下:if ( $USER == oracle ) thenlimit 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
进入安装器(runInstaller)所在的目录 $ cd /tmp 运行安装 $ /mnt/cdrom/runInstaller 依照提示完成整个安装