/ 中存储网

Red Hat Enterprise 5系统安装Oracle11g数据库

2014-12-28 20:12:43 来源:中存储网

虚拟机我装的是VMware Server1.08.虚拟机的设置不说了,基本我是保持默认的,注意以下几点
1.内存大小设置为1GB,不过我后来进Linux系统中查内存大小,才939M.
2.网络.如果你是能连接互联网的,那么选择桥接模式吧.如果你不能连互联网,确又想有网络连上虚拟机,那么选择Host-only模式,选完后,将网上邻居打开,选本地连接,高级,internet 连接共享,勾上允许其他网络用户通过此计算机的Internet连接来连接,家庭网络连接框中填VMware Network Adapter VMnet1.
保存设置就可以了。

Red Hat Linux的安装就不说了,基本我是保持默认的,注意以下几点
1.设置IP的时候取消DHCP选项,手工设置的IP,子网掩码、网关和DNS
2.不设置防火墙
3.Enable SELinux 禁用
4.自定义软件包的时候,最好软件包全部选择,不然有可能会出现错误的!

装好linux系统启动后会有2个错误
1.Applying Intel Microcode update: FATAL: Module microcode not found. ERROR: Module microcode does not exist in /proc/modules [FAILED]
看看官方的解释:
这些信息是/etc/init.d/microcode_ctl初始化脚本在执行modprobe microcode命令加载Intel 32位架构CPU的Microcode更新驱动到内核的时候产生的。
红帽企业linux把这个设备的驱动编译成模块。但是这个静态模块在插入Xen内核的时候会产生项目的错误。这些错误是正常的,可以忽略。这个错误是正常的, 但是每次启动总看着闹心, 反正这个服务也无法启动,可以考虑关闭.
执行:chkconfig microcode_ctl off
service microcode_ctl  stop
2.Starting sendmail:make: ***Warning: File 'sendmail.cf' has modification time in the future (2004-07-27 07:53:56 > 2004-07-27 03:09:39.029378)
出现这个错误的原因是sendmail.cf的创建时间比当前系统时间较快,由于要生成新的sendmail.cf,所以会出现错误提示.更改一下sendmail.cf的时间就应该没问题了.
执行:cd /etc/mail
touch *

重点来介绍Oracle的安装,主要是以下几点
1.首先检查Ftp是否安装好了,如果没有装好就使用rpm -Uvh ftp-0.17-33.fc6 进行安装,
[root@Yuan tmp]# rpm -q ftp
ftp-0.17-33.fc6

2.使用FileZilla.exe之类的Ftp软件将Database11g传到虚拟机Linux系统的一个目录中,执行unzip packageName.zip执行解压.

3.检查内存及交换区
安装Oracle11g的需要物理内存的大小为1GB
当内存为256-512M的时候  交换分区大小应该为内存2倍
                512-2G的时候    交换分区大小应该为内存1.5倍
                2-8G            交换分区大小和内存相同
                8G以上          交换分区是内存大小的0.75倍
[root@Yuan tmp]# free -m
             total       used       free     shared    buffers     cached
Mem:           939        474        465                 46        330
-/+ buffers/cache:         96        843
Swap:         2047               2047

我给虚拟机设置内存1024M,但是在Linux里面只有939M,不过没关系,也可以安装

4.检查磁盘空间大小,/TMP大小
Oracle安装  企业版        3.47G
            标准版        3.22G
            自定义(最大)  3.45G

数据文件大小:企业版和标准版需要1.6G的空间来存放数据文件,自定义数据库则需要1.81G./tmp目录至少需要150-200M的空间,由于我没有把/tmp单独进行划分,所以只要我的根分区空间足够,就能满足/tmp为150-200M的需求。所以要装好oracle的预留空间大小是3.47+1.6+0.2=5.1GB,用df -h命令进行检查
[root@Yuan home]# df -h /
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                       13G  5.6G  6.4G  47% /

5.检查linux内核版本
Red Hat Enterprise Linux 4.0:2.69
Red Hat Enterprise Linux 5.0:2.6.18
SUSE 10:2.6.16.21
[root@Yuan mail]# uname -r
2.6.18-8.el5xen

