日期:2014-05-16  浏览次数:20582 次

Oacle配置Linux系统

要在Linux上运行Oracle,首先,需要正确安装和配置linux,使得oracle运行时有足够的资源。

  准备工作:要正确地为oracle配置linux,需要进行几个步骤,其中涉及到正确配置Linux的内核参数,有些则与硬件设备的安装有关。如存储器的设置、系统规模的定制等。

  1、1 最低要求:512M物理内存、1GB的交换空间、/tmp至少必须有400MB空间、Oracle数据文件(安装基本的示例数据库至少需要1.2G的空间。

  1、2 配置文件系统:linux文件系统最少可以只有3个分区:但必须有/、swap。在安装过程中通常会创建以下分区:

  /home (用作linux用户的主目录,oracle的用户帐号也创建在/home目录下,但$oracle_home目录通常不存储在这里)

  /tmp(用于存放临时文件,oracle安装会用到这个目录,系统正常工作时也会用它)

  /usr(用于安装程序,但oracle的程序并不安装在这里,而是在$oracle_home目录中。$oracle_home通常设置在/opt目录下)

  /var(存储长度可变的文件夹,如日志文件、脱机打印文件等)

  /usr/local(存储本地程序及配置文件。orcale会存放某些程序,但大部分在$oracle_home目录下)

  /opt(用于安装可选程序。通常$oracle_home目录就在这里)

  如创建RAC群集,还应考虑用于存储数据文件的共享存储体。

  1.3 选择linux组件:

  oracle 10G的初始版本支持以下版本的linux:

  Oracle 10g release1(10.1.0)、Oracle 10g release 2 (10.2.0)对这些发行版本,需要事先安装软件开发包,以便安装gcc编译器和相关的库。如要升级Linux内核,还需要安装内核开发包。

  1、Redhat Linux的软件包:

  开发工具:gcc编译器、Perl、python及调试器等。内核开发:因为安装oracle与升级Linux均需要它

  2、系统+组件:

  系统:Redhat enterprise Linux 3

  组件:gcc-3.2.3-2

  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

  openmotif-2.2.2-16

  setarch-1.3-1

  Oracle 10R2所需的系统组件:

  系统+组件:

  系统:Redhat enterprise Linux 3

  组件:make-3.79.1

  gcc-2.3.2-95.20

  glibc-2.3.2-95.20

  compat-db-4.0.14-5

  compat-gcc-7.3-2.96.128

  compat-gcc-c++-7.3-2.96.128

  compat-libstdc++-7.3-2.96.128

  openmotif21-2.1.30-8

  setarch-1.3-1

  安装前:

  2.1 配置内核参数:修改内核参数的方法有好几种,比如可通过修改/proc伪文件系统的方法动态地修改内核参数。Linux需要配置的参数包括信号量、共享内存、可同时打开的最大文件数以及端口号的范围。信号量参数全部保存在/proc/sys/kernel/sem文件中,分别是semmsl、semmns、semopm和semmni.这些参数的配置必须达到下面的最低标准:

  参数 值 描述

  semmsl 250 每一个ID的最大信号量数目

  semmns 32000 系统中信号量的最大数目(》=semmni*semmsl)

  semopm 100 每次信号量调用的最大操作次数

  semmni 128 信号量标识符的最大数目

  SGA的大小由/proc/sys/kernel/shmall、/proc/sys/kernel/shmmax和/proc/sys/kernel/shmmni等文件中的共享内存参数决定,这些文件描述如下:

  参数 值 描述

  shmall 297152 系统共享内存页面的最大数目

  shmmax 内存容量的1/2 共享内存的最大尺寸

  shmmni 4096 系统共享内存段的最大数目

  除此而外,需要设置的参数还包括/proc/sys/fs/file-max、/proc/sys/net/ipv4/ip_local_port_range,描述如下:

  参数 值 描述

  /proc/sys/fs/file-max 65536 Linux分配的最大文件句柄数目

  /proc/sys/net/ipv4 1024-6500 IP端口的范围(1024~4999 default,只允许3975个向外的连接,但这不够oracle的使用)

  ip_local_port_range

  <1>、使用/proc伪文件系统配置内核参数

  如查看当前SHMMAX( Maxinum shared memory size)参数的值,可以输入:cat /proc/sys/kernel/shmmax

  修改SHMMAX,只须将新的参数值写入/proc/sys/kernel/shmmax伪文件就ok.如下所示:

  echo 2147483648>/proc/sys/kernel/shmmax。它将共享内存的大小设置为2147483648bytes,即2G,已经足够安装oracle 10G。对于32位,要以创建2.7G的SGA。

每次启动时均自动执行上述命令,可以将它们写入/etc/rc.local文件,该文件的shell脚本为:

  # configuration parameters for oracle

  echo "250 32000 100 128">/proc/sys/kernel/sem

  echo "2097152">/proc/sys/kernel/shmall

  echo "2147483648">/proc/sys/kernel/shmmax

  echo "4096">/proc/sys/kernel/shmmni

  echo "65536">/proc/fs/file-max

  echo "1024 65000">/proc/net/ipv4/ip_local_port_range

  <2>使用/etc/sysctl.config文件配置内核参数

  可将参数写入/etc/sysctl.config文件,就可以在系统启动时设置内核参数。/etc/sysctl.config文件中包含/proc目录下的文件及其值。如下所示:

  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

  可运行/sbin/sysctl-p程序载入这些数据,并检查这些参数的设置是否正确。默认情况下,redhat linux启动时会读取这个文件,对于suse linux,则可以使用以下命令的激活该文件:

  /sbin/chkconfig boot.sysctl on

  <3> 添加用户及用户组:

  安装oracle之前,还要为oracle创建用户帐号。Oracle的帐号必须属于oinstall用户组,且必须为dba组的成员。用户组通过groupad(/usr/sbin/groupadd)命令添加:

  groupadd oinstall

  groupadd dba