花了一天半的时间终于把RHEL5.5及oracle10g的安装搞定了,安装过程中碰到了N多的波折,包括RHEL5安装,打系统补丁包,解决oracle10g安装过程中的居多问题,整个过程让我有点晕头转向,不禁想起windows带给我们的美好世界,特记录下linux下的整个安装流程,防止遗忘。
安装过程中参考了好友写的一篇文档,原文如下:http://kyle. /post/1626/458512,参照他的过程安装还是出现很多的问题,其中有些地方不是很全,这可能跟RHEL的版本有关,我是RHEL5.5 x64的,我对其中的细节进行了修改和调整,内容如下:一.RHEL5安装前须知1.RHEL5不支持串口硬盘(SATA硬盘),shit,居然不支持SATA2.为了能够顺畅的运行oracle10g,要求物理内存2G以上,swap>2G。
/tmp设置1G以上。
3.由上可知,分区需要采用自定义方式。
交换空间(swap)一般设置为物理内存容量的1~2倍,物理内存越大相应的swap一般设置倍数就较小,例如1G内存设置swap为2G,4G内存设置swap为6G。
swap(相当于windows的虚拟内存)并不是越大越好,太大了,也用不了,建议封顶8G。
4.RHEL5通用安装号:6efd911e6fea5d91,2515dd4e215225dd5.使用的RHEL版本为RedHat.Enterprise.Linux.5.5二.RHEL5的安装和配置的注意事项1.服务器上安装RHEL5,一般不需要服务器自带的引导盘启动加载驱动程序,可以直接插入RHEL5光盘即可顺利安装。
2.语言选择:简体中文(便于后面的描述,当然可以选择英文)3.设置磁盘分区:选择定制,swap 设置2G以上且为物理内存的1~2倍,/boot设置100M以上,/tmp设置1G以上,为oracle10g设置/oracle分配6G以上(视应用设置,例如4G用于oracle软件,3G用于数据库,10G用于存放备份),/var设置1G以上,一般将分配剩余的空间给/home4.网络设置:使用静态IP,启用IPV4,禁止DHCP,禁止IPV6,输入主机名(可为域名),IP地址,子网掩码,网关,DNS。
5.软件包安装(关键):选择定制,安装oracle10g的必需的系统组件清单如下,强调说明,这里没选好,后面安装oracle10g前检查环境打rpm包会打的你晕头转向:桌面环境→GNOME桌面环境应用程序→图形化互联网、基于文本的互联网、编辑器开发→开发工具、开发库、老的软件开发服务器→服务器配置工具基本系统→X窗口系统、基本、管理工具、系统工具、老的软件支持,一般这里全选6.配置防火墙:要么禁用,要么至少设置ssh(22端口)和1521端口(oracle默认监听端口)通过7.SELinux:禁用8.RHEL5对英文字母大小写是区分的,这点在安装完打开终端输命令的时候要注意。
9. 安装oracle10g前需要更新系统补丁包,打包过程如下:⑴.插入第1张安装盘mount /dev/cdrom /opt/cdromcd /opt/cdrom/Serverrpm -Uvh setarch-2*rpm -Uvh make-3*rpm -Uvh glibc-2*rpm -Uvh libaio-0*rpm -Uvh libaio-devel-0.3.106-5.i386.rpmcd /umount -l /opt/cdromeject(网上的资料这个rpm包没有说明,结果数据库安装过程中报+ORA-12547: TNS:los t contact错误,打上这个包后启动电脑,重新安装oracle就OK了,)⑵.插入第2张安装盘mount /dev/cdrom /opt/cdromcd /opt/cdrom/Serverrpm -Uvh compat-libstdc++-33-3*rpm -Uvh compat-gcc-34-3*rpm -Uvh compat-gcc-34-c++-3*rpm -Uvh gcc-4*rpm -Uvh libXp-1*cd /umount -l /opt/cdromeject⑶.插入第3张安装盘mount /dev/cdrom /opt/cdromcd /opt/cdrom/Serverrpm -Uvh openmotif-2*rpm -Uvh compat-db-4*rpm -ivh openmotif-2.3.0-0.3.el5.x86_64.rpmcd /umount -l /opt/cdromeject备注:购买正版的RHEL5是三张光盘,rpm包分别在三张光盘中,我是网上下载的RHE L5,一张光盘就搞定三.Oracle10g的安装和配置注意事项1.Root身份下通过lsb_release -a检查linux版本,修改/etc/redhat-release文件的版本号为4,oracle10g支持最高RHEL4版本,安装前会检测,可在安装完oracle1 0g后修改回来。
2.Root身份下修改/etc/hosts文件里的127.0.0.1为你机器的静态IP,oracle10g 安装过程中会检测。
3.Root身份下往/etc/sysctl.conf文件追加(vi命令)以下内容,注意空格的存在:kernel.shmmni=4096kernel.sem=250 32000 100 128fs.file-max=65536net.ipv4.ip_local_port_range=1024 65000net.core.rmem_default=4194304net.core.wmem_default=262144net.core.rmem_max=4194304net.core.wmem_max=262144保存后使用/sbin/sysctl -p命令使设置生效。
4.Root身份下创建oracle用户和组并为oracle用户设置密码,打开终端输入以下命令:/usr/sbin/groupadd oinstall/usr/sbin/groupadd dba/usr/sbin/useradd -m -g oinstall -G dba oraclepasswd oracle5.Root身份下打开终端创建存放数据库的文件夹并授权:mkdir -p /oracle/databasechown -R oracle:oinstall /oraclechmod -R 775 /oracle6.Oracle10g建议对每个linux 帐户可以使用的进程数和打开的文件数设置限制,那么我们需要用root身份修改(使用vi命令)4个文件:⑴往/etc/security/limits.conf文件里追加以下内容:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536⑵往/etc/pam.d/login文件里追加以下内容:session required /lib/security/pam_limits.so⑶往/etc/profile文件里追加以下内容:if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fiumask 022fi⑷往/etc/csh.login文件里追加以下内容:if ( $USER == "oracle" ) thenlimit maxproc 16384limit descriptors 65536umask 022endif7.切换到oracle帐户下(su oracle),往~/.bash_profile文件里追加环境参数:export LANG="en_SU.UTF-8"export NLS_LANG="Simplified Chinese_china".ZHS16GBK(设置oracl e字符集)export ORACLE_BASE=/oracle/export ORACLE_HOME=/oracle/product/10gexport ORACLE_SID=kms(kms可设置为你想定义的其他数据库实例名)export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin (PATH本来就有,这边追加内容)保存后使用source ~/.bash_profile命令使设置生效。
注意括号里的内容为注释,不可照抄到~/.bash_profile文件里。
8.至此,我们已经将oracle10g所需要的所有RHEL5环境都设置好了。
9.下面开始安装oracle10g。
⑴root身份下将oracle10g安装光盘里的database文件夹复制到硬盘,例如复制到/opt目录里,将光盘放入光驱:mkdir -p /mnt/dvdmount /dev/cdrom /mnt/dvdcp -r /mnt/dvd/database/ /opt注意复制好了进入/opt/database文件夹使用chmod -R a+x *命令授权。
⑵用oracle身份进入/opt/database文件夹下,使用以下命令安装,注意字母大小写敏感:./runInstaller⑶选择Advanced Installation来定制安装。
⑷数据库ORACLE_HOME设置为/oracle/product/10g⑸因为前面的配置,我们设置ORACLE_SID=kms(kms可设置为你想定义的其他数据库实例名)⑹数据库选择存放在/oracle/database文件夹⑺数据库字符集选Simplified Chinese ZHS16GBK⑻安装过程中需要你用root身份根据提示执行两个sh脚本。
⑼其他无说明的步骤采用默认设置即可。
四.验证1.用oracle帐户登录2.在终端里打入lsnrctl start 启动监听3.在终端里打入sqlplus "/ as sysdba"进入sqlplus4.SQL状态里startup启动数据库我按照上面的安装后验证不通过,最好查阅了tnsnames.ora文件,发现端口为null,我修改成1521,查阅tnsnames.ora文件,发现端口也为null,修改成1521,另外客户端连接的时候也报ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务错误,我在listener.ora文件中加入(SID_DESC =(GLOBAL_DBNAME = jam)(ORACLE_HOME = /oracle/product/10g)(SID_NAME = jam)) 后解决问题,现在我把修改后的listener.ora和tnsnames.ora内容贴出来listener.ora文件:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /oracle/product/10g)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = jam)(ORACLE_HOME = /oracle/product/10g)(SID_NAME = jam)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521)) ))tnsnames.ora文件:JAM =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = jam)))LISTENER_JAM =(ADDRESS = (PROTOCOL = TCP)(HOST = jam)(PORT = 1521))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))五.开启oracle10g的开机自动启动服务(以下都用root身份修改)1.打开终端执行vi /etc/oratab,把orcl:/opt/oracle/oracle/product/10g:N这一行最后的N改成Y,保存退出。