6.检查软件包
[root@Yuan media]# rpm -q binutils compat-libstdc++-33 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 glibc-2.5 glibc-devel-2.5
gcc-4.1.1 gcc-c++-4.1.1 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.1 libstdc++-devel-4.1.1 make sysstat unixODBC-2.2.11   
unixODBC-devel-2.2.11

binutils-2.17.50.0.6-2.el5
package compat-libstdc++-33 is not installed
elfutils-libelf-0.125-3.el5
package elfutils-libelf-devel-0.125 is not installed
glibc-2.5-12
package glibc-devel-2.5 is not installed
package gcc-4.1.1 is not installed
package gcc-c++-4.1.1 is not installed
libaio-0.3.106-3.2
package libaio-devel-0.3.106 is not installed
package libgcc-4.1.1 is not installed
package libstdc++-devel-4.1.1 is not installed
make-3.81-1.1
package sysstat is not installed
package unixODBC-2.2.11 is not installed
package unixODBC-devel-2.2.11 is not installed

有些软件包有依赖  安装的时候会出错误  需要加上 --force --nodeps选项,如下所示
[root@Yuan Server]# rpm -Uvh glibc-devel-2.5-12.i386.rpm
warning: glibc-devel-2.5-12.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
error: Failed dependencies:
        glibc-headers is needed by glibc-devel-2.5-12.i386
        glibc-headers = 2.5-12 is needed by glibc-devel-2.5-12.i386

[root@Yuan Server]# rpm -Uvh glibc-devel-2.5-12.i386.rpm --force --nodeps;
warning: glibc-devel-2.5-12.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:glibc-devel            ########################################### [100%]

7.修改Linux内核参数
可以通过/sbin/sysctl -a |grep shmall来查找对应的内核参数,一般大于下面的值就不需要修改,我的版本需要改的参数就6个
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
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144
用root用户登陆修改/etc/sysctl.conf文件,添加变化的参数值,修改完成后以root身份执行 /sbin/sysctl -p

8.创建安装数据库用户和组
groupadd oinstall 
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

9.创建安装目录并赋予权限
mkdir -p /db/app                                 //创建安装目录
chown -R oracle:oinstall /db/app/   //将目录属主和属组赋给oracle和oinstall
chmod -R 775 /db/app                      //让该目录具有drwxrwxr-x权限

10.添加oracle用户的限制参数,修改/etc/security/limits.conf,在后面添加下列内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

在/etc/pam.d/login文件中添加下列内容
session    required     /lib/security/pam_limits.so

在/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

10.设置oracle用户的环境变量,vi /home/oracle/.bash_profile,添加如下内容
export ORACLE_BASE=/db/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID=Kose
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

用oracle 用户登陆执行 source .bash_profile 让环境变量生效

11.运行./runInstaller,此时会弹出熟悉的界面.在软件安装检测的时候,会出现一个问题,具体错误日志如下
Checking Network Configuration requirements ...
Actual Result: :java.lang.NullPointerException:Exception/Error Occurred
Check complete. The overall result of this check is: Not executed <<<<
Recommendation: Oracle supports installations on systems with DHCP-assigned public IP addresses.  However, the primary network
interface on the system should be configured with a static IP address in order for the Oracle Software to function properly. 
See the Installation Guide for more details on installing the software on systems configured with DHCP.

此时需要修改/etc/hosts,把最后一行的ip地址改为本机的ip地址,我采用的桥接模式,显示的是我互联网的IP地址,改成局域网的IP地址即可执行service network restart重启网络服务 让它生效,再次执行oracle安装检测,全部通过!

安装到100%的时候会弹出一个对话框,告诉你用root账户去执行2个shell脚本
/db/app/oraInventory/orainstRoot.sh
/db/app/oracle/product/11.1.0/db_1/root.sh

12.创建监听服务器
cd /db/app/oracle/product/11.1.0/db_1/bin
./netca

13.创建数据库
cd /db/app/oracle/product/11.1.0/db_1/bin
./dbca

OK 成功完成安装  可以去用sqlplus去测试