redhat linux 下安装oracle 10g 的艰难之旅
Informix
|
1#
Informix 发表于 2006-12-26 10:25
redhat linux 下安装oracle 10g 的艰难之旅
作者:田逸 (sery@163.com)
在linux下安装oracle是一件令人生畏的事情,其复杂程度远远超过安装linux操作系统本身。如果能够进行成功的安装oracle,那么同时也就顺便掌握了linux一些技术。本文介绍在redhat linux 下安装oracle 10g 的方法。在这里说明一下,oracle 10g的g是grid 的缩写,意为网格,目前较为前沿的网络计算技术。 oracle 10g 对软硬件的要求都非常的高,所以要玩转的话的花不少银子。首先来看看它对硬件的要求:内存512兆(建议1g),cpu 主频2.0g以上,硬盘转速7200转以上(建议使用scsi硬盘),依此条件,我看买台服务器才行。其次是软件要求:在oracle 官方的文档里,对于x86系列支持的操作系统只有3种(radhat es/as 2.1(x86),redhat es/as 3(x86),unitedlinux1.0(x86) ),如果只有redhat 9也是可以安装的,不过要麻烦一点点。当然oracle 10g需要更多的软件模块才能进行安装,这些软件模块我将在后面逐一说明。在本例中,使用redhat es 3(x86)作为操作平台,并且安装了xwindow。 接下来,我们检查是否符合oracle 10g 的安装要求,以表格的形式列出。首先是硬件情况。以root登录系统,并且启动x-window.如果用下表命令输出的值大于或等于建议值,请 检查项目 命令/方法 建议值 内存 #grep memtotal /proc/meminfo 512mb 交换分区 #grep swaptotal /proc/meminfo 1gb /tmp目录空闲区 #df ╟k /tmp 400mb 硬盘空闲空间 #df -k 4gb 继续往下,检查软件需求。对redhat es 3(x86),需要如下的软件包: • gnu gcc package, gcc-3.2.3-2 or 更高 下面的包也必须被安装: • 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/issue es 3 已安装的包 #rpm -q package_name 安装所需包(上表所列) 到这里我们已经全面的检查了安装oracle 10g所要求的软硬件环境,接着我们就要为安装创建组和用户。 下面的组和用户必须存在 the oinstall group (the oracle inventory group) the dba group (the osdba group) the oracle user (the oracle owner) 如果上面的组和用户不存在,用下面的步骤创建它们。(1)先查看这些组和用户是否存在: #grep oinstall /etc/group #grep dba /etc/group (2)创建安装oracle 所需的组和用户 #groupadd oinstall #groupadd dba #useradd ╟g oinstall ╟g dba oracle 检查一下oracle 是否属于组 oinstall 和 dba (#id oracle) 再给oracle 设置一个用户口令 #passwd oracle 输入两次密码。 创建安装所需的目录 /u01/app/oracle (the oracle base directory), /u02/oradata (an opti default directory ),用下表的命令形式创建它.然后改变它的目录权限。 创建目录 更改权限 #mkdir ╟p /u01/app/oracle #chown ╟r oracle:oinstall /u01/app/oracle /u02/oradata #mkdir ╟p /u02/oradata #chmod ╟r 755 /u01/app/oracle /u02/oradata 配置内核参数,下表是oracle 推荐的内核参数值,请参考。 parameter value file semmsl semmns semopm semmni 250 32000 100 128 /proc/sys/kernel/sem shmall 2097152 /proc/sys/kernel/shmall shmmax half the size of physical memory /proc/sys/kernel/shmmax shmmni 4096 /proc/sys/kernel/shmmni file-max 65536 /proc/sys/fs/file-max ip_local_port_range 1024 65000 /proc/sys/net/ipv4/ip_local_port_range 确保当前的参数值大于或等于上表所列。那么怎样查看这些参数值呢?用命令 #/sbin/sysctl ╟a | grep <参数名>,例如查看semmsl,用 #/sbin/sysctl -a | grep sem,余下的与此类似。逐个察看这些参数值,如果参数值不满足要求,就需要修改它们。请完成下面这些步骤 a.用文本编辑器,创建或者编辑/etc/sysctl.c kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 b.改变当前内核参数的值,用命令 #/sbin/sysctl ╟p 来实现。 为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell 限定。 shell limit item in limits.c hard limit maximum number of open file descriptors nofile 65536 maximum number of processes available to a single user nproc 16384 现在创建这些限定: 1. 加入下面的行到文件/etc/security/limits.c * soft nproc 2047 * hard nproc 16384 * soft nofile 1024 * hard nofile 65536 2. 加入下面的行到文件/etc/pam.d/login ,假如它不存在的话 session required /lib/security/pam_limits.so 3.根据oracle 用户的默认shell,对默认 shell start-up文件作如下改变,如果是bourne, bash, or korn shell,修改环境变量/etc/profile文件如下: if [ $user = "oracle" ]; then if [ $shell = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 如果是c shell,则环境变量文件 /etc/csh.login的修改值如下: if ( $user == "oracle" ) then limit maxproc 16384 limit descriptors 65536 endif 接下来挂接光盘,#mount /dev/cdrom /mnt/cdrom 。 以oracle 用户名登录系统,配置oracle 用户的环境。以oracle 帐号用安装器来安装oracle,但是开始运行安装器之前,还得设定oracle用户的环境变量,因此必须: ● 设置shell startup文件的umask 为022 ● 设置display, oracle_base, and oracle_sid 的环境变量。下面这些步骤是对这些环境变量进行设置的方法: 1、 开启一个终端会话 2、 确认xwindow 能正常显示。#xhost + 3、 改变用户为oracle. $ su ╟ oracle 4、 检查oracle用户的默认shell. $echo $shell 5、 用文本编辑器修改oracle用户的环境变量 ●bash shell on redhat $vi .bash_profile ●c shell %vi .login 6、 把下面的行插入上面编辑的文件中 umask 022 7、 保存文件并退出 8、 运行shell开始脚本: ●bash shell on red hat $ . ./.profile ●c shell % source ./.login 9、设置环境变量 ●bash shell $ oracle_base=/u01/app/oracle $ oracle_sid=sales $ export oracle_base oracle_sid ●c shell % setenv oracle_base /u01/app/oracle % setenv oracle_sid sales 10、确认oracle_home and tns_admin 的环境变量不被用户设置 ●bash shell $ unset oracle_home $ unset tns_admin ●c shell % unsetenv oracle_home % unsetenv tns_admin 11、再检验一下上面设定的环境变量是否正确。 $ umask $ env | more 哎呀!终于算是完成准备工作了,喝口水,伸伸懒腰。进入安装器(runinstaller)所在的目录 $ cd /tmp 运行安装 $ /mnt/cdrom/runinstaller ,依照提示完成整个安装。 |