linux下安装oracle 10g
在linux下安装oracle是一件令人生畏的事情,其复杂程度远远超过安装linux操作系统本身。如果能够进行成功的安装oracle,那么同时也就顺便掌握了linux一些技术。本文介绍在redhatlinux下安装oracle10g的方法。在这里说明一下,Oracle10g的g是grid的缩写,意为网格,目前较为前沿的网络计算技术。
Oracle10g对软硬件的要求都非常的高,所以要玩转的话的花不少银子。首先来看看它对硬件的要求:内存512兆(建议1G),cpu主频2.0G以上,硬盘转速7200转以上(建议使用scsi硬盘),依此条件,我看买台服务器才行。其次是软件要求:在oracle官方的文档里,对于x86系列支持的操作系统只有3种(radhatES/AS2.1(x86),redhatES/AS3(x86),unitedlinux1.0(x86)),如果只有redhat9也是可以安装的,不过要麻烦一点点。当然oracle10g需要更多的软件模块才能进行安装,这些软件模块我将在后面逐一说明。在本例中,使用RedHatES3(x86)作为操作平台,并且安装了xwindow。
接下来,我们检查是否符合oracle10g的安装要求,以表格的形式列出。首先是硬件情况。以root登录系统,并且启动x-window.如果用下表命令输出的值大于或等于建议值,请
检查项目命令/方法建议值
内存#grepMemTotal/proc/meminfo512MB
交换分区#grepSwapTotal/proc/meminfo1GB
/tmp目录空闲区#df–k/tmp400MB
硬盘空闲空间#df-k4GB
继续往下,检查软件需求。对redhatES3(x86),需要如下的软件包:
·Gnugccpackage,gcc-3.2.3-2or更高
下面的包也必须被安装:·make-3.79·binutils-2.11·openmotif-2.2.2-16·setarch-1.3-1·compat-db-4.0.14.5·compat-gcc-7.3-2.96.122·compat-gcc-c++-7.3-2.96.122·compat-libstdc++-7.3-2.96.122·compat-libstdc++-devel-7.3-2.96.122
为了保证系统满足需求,执行下面的步骤检查安装的linux版本和安装的套件。
检查项目命令/方法建议值
Linux版本#cat/etc/issueES3
已安装的包#rpm-qpackage_name安装所需包(上表所列)
到这里我们已经全面的检查了安装oracle10g所要求的软硬件环境,接着我们就要为安装创建组和用户。
下面的组和用户必须存在
Theoinstallgroup(theoracleinventorygroup)
Thedbagroup(theOSDBAgroup)
Theoracleuser(theoracleowner)
如果上面的组和用户不存在,用下面的步骤创建它们。(1)先查看这些组和用户是否存在:
#grepoinstall/etc/group
#grepdba/etc/group
(2)创建安装oracle所需的组和用户
#groupaddosintall
#groupadddba
#useradd–goinstall–Gdbaoracle检查一下oracle是否属于组oinstall和dba(#idoracle)再给oracle设置一个用户口令#passwdoracle输入两次密码。
创建安装所需的目录/u01/app/oracle(theoraclebasedirectory),/u02/oradata(anoptionaldefaultdirectory),用下表的命令形式创建它.然后改变它的目录权限。
创建目录更改权限
#mkdir–p/u01/app/oracle#chown–Roracle:Oinstall/u01/app/oracle/u02/oradata
#mkdir–p/u02/oradata#chmod–R755/u01/app/oracle/u02/oradata
配置内核参数,下表是oracle推荐的内核参数值,请参考。
ParameterValueFile
semmslsemmnssemopmsemmni25032000100128/proc/sys/kernel/sem
shmall2097152/proc/sys/kernel/shmall
shmmaxHalfthesizeofphysicalmemory/proc/sys/kernel/shmmax
shmmni4096/proc/sys/kernel/shmmni
file-max65536/proc/sys/fs/file-max
ip_local_port_range102465000/proc/sys/net/ipv4/ip_local_port_range
确保当前的参数值大于或等于上表所列。那么怎样查看这些参数值呢?用命令#/sbin/sysctl–a|grep<参数名>,例如查看semmsl,用#/sbin/sysctl-a|grepsem,余下的与此类似。逐个察看这些参数值,如果参数值不满足要求,就需要修改它们。请完成下面这些步骤
a.用文本编辑器,创建或者编辑/etc/sysctl.conf文件,添加或修改如下的行
kernel.shmall=2097152
kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
b.改变当前内核参数的值,用命令#/sbin/sysctl–p来实现。
为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell限定。
ShellLimitIteminlimits.confHardLimit
Maximumnumberofopenfiledescriptorsnofile65536
Maximumnumberofprocessesavailabletoasingleusernproc16384
现在创建这些限定:
1.加入下面的行到文件/etc/security/limits.conf
*softnproc2047
*hardnproc16384
*softnofile1024
*hardnofile65536
2.加入下面的行到文件/etc/pam.d/login,假如它不存在的话
sessionrequired/lib/security/pam_limits.so
3.根据oracle用户的默认shell,对默认shellstart-up文件作如下改变,如果是Bourne,Bash,orKornshell,修改环境变量/etc/profile文件如下:
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
如果是cshell,则环境变量文件/etc/csh.login的修改值如下:
if($USER=="oracle")then
limitmaxproc16384
limitdescriptors65536
endif
接下来挂接光盘,#mount/dev/cdrom/mnt/cdrom。
以oracle用户名登录系统,配置oracle用户的环境。以oracle帐号用安装器来安装oracle,但是开始运行安装器之前,还得设定oracle用户的环境变量,因此必须:
●设置shellstartup文件的umask为022
●设置DISPLAY,ORACLE_BASE,andORACLE_SID的环境变量。下面这些步骤是对这些环境变量进行设置的方法:
1、开启一个终端会话
2、确认xwindow能正常显示。#xhost+
3、改变用户为oracle.$su–oracle
4、检查oracle用户的默认shell.$echo$SHELL
5、用文本编辑器修改oracle用户的环境变量
●bashshellonredhat
$vi.bash_profile
●cshell
%vi.login
6、把下面的行插入上面编辑的文件中
umask022
7、保存文件并退出
8、运行shell开始脚本:
●BashshellonRedHat$../.profile
●Cshell%source./.login
9、设置环境变量
●Bashshell
$ORACLE_BASE=/u01/app/oracle
$ORACLE_SID=sales
$exportORACLE_BASEORACLE_SID
●cshell
%setenvORACLE_BASE/u01/app/oracle
%setenvORACLE_SIDsales
10、确认ORACLE_HOMEandTNS_ADMIN的环境变量不被用户设置
●Bashshell
$unsetORACLE_HOME
$unsetTNS_ADMIN
●cshell
%unsetenvORACLE_HOME
%unsetenvTNS_ADMIN
11、再检验一下上面设定的环境变量是否正确。
$umask
$env|more
哎呀!终于算是完成准备工作了,喝口水,伸伸懒腰。进入安装器(runInstaller)所在的目录$cd/tmp运行安装$/mnt/cdrom/runInstaller,依照提示完成整个安装。