zhengfeng2100 发表于 2011-12-22 08:54

Red Hat Enterprise Linux 5安装Oracle(10g/11g)

<div><strong>一、安装系统</strong></div>
<blockquote>
<div>首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样。</div>
<div>其实Linux系统的swap分区大小设置是很有讲究的,如果哪位读者有兴趣,可以参考我的另外一篇文章——《<a href="http://commandos.blog.51cto.com/154976/115288" target="_blank" target="_blank">如何合理设置Linux系统的swap分区大小</a>》。</div></blockquote>
<blockquote>
<div>在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。</div>
<div>为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作</div></blockquote>
<div><strong>二、安装Oracle前的系统准备工作</strong></div>
<blockquote>
<div><strong>1.检查需要的软件包</strong></div>
<div>可以使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:</div>
<div>&nbsp; From RedHat AS5 Disk 1(32 Bit)</div>
<div>&nbsp; # rpm -Uvh setarch-2* <br>&nbsp; # rpm -Uvh make-3* <br>&nbsp; # rpm -Uvh glibc-2* <br>&nbsp; # rpm -Uvh libaio-0*</div>
<div>&nbsp; From RedHat AS5 Disk 2(32 Bit)</div>
<div>&nbsp; # rpm -Uvh compat-libstdc -33-3* <br>&nbsp; # rpm -Uvh compat-gcc-34-3* <br>&nbsp; # rpm -Uvh compat-gcc-34-c -3* <br>&nbsp; # rpm -Uvh gcc-4* <br>&nbsp; # rpm -Uvh libXp-1*</div>
<div>&nbsp; From RedHat AS5 Disk 3(32 Bit)</div>
<div>&nbsp; # rpm -Uvh openmotif-2* <br>&nbsp; # rpm -Uvh compat-db-4*</div>
<div>如果使用DVD安装介质的话,会很方便。<br><br></div>
<div><strong>2.修改Linux发行版本信息</strong></div>
<div>由于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle
10g并没有对RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持RedHat
Enterprise Linux 5。</div>
<div><em><strong>方法一:</strong></em></div>
<div>我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5。</div>
<div>编辑/etc/redhat-release文件</div>
<div># vi /etc/redhat-release</div>
<div>将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)</div>
<div><em><strong>方法二:</strong></em></div>
<div>还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:</div>
<div># vi install/oraparam.ini</div>
<div>在其中的Certified Versions段落增加redhat-5</div>
<div># <br>Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]</div>
<div>再添加 <br> <br>TEMP_SPACE=80 <br>SWAP_SPACE=150 <br>MIN_DISPLAY_COLORS=256</div>
<div>经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。<br><br></div>
<div><strong>3.修改系统内核参数</strong></div>
<div># vi /etc/sysctl.conf</div>
<div>kernel.shmall = 2097152&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>//&nbsp;
该参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改<br>kernel.shmmax =
2147483648&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>//&nbsp;
该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G <br>kernel.shmmni = 4096 <br>//&nbsp; 这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改 <br>kernel.sem = 250 32000 100 128&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;//&nbsp; 表示设置的信号量 <br>fs.file-max = 65536&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>//&nbsp; 表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量 <br>net.ipv4.ip_local_port_range = 1024 65000 <br>net.core.rmem_default=262144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 默认的接收窗口大小 <br>net.core.rmem_max=262144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 接收窗口的最大大小 <br>net.core.wmem_default=262144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 默认的发送窗口大小 <br>net.core.wmem_max=262144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 发送窗口的最大大小</div>
<div>修改好内核参数后,执行如下命令使新的设置生效</div>
<div># /sbin/sysctl -p<br><br></div>
<div><strong>4.创建Oracle用户、组、安装目录</strong></div>
<div>在这里我只讨论单主机环境,不考虑RAC环境的配置,在以后我会专门写一篇如何配置Oracle RAC环境的文章。</div>
<div>(1) 创建Oracle用户组</div>
<div># groupadd oinstall <br># groupadd dba</div>
<div>(2) 创建Oracle用户</div>
<div># useradd -m -g oinstall -G dba oracle</div>
<div>(3) 设置Oracle用户口令</div>
<div># passwd oracle</div>
<div>(4) 创建Oracle安装目录以及数据存放目录</div>
<div># mkdir -p /DBSoftware/app/oracle <br># mkdir -p /DBData/oradata</div>
<div>(5) 修改目录权限</div>
<div># chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/ <br># chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/<br><br></div>
<div><strong>5.添加以下内容到/etc/security/limits.conf</strong></div>
<div># vi /etc/security/limits.conf</div>
<div>oracle soft nproc 2047 <br>oracle hard nproc 16384 <br>oracle soft nofile 1024 <br>oracle hard nofile 65536<br><br></div>
<div><strong>6.添加以下内容到/etc/pam.d/login</strong></div>
<div># vi /etc/pam.d/login</div>
<div>session required /lib/security/pam_limits.so <br>session required pam_limits.so<br><br></div>
<div><strong>7.添加以下内容到/etc/profile</strong></div>
<div># vi /etc/profile</div>
<div>if [ $USER = "oracle" ]; then <br>&nbsp;&nbsp;&nbsp; if [ $SHELL = "/bin/ksh" ]; then <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ulimit -p 16384 <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ulimit -n 65536 <br>&nbsp;&nbsp;&nbsp; else <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ulimit -u 16384 -n 65536 <br>&nbsp;&nbsp;&nbsp; fi <br>fi</div>
<div><strong>8.配置Linux主机</strong></div>
<div>检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。</div>
<div><strong>9.配置oracle用户环境变量</strong></div>
<div># su - oracle <br>$ vi ~/.bash_profile</div>
<div>增加如下内容:</div>
<div>export ORACLE_BASE=/DBSoftware/app/oracle&nbsp;&nbsp; // 上面创建的Oracle安装文件夹 <br>export ORACLE_SID=orcl <br>export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1</div>
<div>export PATH=$PATH:$ORACLE_HOME/bin <br>export LD_LIBARY_PATH=$ORACLE_HOME/lib</div>
<div>export PATH <br>umask 022</div>
<div>保存后使用如下命令,使设置生效:</div>
<div>$ source ~/.bash_profile</div></blockquote>
<div><strong>三、安装Oracle,并进行相关设置</strong></div>
<blockquote>
<div><strong>1.解压缩安装文件</strong></div>
<div>Oracle的安装包有这样几种格式:</div>
<div>(1) zip</div>
<div>这种格式最好解压缩,直接使用命令unzip 文件名即可</div>
<div>(2) cpio.gz</div>
<div>这种格式有这样几种解压缩方式</div>
<div>a.&nbsp; # zcat XXXX.cpio.gz | cpio -idmv <br>b.&nbsp; # gunzip XXXX.cpio.gz解压出XXXX.cpio文件然后再 # cpio -idvm &amp;lt; XXXX.cpio</div>
<div>解压缩完成后,设置oracle帐户可以操作安装文件所在的目录</div>
<div>chown -R oracle:oinstall 安装文件所在目录</div>
<div><strong>2. 用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:</strong></div>
<div>$ ./runInstaller</div>
<div>如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:</div>
<div># export DISPLAY=:0.0 <br># xhost + <br>$ ./runInstaller</div>
<div>出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。</div>
<div>安装过程中,需要使用root权限执行两个脚本。</div>
<div><strong>3. 安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)</strong></div>
<div><strong>4.创建监听以及创建数据库</strong></div>
<div>(1) 创建监听程序</div>
<div>使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听</div>
<div>$ netca</div>
<div>基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号</div>
<div>TNS监听创建完成后可以使用如下命令进行检查:</div>
<div># netstat -atln&nbsp;&nbsp;&nbsp; 检查监听端口是否打开 <br>$ lsnrctl status&nbsp;&nbsp;&nbsp; 检查TNS监听状态</div>
<div>确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:</div>
<div>$ dbca</div>
<div>在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。</div></blockquote>
<div><strong>四、数据库的启动脚本(转载自<a href="http://82584.blog.51cto.com/72584/110131" target="_blank" target="_blank">http://82584.blog.51cto.com/72584/110131</a>)</strong></div>
<blockquote>
<div># vi /etc/rc.d/init.d/oracle</div>
<div>================================ Script File Start ================================ <br></div>
<div>#!/bin/bash <br># <br># chkconfig: 35 95 1 <br># description: init script to start/stop oracle database 10g, TNS listener, EMS <br># match these values to your environment:</div>
<div>export ORACLE_BASE=/DBSoftware/app/oracle <br>export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1</div>
<div>export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH <br>export ORACLE_SID=orcl <br>export ORACLE_USER=oracle</div>
<div># see how we are called: <br>case $1 in <br>&nbsp;&nbsp;&nbsp; start) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; su - "$ORACLE_USER"&amp;lt;&amp;lt;EOO <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsnrctl start <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlplus /nolog&amp;lt;&amp;lt;EOS <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connect / as sysdba <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; startup <br>&nbsp;&nbsp;&nbsp; EOS <br>&nbsp;&nbsp;&nbsp; emctl start dbconsole <br>&nbsp;&nbsp;&nbsp; EOO <br>&nbsp;&nbsp;&nbsp; touch /var/lock/subsys/$scriptname <br>&nbsp;&nbsp;&nbsp; ;; <br>&nbsp;&nbsp;&nbsp; stop) <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; su - "$ORACLE_USER"&amp;lt;&amp;lt;EOO <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lsnrctl stop <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sqlplus /nolog&amp;lt;&amp;lt;EOS <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; connect / as sysdba <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; shutdown immediate <br>&nbsp;&nbsp;&nbsp; EOS <br>&nbsp;&nbsp;&nbsp; emctl stop dbconsole <br>&nbsp;&nbsp;&nbsp; EOO <br>&nbsp;&nbsp;&nbsp; rm -f /var/lock/subsys/scriptname <br>&nbsp;&nbsp;&nbsp; ;; <br>*) <br>echo "Usage: $0 {start|stop}" <br>;; <br>esac</div>
<div>================================ Script File End ================================</div>
<div>授权 :chown root.root /etc/rc.d/init.d/oracle</div>
<div>修改文件属性:chmod 755 /etc/rc.d/init.d/oracle</div>
<div>以后启动/关闭Oracle可以使用如下命令操作:</div>
<div># service oracle start&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 启动监听、数据库以及em <br># service oracle stop&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp; 关闭监听、数据库以及em</div>
<div>当然你也可以把Oracle作为系统服务,随系统启动等等。</div></blockquote>
页: [1]
查看完整版本: Red Hat Enterprise Linux 5安装Oracle(10g/11g)