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

  添加用户帐号可以使用useradd 命令(/usr/sbin/useradd),如下:

  useradd -g oinstall -G dba oracle (on redhat)

  useradd -m -g oinstall -G dba oracle (on SUSE)

  上述命令将创建一个oracle用户帐号,其主目录为/home/oracle,作为oinstall中的主要用户组并将它作为dba组的一个成员。

  <4> 为oracle用户配置shell限制:

  除了上述强制性的,还需要完成一些非强制性的任务。主要是提高oracle用户的shell限制,以便可以创建和打开大文件。完成这些工作需要修改/etc/profile文件,提高其中设置的上限。将下列内容添加到/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

  此外,还需要在/etc/security/limits.conf文件加入以下几行内容,以修改单个用户允许使用的进程和文件数目。

  * soft nproc 2047

  * hard nproc 16384

  * soft nofile 1024

  * hard nofile 65536

  最后,再修改/etc/pam.d/login文件,在其中添加下面一行代码:

  sessionrequired/lib/security/pam_limits.so

  这些任务完成以后,准备工作就基本结束了。剩余的任就是创建保存oracle二进制文件和数据文件的目录并设置好oracle的环境,然后就可以开始安装oracle。

  <5> 创建目录结构:

  Oracle安装需要创建3个目录,这3个目录各有不同的用处。

  .oracle base(作为oracle的基本目录)

  .oracle Inventory(用于统一安装程序 oracle universal installer(OUI)

  .oracle home (用于安装某些特定的软件,通常做为oracle base 目录的子目录)

  通常使用/u01、/u02.....作为数据文件的安装点。使用/opt/oracle作为oracle home目录。而oracle的inventory目录则通常为oracle_base/oraInventory.

  典型oracle 10g系统应当具有下面类似的目录结构:

  /opt/oracle:(oracle base目录)

  /opt/oracle/oraInventory:(oracle inventory目录)

  /opt/oracle/product/10.2.0/db_1:(oracle release 10.20的主目录)

  /opt/oracle/product/10.2.0/client_1:(存放客户端软件)

  /u01/app/oracle/oradata/SID:(用于存放指定的系统标识SID的日志或数据文件

  /u02/app/oracle/oradata/SID:(用于存放指定的系统标识SID的数据文件

  <6>设置oracle环境:

  若临时目录没有足够的空间,则应当按以下方式设置Temp和tempdir环境变量:

  temp=/u01/temp

  tmpdir=/u01/temp

  export temp tmpdir

  最后是设置oracle_base和oracle_sid环境变量:

  oracle_base=/opt/oracle

  oracle_SID=orac

  export oracle_base oracle_sid

  mkdir /opt/oracle

  chown -R oracle.oinstall /opt/oracle

  chmod -R 755 /opt/oracle

你可能感兴趣的:(oracle,linux,redhat,gcc,SuSE)