ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Enterprise Linux 5 X86-64上安装Oracle11.2

Enterprise Linux 5 X86-64上安装Oracle11.2

原创 Linux操作系统 作者:yangtingkun 时间:2009-09-03 23:33:32 0 删除 编辑

昨天下载了11.2 for Linux X86-64版本的Oracle,今天尝试安装一下,也算尝尝鲜。

 

 

首先检查硬件是否满足安装需求。

Oracle11.2需要至少1G的物理内存;当内存小于2G时,SWAP大小应该是内存的1.5倍,内存小于16GSWAP和内存大小相等即可,如果内存大于16GSWAP保证16G空间即可。

[root@bjtest ~]# grep MemTotal /proc/meminfo
MemTotal:     16418944 kB
[root@bjtest ~]# grep SwapTotal /proc/meminfo
SwapTotal:     8385888 kB

内存16GSWAP分区8G,虽然SWAP不满足Oracle推荐的值,但是对于测试环境来说足够用了。

如果使用11g的新特性自动内存管理MEMORY_TARGET,则要求检查共享内存:

[root@bjtest ~]# df -h /dev/shm
Filesystem            Size  Used Avail Use% Mounted on
tmpfs                 7.9G     0  7.9G   0% /dev/shm

数据库启动时指定的MEMORY_TARGET参数不能超过这个设置。

检查操作系统架构:

[root@bjtest ~]# uname -m
x86_64

检查磁盘空间,确保/tmp1G以上空间:

[root@bjtest ~]# df -k /tmp
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda5             20315812    176344  19090828   1% /tmp

检查软件和数据库安装空间,软件需要将近4G的空间,而数据库至少需要将近2G的空间,不过对于数据库环境来说,空间一般都不是问题:

[root@bjtest ~]# df -k /data
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda7            1023246840 710161448 260268896  74% /data

检查操作系统情况,对于64Linux环境,需要Oracle Enterprise Linux 5 Update 2

[root@bjtest ~]# more /etc/issue
Enterprise Linux Enterprise Linux Server release 5 (Carthage)
Kernel \r on an \m

[root@bjtest ~]# cat /proc/version
Linux version 2.6.18-8.el5xen (mockbuild@ca-build14) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Tue Jun 5 23:53:34 EDT 2007

当前的版本应该是Enterprise Linux 5 update 1,不知道如果不满足Oracle的安装条件是否能够安装成功。

检查系统内核版本,Linux 5需要2.18以上的内核:

[root@bjtest ~]# uname -r
2.6.18-8.el5xen

然后需要检查下列的包是否已经安装:

binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
unixODBC-2.2.11
unixODBC-2.2.11 (32 bit)
unixODBC-devel-2.2.11
unixODBC-devel-2.2.11 (32 bit)

检查发现libaio-devel对应的两个包,以及unixODBC对应的4个包没有安装,而且剩下的包中有大部分都比要求的版本低。由于操作系统本身版本就比要求的低,光安装这些包的高版本也没有多大意义,不如直接尝试一下,不行的话,重装操作系统。

下面需要创建oracle用户和oinstalldba组,这些与其他版本的安装没有任何的区别,这里就不重复介绍了。

对于Oracle安装来说,基本上已经不需要设置什么环境变量了,大部分环境变量的内容都可以在安装的时候指定,除了DISPLAY信息。

和其他版本的安装过程一样,设置一些操作系统的限制。

更改/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     pam_limits.so

编辑/etc/sysctl.conf文件,增加下面的内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

为了避免重启数据库服务器,可以通过sysctl –p命令来设置系统内核变量:

[root@bjtest ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

下面建立安装Oracle所需的$ORACLE_HOME$ORACLE_BASE,以及Oracle数据文件所需的路径,然后就可以开始安装了。

安装使用VNC图形方式,因此DISPLAY变量设置为服务器本身IPVNC的端口,以root登陆后执行xhost +,然后切换到oracle用户,执行runInstaller开始安装过程。

11gr2的安装和以前版本还是有不少差别的,值得一提的是,数据库的安装过程借鉴了RAC安装过程,会前期进行硬件和软件的检查,并将可能导致问题的地方列表。有些问题,比如系统参数设置,Oracle的安装程序甚至可以直接修正。

前面已经提到了的所有问题,Oracle的安装程序都监测了出来。只能选择IGNORE ALL,硬着头皮上了。

本以为会在编译或链接的时候报错,没想到安装完成了。

root执行root.sh脚本:

[root@bjtest ~]# /data/oracle/product/11.2/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /data/oracle/product/11.2

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

居然顺利完成,如果说当时SWAP分区不满足要求,我还确信安装可以成功,那么发现当前的Linux不是update 2的时候,我已经认为安装多半会失败,等到发现那么多需要的包没有安装的时候,我已经只是抱着试试看的想法,没有想到的是,最后居然成功了,真是没有天理。

下面利用DBCA建库,这个过程和以前版本比较类似,就不描述了。

最后登陆数据库,检查版本:

[oracle@bjtest ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9 3 23:37:20 2009

Copyright (c) 1982, 2009, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE    11.2.0.1.0      Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production

 

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-613948/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10406245